Linux运维之系统性能瓶颈工具vmstat分析
Posted fenggeblog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux运维之系统性能瓶颈工具vmstat分析相关的知识,希望对你有一定的参考价值。
vmstat是一个很好用的检测系统性能工具,没有过多的参数,直接一个vmstat命令即可,不过我们一般加上-w表示宽格式输出。然后再附加上侦测时间即可
例如:
vmstat -w 3 100
表示每3秒检测一次并输出系统信息,一共输出100次。
这样的格式的命令很好用,接下来我们运行一下这个命令并对输出的数据进行分析
[[email protected]:vg_adn_tidbCkhsTest:54.158.254.36:172.31.30.62 ~/tidb-bench/sysbench]#vmstat -w 3 100 procs -----------------------memory---------------------- ---swap-- -----io---- -system-- --------cpu-------- r b swpd free buff cache si so bi bo in cs us sy id wa st 15 0 0 24466112 1476 2454284 0 0 95 101 2 2 3 0 97 0 0
参数讲解:
r:The number of runnable processes (running or waiting for run time).
表示当前运行队列中的线程的数目,代表线程处于可运行状态,但CPU还未能执行。这个值如果长期大于系统CPU的逻辑个数,说明CPU不足,需要增加CPU。
b: The number of processes in uninterruptible sleep.
表示处在非中断睡眠状态的进程数。通俗的说就是表示在等待资源的进程数,比如正在等待I/O或者内存交换等。
us: Time spent running non-kernel code.
表示用户进程消耗的CPU利用率的百分比。us的值比较高时,说明用户进程消耗的CPU时间多,但是如果长期大于50%,就需要考虑优化程序和算法
sy: Time spent running kernel code.
表示内核进程消耗的CPU时间的百分比,sy的值越高时,说明内核消耗的CPU资源很多。
注意:us+sy:参考值为80%,如果us+sy这个值大于80%说明可能存在CPU资源不足。
id: Time spent idle. Prior to Linux 2.5.41, this includes IO-wait time.
CPU空闲时间的百分比。如果这个值很小,表示CPU没有空闲时间,一直处于忙碌状态。
wa: Time spent waiting for IO. Prior to Linux 2.5.41, included in idle
所有可运行状态线程被阻塞在等待IO请求的百分比
cs: The number of context switches per second
当前kernel system中,发生上下文切换的数目。系统中越多的上下文切换,在处理器的调度管理下,内核将得到更多的工作。
in: The number of interrupts per second, including the clock。
当前中断被处理的数目
si: Amount of memory swapped in from disk (/s)
从磁盘交换到内存的交换页数量
so: Amount of memory swapped to disk (/s)
从内存交换到磁盘的交换页数量
bi和bo可以使用iostat -x命令来查看详细信息。
以上是关于Linux运维之系统性能瓶颈工具vmstat分析的主要内容,如果未能解决你的问题,请参考以下文章