-D:显示磁盘总体信息
-p:显示指定磁盘分区统计信息
-s:显示内存相关统计信息及多种系统活动数量
-m:显示slabinfo
-t:在输出信息的时候也将时间一并输出出来
-S:使用指定单位显示。参数有k、K、m、M,分别代表1000、 1024、1000000、1048576字节(byte)。默认单位为 K(1024bytes)
delay:刷新时间间隔。如果不指定,只显示一条结果
count:刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这 时刷新次数为无穷
[root@localhost ~]# 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 0 631624 896 283516 0 0 84 21 41 82 0 0 100 0 0
vmstat各字段说明:
1、procs
**r:**表示运行和等待CPU时间片的进程数(就是说多少个进程真的分配到 CPU),这个值如果长期大于系统CPU个数,说明CPU不足,需要增加CPU
**b:**表示在等待资源的进程数,比如正在等待I/O或者内存交换等。
2、memory
**swap:**表示切换到内存交换区的内存大小,即虚拟内存已使用的大小(单 位KB),如果大于0,表示你的机器物理内存不足了,如果不是程序内存泄 露的原因,那么你该升级内存了或者把耗内存的任务迁移到其他机器。
**free:**表示当前空闲的物理内存
**buff:**表示buffers cached内存大小,也就是缓冲大小,一般对块设备的 读写才需要缓冲 Cache:表示page cached的内存大小,也就是缓存大小,一般作为文件系 统进行缓冲,频繁访问的文件都会被缓存,如果cache值非常大说明缓存文 件比较多,如果此时io中的bi比较小,说明文件系统效率比较好
3、swap
**si:**表示从磁盘调入内存,也就是内存进入内存交换区的内存大小;通俗的 讲就是 每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存 不够用或者内存泄露了,要查找耗内存进程解决掉。
**so:**表示由内存进入磁盘,也就是由内存交换区进入内存的内存大小。 注意:一般情况下si、so的值都为0,如果si、so的值长期不为0,则说明系 统内存不足,需要增加系统内存 4、io
**bi:**表示从块设备每秒读取的块数量 bo:表示每秒写到块设备的块数量 注意:如果bi+bo的值过大,且wa值较大,则表示系统磁盘IO瓶颈
5、system
in: 表示每秒的中断数,包括时钟
**cs:**表示每秒产生的上下文切换次数,例如我们调用系统函数,就要进行 上下文切换,线程的切换,也要进程上下文切换,这个值要越小越好,太 大了,要考虑调低线程或者进程的数目,例如在apache和nginx这种web服 务器中,我们一般做性能测试时会进行几千并发甚至几万并发的测试,选 择web服务器的进程可以由进程或者线程的峰值一直下调,压测,直到cs到 一个比较小的值,这个进程和线程数就是比较合适的值了。系统调用也 是,每次调用系统函数,我们的代码就会进入内核空间,导致上下文切 换,这个是很耗资源,也要尽量避免频繁调用系统函数。上下文切换次数 过多表示你的CPU大部分浪费在上下文切换,导致CPU干正经事的时间少 了,CPU没有充分利用,是不可取的。
注意: 这两个值越大,则由内核消耗的CPU就越多
6、CPU
**us:**表示用户进程消耗的CPU时间百分比,us值越高,说明用户进程消耗 CPU时间越多,如果长期大于50%,则需要考虑优化程序或者算法
**sy:**表示系统内核进程消耗的CPU时间百分比,一般来说us+sy应该小于 80%,如果大于80%,说明可能存在CPU瓶颈
**id:**表示CPU处在空间
Linux-常用的系统监控_linux 系统监系统
最新推荐文章于 2024-08-14 21:58:44 发布
本文介绍了Linux系统监控工具,包括mpstat、iostat和sar的使用方法,详细解释了各项指标,如CPU使用率、内存、磁盘I/O等,帮助分析系统性能瓶颈。
摘要由CSDN通过智能技术生成