Linux
01.系统维护
CPU
内存
drop_cache为什么有些不释放
swap交换分区
磁盘
lvm磁盘扩容
文件夹加密ecryptfs-utils
linux挂载ISCSI磁盘
创建lvm
fstab挂载文件系统
systemd.mount
存储故障
曲线为目录配置限额
lvm缩容
进程
如何找到某一个正在运行的进程?
CRIU进程快照
网络
TCP连接的10种状态
Ubuntu禁用ipv6
close_wait数量过多阻塞网络连接
IP地址与二进制转换
支持ACME的DNS服务器PowerDNS
系统
CentOS版本及对应默认内核版本
修改shell语言
系统启动流程
cgroup
CentOS7升级内核并开启BBR
配置内核参数优化linux
更新grub2默认启动的内核
CentOS-SCLo源
修改键盘映射
Debian12升级时内核编译错误
timesync(ntp)
内核
drop_caches
软件
更新openssl
GUI
Gnome Workspace Names
02.系统安全
Auditd审计服务配置
ssh登陆免公钥验证
恶意脚本处置
2023挖矿脚本m0nad
为ssh服务添加多因子认证
03.基本概念
Out Of Memory
70.QEMU
磁盘格式转换
80.LFS
90.常用脚本
使用except修改操作系统密码
init.d脚本模板
shell脚本判断参数数量
安装oh-my-zsh
systemd脚本模板
端口测试
适用于truenas的ipv6阿里云ddns脚本
更新nginx白名单
将文件改名为md5值
djvu转换为pdf并ocr
99.常用命令
man page中命令后的数字释义
tcpdump
nslookup
nc
rsync
awk
sed
echo
rm
tar
chage
auditctl
ausearch
ab
openssl
parted
find
date
firewall-cmd
sort
vmstat
nice-调整进程的优先级
top
taskset-进程绑定CPU核心
iptables
iostat
sysctl
tr
rpmbuild
转载nginx.spec含说明
安装使用rpmbuild
unpacked files found
grep
vimtutor
tlinux - tos
snmpwalk
chattr
本文档使用 MrDoc 发布
-
+
首页
vmstat
# vmstat see also: - mpstat - iostat - top - htop - iotop - iftop ## 使用帮助 ```shell root@pi:~# vmstat --help Usage: vmstat [options] [delay [count]] Options: -a, --active active/inactive memory / 打印活动/非活动内存 -f, --forks number of forks since boot / 系统启动后派生的进程数 -m, --slabs slabinfo/ 打印系统启动后派生进程数 -n, --one-header do not redisplay header / 使用delay循环打印时只打印一次表头 -s, --stats event counter statistics / 打印事件计数器统计数据 -d, --disk disk statistics / 打印磁盘统计信息 -D, --disk-sum summarize disk statistics / 打印磁盘活动状态统计 -p, --partition <dev> partition specific statistics / 打印分区状态 -S, --unit <char> define display unit / 设置打印数据的单位 -w, --wide Wide output mode/ 宽行输出,对齐效果更好 -t, --timestamp show timestamp/ 在每一行的行尾增加时间戳 -h, --help display this help and exit -V, --version output version information and exit For more details see vmstat(8). ``` ### 1.参数 -a:打印活动/非活动内存 输出`active`和`inactive`memory的信息,不使用`-a`的时候输出`buffer`和`cache` ``` root@pi:~# vmstat procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 768 588412 603124 6062584 0 0 3 22 52 14 6 3 91 0 0 ``` 各列的含义,下面的含义大部分与[top](http://pi.ihoiwan.com:8888/project-2/doc-237/ "top")相同。 ``` FIELD DESCRIPTION FOR VM MODE Procs r: 正在运行或等待运行的系统进程数. b: 不可中断的睡眠进程数. Memory swpd: 虚拟内存使用总量. free: 空闲内存总量. buff: 块存储缓冲内存使用总量.() cache: 文件缓存内存使用总量. inact: 长期未使用的内存总量. (-a option) active: 近期使用的内存总量. (-a option) Swap:如果下面的两个值大于0说明内存不足需要提高内存配置或有内存泄露的情况。 si: 每秒从磁盘交换入内存的数据总数 (/s). so: 每秒从内存交换入磁盘的数据总数 (/s). IO:如果下面的两个值不为0,则说明有块设备的读写,如果长时间的不为0则需要查看设备读写是否异常。 bi: 由块设备每秒读取的块数量 (blocks/s). bo: 每秒发送到块设备的块数量 (blocks/s). System in: CPU每秒的中断数(包括时钟中断). cs: context switch,每秒切换的上下文数量,调用系统函数,线程切换都会发生上下文切换;上下文切换很耗费cpu资源,所以这个值越小越好,如果cs数值较高说明cpu资源浪费在了cs中,需要优化系统进程。 CPU 下面是CPU时钟的使用百分比. us: CPU运行非内核代码所占用的时间.(用户时间,包含高优先级(通过[nice]设定)线程的运行时间,top命令中nice占用有单独的ni表示) sy: 运行内核代码所用的百分比. (system time) id: 等待时间. 在内核版本2.5.41以前,包含了IO-wait time。id值高但系统响应慢时,有可能是 CPU 等待分配内存,结合si/so查看确认是否需要加大内存容量。若id值持续低于1,说明系统瓶颈在CPU,需要提高CPU配置。 wa: 等待IO的时间. 在内核版本2.5.41以前, 包含在idle中,值过高,表示硬盘存在I/O瓶颈; st: 虚拟机等待宿主机服务其它虚拟机所用的时间. 在内核版本2.5.41以前, 无法查询. ``` --- ![](/media/202108/2021-08-13_174313.png) 1) us列显示了所有进程用户态消耗CPU的时间百分比。us值比较高时,说明进程用户态消耗的CPU时间多,如果长期大于50%,需要考虑优化应用程序。 2) sy列显示了所有进程内核态消耗CPU的时间百分比。sy值比较高时,说明进程内核态消耗的CPU时间多;如果us+sy超过80%,就表明CPU资源存在不足。 3) id列显示了CPU处在空闲状态的时间百分比; 4) wa列表示进程IO等待所占CPU时间百分比。wa值越高,说明IO等待越严重。如果wa值超过20%,说明IO等待严重。wa仅在Linux系统vmstat中显示。 5) st列代表虚拟机占用CPU时间百分比。st仅在Linux系统vmstat中显示。 --- ### 2.参数 -f:打印系统启动后派生进程数 ```shell root@pi:~# vmstat -f 602424 forks ``` ### 3.参数 -m:打印slab内存管理信息 slab内存分配器相关信息。 slab算法是以字节为单位管理内存,是内核的小内存管理算法。特点是基于对象进行管理。 slab分配算法采用cache 存储内核对象,把相同类型的对象归为一类(如进程描述符就是一类),每当要申请这样一个对象,slab分配器就从一个slab列表中分配一个这样大小的单元出去,而当要释放时,将其重新保存在该列表中,而不是直接返回给伙伴系统,从而避免这些内碎片。 slab分配器并不丢弃已分配的对象,而是释放并把它们保存在内存中。当以后又要请求新的对象时,就可以从内存直接获取而不用重复初始化。 ```shell FIELD DESCRIPTION FOR SLAB MODE cache: 缓存名称 num: 当前活动的对象数量 total: 全部可用的对象数量 size: 每个对象的大小 pages: 至少一个活动对象的页数 ``` ### 4.参数 -s:打印事件计数器统计数据 显示事件计数器统计信息。 ```shell root@pi:~# vmstat -s 7946352 K total memory 692764 K used memory 2065120 K active memory 4391880 K inactive memory 586012 K free memory 603380 K buffer memory 6064196 K swap cache 102396 K total swap 768 K used swap 101628 K free swap 4226352 non-nice user cpu ticks 1559 nice user cpu ticks 2084864 system cpu ticks 65607483 idle cpu ticks 43652 IO-wait cpu ticks 0 IRQ cpu ticks 40106 softirq cpu ticks 0 stolen cpu ticks 2065330 pages paged in 15327477 pages paged out 0 pages swapped in 122 pages swapped out 553142898 interrupts 1084354834 CPU context switches 1628660172 boot time 603220 forks ``` ### 5.参数 -d:打印磁盘统计信息 磁盘统计信息 ```shell root@pi:~# vmstat -d disk- ------------reads------------ ------------writes----------- -----IO------ total merged sectors ms total merged sectors ms cur sec ram0 0 0 0 0 0 0 0 0 0 0 ... loop0 0 0 0 0 0 0 0 0 0 0 ... sda 55341 11521 4130533 291892 277340 692196 30660794 11397045 0 785 ``` ```shell FIELD DESCRIPTION FOR DISK MODE Reads/读 total: 成功执行的磁盘读操作计数 merged: 一次I/O中的群组读 sectors: 成功执行的扇区读次数 ms: 读消耗的总毫秒数 Writes total: 成功执行的磁盘写操作计数 merged: 一次I/O中的群组写 sectors: 成功执行的扇区写次数 ms: 写消耗的总毫秒数 IO cur: 当前全部的I/O线程数 s: I/O 消耗的总秒数 ``` ### 6.参数 -D:打印磁盘活动状态统计 磁盘活动状态统计 ```shell root@pi:~# vmstat -D 25 disks 2 partitions 55341 total reads 11521 merged reads 4130533 read sectors 291892 milli reading 277381 writes 692211 merged writes 30661266 written sectors 11397071 milli writing 0 inprogress IO 786 milli spent IO ``` ### 7.参数 -p:打印分区状态 打印分区状态 ```shell root@pi:~# vmstat -p /dev/sda1 sda1 reads read sectors writes requested writes 282 24706 2 2 ``` ```shell FIELD DESCRIPTION FOR DISK PARTITION MODE reads: 对当前分区发出的读请求次数 read sectors: 当前分区读取的扇区数量 writes : 对当前分区发出的写请求次数 requested writes: 当前分区写入的扇区数量 ``` ### 8.参数 -S:设置打印数据的单位 设置打印数据的单位:b/B/k/K/m/M ```shell root@pi:~# vmstat -S G vmstat: -S requires k, K, m or M (default is KiB) root@pi:~# vmstat -S M procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 572 589 5922 0 0 3 21 52 15 6 3 91 0 0 root@pi:~# vmstat -S k procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 786 599834 617975 6209765 0 0 3 21 52 15 6 3 91 0 0 root@pi:~# vmstat -S b procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 786432 599801856 617975808 6209765376 0 1 3 21 52 15 6 3 91 0 0 ``` ## 示例 每秒打印一次,宽行输出,单位mb, ``` root@pi:~# vmstat -S m -t 1 -w -n procs -----------------------memory---------------------- ---swap-- -----io---- -system-- --------cpu-------- -----timestamp----- r b swpd free buff cache si so bi bo in cs us sy id wa st CST 0 0 0 599 618 6210 0 0 3 21 52 16 6 3 91 0 0 2021-08-13 17:28:23 0 0 0 599 618 6210 0 0 0 0 190 119 3 1 96 0 0 2021-08-13 17:28:24 0 0 0 599 618 6210 0 0 0 0 187 115 4 2 95 0 0 2021-08-13 17:28:25 0 0 0 599 618 6210 0 0 0 0 239 244 3 2 96 0 0 2021-08-13 17:28:26 ```
zhangky
2021年8月24日 09:52
分享文档
收藏文档
上一篇
下一篇
微信扫一扫
复制链接
手机扫一扫进行分享
复制链接
关于 MrDoc
觅思文档MrDoc
是
州的先生
开发并开源的在线文档系统,其适合作为个人和小型团队的云笔记、文档和知识库管理工具。
如果觅思文档给你或你的团队带来了帮助,欢迎对作者进行一些打赏捐助,这将有力支持作者持续投入精力更新和维护觅思文档,感谢你的捐助!
>>>捐助鸣谢列表
微信
支付宝
QQ
PayPal
Markdown文件
分享
链接
类型
密码
更新密码