vmstat 监控虚拟内存,进程,CPU

文章目录

  • 1. 命令格式:
  • 2. 命令功能:
  • 3. 命令参数:
  • 4. 使用实例:
    • 实例1:显示虚拟内存使用情况
    • 实例2:显示活跃和非活跃内存
    • 实例3:查看系统已经fork了多少次
    • 实例4:查看内存使用的详细信息
    • 实例5:查看磁盘的读/写
    • 实例6:查看/dev/sda1磁盘的读/写
    • 实例7:查看系统的slab信息

1. 命令格式:

vmstat[-a] [-n] [-S unit] [delay [ count]]vmstat[-s] [-n] [-S unit]vmstat[-m] [-n] [delay [ count]]vmstat[-d] [-n] [delay [ count]]vmstat[-p disk partition] [-n] [delay [ count]]vmstat[-f]vmstat[-V]

2. 命令功能:

用来显示虚拟内存的信息

3. 命令参数:

-a:显示活跃和非活跃内存-f:显示从系统启动至今的fork数量。-m:显示slabinfo-n:只在开始时显示一次各字段名称。-s:显示内存相关统计信息及多种系统活动数量。delay:刷新时间间隔。如果不指定,只显示一条结果。count:刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷。-d:显示磁盘相关统计信息。-p:显示指定磁盘分区统计信息-S:使用指定单位显示。参数有k 、K 、m 、M ,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024 bytes)-V:显示vmstat版本信息。

这里特别提醒一下,vmstat -S M 可以M为单位显示结果。

4. 使用实例:

实例1:显示虚拟内存使用情况

[root@localhost ~]# vmstat 5 6procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st0  0      0 3029876 199616 690980    0    0     0     2    3    2  0  0 100  0  00  0      0 3029752 199616 690980    0    0     0    41 1009   39  0  0 100  0  00  0      0 3029752 199616 690980    0    0     0     3 1004   36  0  0 100  0  00  0      0 3029752 199616 690980    0    0     0     4 1004   36  0  0 100  0  00  0      0 3029752 199616 690980    0    0     0     6 1003   33  0  0 100  0  0

备注: vmstat 5 5 表示在5秒时间内进行5次采样。将得到一个数据汇总他能够反映真正的系统情况。

字段说明:

Procs(进程):

  • r:运行队列中进程数量
  • b:等待IO的进程数量

Memory(内存):

  • swpd:使用虚拟内存大小
  • free:可用内存大小
  • buff:用作缓冲的内存大小
  • cache:用作缓存的内存大小

Swap:

  • si:每秒从交换区写到内存的大小
  • so:每秒写入交换区的内存大小

IO:(现在的Linux版本块的大小为1024bytes)

  • bi:每秒读取的块数
  • bo:每秒写入的块数

系统:

  • in:每秒中断数,包括时钟中断。
  • cs:每秒上下文切换数。

CPU(以百分比表示):

  • us:用户进程执行时间(user time)
  • sy:系统进程执行时间(system time)
  • id:空闲时间(包括IO等待时间),中央处理器的空闲时间 。以百分比表示。
  • wa:等待IO时间

如果 r经常大于 4 ,且id经常少于40,表示cpu的负荷很重。如果pi,po 长期不等于0,表示内存不足。如果disk 经常不等于0, 且 在 b中的队列大于3, 表示 io性能不好。Linux在具有高稳定性、可靠性的同时,具有很好的可伸缩性和扩展性,能够针对不同的应用和硬件环境调整,优化出满足当前应用需要的最佳性能。因此企业在维护Linux系统、进行系统调优时,了解系统性能分析工具是至关重要的。

实例2:显示活跃和非活跃内存

[root@localhost ~]# vmstat -a 2 5procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------r  b   swpd   free  inact active   si   so    bi    bo   in   cs us sy id wa st0  0      0 3029752 387728 513008    0    0     0     2    3    2  0  0 100  0  00  0      0 3029752 387728 513076    0    0     0     0 1005   34  0  0 100  0  00  0      0 3029752 387728 513076    0    0     0    22 1004   36  0  0 100  0  00  0      0 3029752 387728 513076    0    0     0     0 1004   33  0  0 100  0  00  0      0 3029752 387728 513076    0    0     0     0 1003   32  0  0 100  0  0

说明:
使用-a选项显示活跃和非活跃内存时,所显示的内容除增加inact和active外,其他显示内容与例子1相同。

字段说明:

Memory(内存):

  • inact:非活跃内存大小(当使用-a选项时显示)
  • active:活跃的内存大小(当使用-a选项时显示)

实例3:查看系统已经fork了多少次

[root@localhost ~]# vmstat -f185491695 forks

说明:
这个数据是从/proc/stat中的processes字段里取得的

实例4:查看内存使用的详细信息

[root@localhost ~]# vmstat -s7762752 K total memory5004672 K used memory4768064 K active memory1804288 K inactive memory701696 K free memory256 K buffer memory2056128 K swap cache4210624 K total swap3722368 K used swap488256 K free swap469311946 non-nice user cpu ticks99144 nice user cpu ticks99670890 system cpu ticks4925007753 idle cpu ticks12343718 IO-wait cpu ticks8466593 IRQ cpu ticks13803091 softirq cpu ticks0 stolen cpu ticks5662895521 pages paged in15048048233 pages paged out4048809 pages swapped in4429446 pages swapped out1490479026 interrupts548089045 CPU context switches1692347746 boot time185494909 forks

说明:
这些信息的分别来自于/proc/meminfo,/proc/stat和/proc/vmstat。

实例5:查看磁盘的读/写

[root@localhost ~]# vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO------total merged sectors      ms  total merged sectors      ms    cur    sec
vda   42493047 656210 11325792811 123390927 220328801 205076734 30096299395 1474852836      0  97159
sr0        0      0       0       0      0      0       0       0      0      0
dm-0  39111004      0 10807439693 109761070 420980531      0 30457533198 2271224580      0 290945
dm-1  4048861      0 518255488 20795930 4429446      0 566969088 35204700      0  12535
dm-2      19      0    2688       0      0      0       0       0      0      0

说明:
这些信息主要来自于/proc/diskstats.
merged:表示一次来自于合并的写/读请求,一般系统会把多个连接/邻近的读/写请求合并到一起来操作.

实例6:查看/dev/sda1磁盘的读/写

[root@localhost ~]# vmstat -p /dev/vda1
vda1            reads      read sectors      writes  requested writes115             14601           1                 1

说明:
这些信息主要来自于/proc/diskstats。

  • reads:来自于这个分区的读的次数。
  • readsectors:来自于这个分区的读扇区的次数。
  • writes:来自于这个分区的写的次数。
  • requestedwrites:来自于这个分区的写请求次数。

实例7:查看系统的slab信息

[root@localhost ~]# vmstat -m
Cache                       Num  Total   Size  Pages
nf_conntrack_expect           0      0    248    264
nf_conntrack               2491   4284    320    204
ovl_inode                  4320   4590    728     90
fat_inode_cache             249    249    784     83
fat_cache                     0      0     40   1638
scsi_sense_cache           2560   2560    128    512
ip6_dst_cache               204    204    320    204
PINGv6                        0      0   1344     48
RAWv6                       432    432   1344     48
UDPv6                       176    176   1472     44
tw_sock_TCPv6                 0      0    272    240
request_sock_TCPv6            0      0    336    195
TCPv6                       100    100   2560     25
kcopyd_job                    0      0   3312     19
dm_uevent                     0      0   2632     24
bfq_queue                   141    141    464    141
cfq_io_cq                     0      0    120    546
mqueue_inode_cache          272    272    960     68
xfs_dqtrx                     0      0    528    124
xfs_dquot                     0      0    504    130
xfs_bui_item                  0      0    216    303
xfs_rui_item                  0      0    696     94
xfs_rud_item                  0      0    176    372
xfs_inode                  8353  25636    960     68
xfs_efd_item               2220   2664    440    148
xfs_buf_item               1200   2160    272    240
xfs_trans                  7332   7332    232    282
xfs_da_state                544    544    480    136
xfs_btree_cur              1168   1168    224    292
xfs_log_ticket             1781   3916    184    356
ecryptfs_headers              0      0  65536      8
ecryptfs_inode_cache          0      0   1024     64
ecryptfs_dentry_info_cache   8192   8192     32   2048
ecryptfs_file_cache           0      0     16   4096
jbd2_journal_handle           0      0     48   1365
jbd2_journal_head             0      0    120    546
jbd2_revoke_table_s           0      0     16   4096
ext4_inode_cache              0      0   1160     56
ext4_allocation_context       0      0    128    512
ext4_io_end                   0      0     64   1024
ext4_extent_status            0      0     40   1638
mbcache                       0      0     56   1170
fscrypt_info                  0      0     32   2048
fscrypt_ctx                   0      0     80    819
kioctx                      372    372    704     93
Cache                       Num  Total   Size  Pages
userfaultfd_ctx_cache         0      0    192    341
dnotify_struct                0      0     32   2048
dio                           0      0    640    102
ip4-frags                  2730   2730    240    273
secpath_cache              6656   6656    128    512
xfrm_dst_cache             1310   3066    448    146
PING                        644    896   1152     56
RAW                         448    448   1152     56
UDP                         204    204   1280     51
tw_sock_TCP                2160   2160    272    240
request_sock_TCP            780    780    336    195
TCP                         822    832   2432     26
hugetlbfs_inode_cache       388    388    672     97
dquot                         0      0    256    256
eventpoll_pwq              3640   3640     72    910
inotify_inode_mark         3276   3276     80    819
dax_cache                   234    234    832     78
request_queue               264    264   2888     22
blkdev_ioc                 1924   1924    136    481
biovec-max                  576    720   4096     16
biovec-128                  128    128   2048     32
biovec-64                   256    256   1024     64
user_namespace                0      0    576    113
uid_cache                 13610  22506    192    341
iommu_iova                 4096   4096     64   1024
sock_inode_cache           2976   2976    704     93
skbuff_head_cache          4849   4864    256    256
configfs_dir_cache         2728   2728     96    682
file_lock_cache            1308   1308    200    327
net_namespace                80     80   6272     20
shmem_inode_cache          3556   3567    752     87
taskstats                   796    796    328    199
proc_dir_entry             3751   3751    192    341
pde_opener                 6552   6552     40   1638
proc_inode_cache           1960   2730    720     91
sigqueue                   1636   1636    160    409
bdev_cache                  204    204    960     68
kernfs_node_cache         35594  35594    136    481
mnt_cache                  2757   3570    384    170
filp                      22613  26880    256    256
inode_cache                3354   3535    648    101
dentry                    29779  62115    216    303
names_cache                 192    256   4096     16
buffer_head                1890   1890    104    630
uts_namespace               592    592    440    148
Cache                       Num  Total   Size  Pages
vm_area_struct            51834  54327    240    273
mm_struct                   844    952   1152     56
files_cache                1302   1302    704     93
signal_cache                826   1260   1088     60
sighand_cache               488    682   2112     31
task_struct                1517   1664   3904     16
cred_jar                   3069   3069    192    341
thread_stack               1482   1648  16384     16
anon_vma_chain            55999  62464     64   1024
anon_vma                  32953  46128     88    744
pid                        7168   7168    128    512
Acpi-Operand               8190   8190     72    910
Acpi-Parse                 4680   4680     56   1170
Acpi-State                 5733   5733     80    819
Acpi-Namespace             3276   3276     40   1638
shared_policy_node         5460   5460     48   1365
numa_policy               10920  10920     24   2730
pool_workqueue             4609   4864    256    256
radix_tree_node            4944  10304    584    112
task_group                  312    312    832     78
pgd_cache                  1792   1792    512    128
kmalloc-131072               20     20 131072      4
kmalloc-65536               605    656  65536      8
kmalloc-32768                64     64  32768     16
kmalloc-16384               377    432  16384     16
kmalloc-8192                136    208   8192     16
kmalloc-4096                916   1168   4096     16
kmalloc-2048               1520   1600   2048     32
kmalloc-1024               4376   6528   1024     64
kmalloc-512                3002   7040    512    128
kmalloc-256                7797   9216    256    256
kmalloc-128               95988 326656    128    512
kmem_cache_node            2048   2048    128    512
kmem_cache                  512    512    512    128

这组信息来自于/proc/slabinfo。
slab:由于内核会有许多小对象,这些对象构造销毁十分频繁,比如i-node,dentry,这些对象如果每次构建的时候就向内存要一个页(4kb),而其实只有几个字节,这样就会非常浪费,为了解决这个问题,就引入了一种新的机制来处理在同一个页框中如何分配小存储区,而slab可以对小对象进行分配,这样就不用为每一个对象分配页框,从而节省了空间,内核对一些小对象创建析构很频繁,slab对这些小对象进行缓冲,可以重复利用,减少内存分配次数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/660707.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

美籍华裔力学和数学家林家翘

林家翘(1916年7月7日—2013年1月13日),出生于北京,男,原籍福建福州,力学和数学家,美国艺术与科学院院士、美国国家科学院院士、中国科学院外籍院士,麻省理工学院荣誉退休教授 [1]。 …

初始MySQL

一 SQL的基本概述 基本概述 ▶SQL全称: Structured Query Language,是结构化查询语言,用于访问和处理数据库的标准的计算机语言。SQL语言1974年由Boyce和Chamberlin提出,并首先在IBM公司研制的关系数据库系统SystemR上实现。 ▶美国国家标…

【Linux】Linux基本指令

目录 1.ls指令 2.cd指令 3.touch指令 4.mkdir指令 5.rmdir指令和rm指令 5.1rmdir指令 5.2rm指令 6.man指令 7.cp指令 8.mv指令 9.cat指令 10.more指令 && less指令 10.1more指令 10.2less指令 11.head指令 && tail指令 11.1head指令 11.2tai…

第23课 使用FFmpeg将rtmp流再转推到rtmp服务器

通过上节课的学习,我们已经可以正常播放本地rtmp流及mp4文件,这节课,我们将在上节课的基础上实现一个常用的转推功能:读取rtmp流或mp4文件并转推到rtmp服务器上实现直播转发功能。 一、FFmpeg API 转码推流的一般过程 1.引入ffm…

内存泄漏调试 ---- jemalloc的heap profiling

使用jemalloc时,可以通过profiling机制来发现并定位内存泄漏(memory leak)。本文翻译自原文并增加了一些例子。 1、安装 这里我们编译安装jemalloc.5.10,注意在configure的时候添加了–enable-prof选项,这样才能打开profiling机制。下文中通…

Django的request.session缓存的广发用法

前言: 相信同学们在学习PythonWeb开发的时候和我一样会遇到许多问题,今天我这边举几个例子涉及到session缓存的问题,由于当时并没有接触session缓存的技术内容,所以往往头大,一时间不知带如何解决,老师也会…

2401cmake,学习cmake2

步4:安装与测试 现在开始给项目添加安装规则和支持测试. 安装规则 安装规则非常简单:对MathFunctions,想安装库和头文件,对应用,想安装可执行文件和配置头. 所以在MathFunctions/CMakeLists.txt尾添加: install(TARGETS MathFunctions DESTINATION lib) install(FILES Mat…

服务网格(Service Mesh)流行工具

在这篇博客中,我们将介绍微服务的最佳服务网格工具列表,这些工具提供安全性、金丝雀部署、遥测、负载均衡等。 用于部署和操作微服务的服务网格工具的数量不断增加。在这篇文章中,我们将探讨您应该用来构建自己的服务网格架构的顶级服务网格…

【Eclipse平台】2 Eclipse Workbench工作台介绍

Eclipse Workbench工作台介绍 本文介绍Eclipse工作台Workbench。 当工作台启动时,首先看到的是一个对话框,该对话框允许我们选择工作区的位置。工作区是存储工作的目录。现在,只需单击“确定”即可选择默认位置。 选择工作区位置后&#x…

如何访问 Oracle OKE 集群

OKE是Oracle Cloud提供的托管Kubernetes服务,为用户提供强大而灵活的容器编排平台。在本文中,我们将详细介绍如何有效地与OKE集群进行交互,包括访问集群的不同方式、管理访问权限以及执行常见操作的步骤。 1 安装oci命令 1.1 在Oracle Linux…

【gRPC】protoc文件转py文件

以下基于Win系统下Python的venv虚拟环境演示 《Python3笔记之venv虚拟环境》《Python笔记之pip国内镜像修改方法》 在桌面创建个test目录作为项目目录,初始化venv环境后,安装基础依赖: pip install grpcio grpcio-reflection grpcio-tools p…

证券开户怎么联系专属客户经理?新手必看!

证券开户联系专属客户经理的方式有很多,可以通过手机网上找客户经理,现在这种方式是最多的,比如咱们网站都是各大券商专业的客户经理,在线联系就可以帮您安排。您自己也可以挑选自己觉得好的券商和客户经理,然后再沟通…

Backtrader 文档学习- Broker - Trade

Backtrader 文档学习- Broker - Trade 1. 概述 交易的定义: 通过操作持仓从0变为大小为X时(可能为正/负,对于多头/空头头寸),则交易处于开放状态。当持仓从X变为0时,交易关闭。 以下两个操作&#xff1a…

使用Server-Sent Events实现后端主动向前端进行通信

目录 概述 使用 Server-Sent Events (SSE) 示例 1.创建SpringBoot项目添加web依赖,并编写以下代码 2.创建Vue项目并在项目的.vue文件中编写以下代码 效果说明 使用触发的方式向前端传递数据 总结 概述 在典型的前后端分离架构中,前端通过发起 H…

静态HTML引入vue封装组件

在对历史原生html代码使用vue重构项目时,可以利用vue相关组件进行项目优化、实现统一管理,本文结束htmlvue的构建方式,欢迎大家阅读交流。 1、 下载vue.js 可自行到官网下载所需版本或者使用cdn资源 2、封装通用组件 2.1 封装通用实例化m…

MIMIC-IV官方视图解析 - cardiac_marker心脏标记表

今天在学习官方衍生表mimiciv_derived.cardiac_marker心脏标记表时候发现了一些问题: 该表中troponin_t (肌钙蛋白t)的值结果都是空值null 或者 ___ (由于去标识化), 这明显是不合理的 小编查看了该表的官…

MySQL-运维篇-日志

一、错误日志 二、二进制日志 1、介绍 2、日志格式 3、日志查看 4、日志删除 三、查询日志 四、慢查询日志

汽车软件开发模式的5个特点

汽车软件开发属于较为复杂的系统工程,经常让来自不同知识背景的工程师在观点交锋时出现分歧。在解决复杂性和对齐讨论基准时,可以通过勾勒出讨论对象最关键的几个特征来树立典型概念。本文旨在通过5个典型特点的抽取,来勾勒出汽车软件开发模式…

python实现贪吃蛇小游戏(附源码)

文章目录 导入所需的模块坐标主游戏循环模块得分 贪吃蛇小游戏,那个曾经陪伴着00后和90后度过无数欢笑时光的熟悉身影,仿佛是一把打开时光之门的钥匙。它不仅是游戏世界的经典之一,更是我们童年岁月中不可或缺的一部分,一个承载回…

Spring如何进行参数校验

在Java开发中,对输入参数进行校验是一个非常重要的环节,它可以帮助我们避免非法数据对程序造成的影响。Spring框架提供了多种方式进行参数校验,本文将详细介绍如何在Spring中进行参数校验。 一、使用Spring的Validated和Valid注解 Spring提供…