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命令来查看详细信息。
原文地址:https://www.cnblogs.com/FengGeBlog/p/10145814.html
时间: 2024-11-10 11:25:46