使用命令vmstat –n 1 ,查看cpu的资源使用情况,-n 1的意思是一秒刷新一次。
其中各项参数详解:
r : 这个参数代表的是你的系统中的cpu进程数的等待处理的进程,因为cpu一次只能处理一个进程,如果这个数值越大,代表的系统运行的越加缓慢
us:用户进程消耗的CPU时间百分
us的值比较高时,说明用户进程消耗的CPU时间多,但是如果长期超50%的使用,那么我们就该考虑优化程序算法或者进行加速
sy:内核进程消耗的CPU时间百分比wa:IO等待消耗的CPU时间百分比
wa的值高时,说明IO等待比较严重,这可能由于磁盘大量作随机访问造成,也有可能磁盘出现瓶颈
id:CPU处于空闲状态时间百分比,如果空闲时间(cpu id)持续为0并且系统时间(cpu sy)是用户时间的两倍(cpu us) 系统则面临着CPU资源的短缺.
解决办法:
当发生以上问题的时候请先调整应用程序对CPU的占用情况.使得应用程序能够更有效的使用CPU.同时可以考虑增加更多的CPU. 关于CPU的使用情况还可以结合 ps aux top 等等一些相应的命令来综合考虑关于具体的CPU的使用情况,和那些进程在占用大量的CPU时间.一般情况下,应用程序的问题会比较大一些.比如一些mysql语句不合理等等都会造成这样的现象.或者传输文件,后者服务器被肉鸡的情况也会到这这现象的出现。
使用命令iostat –c 也可以直接查看cpu的状态信息
%user: 在用户级别运行所使用的CPU的百分比.
%nice: nice操作所使用的CPU的百分比.
%sys: 在系统级别(kernel)运行所使用CPU的百分比.
%iowait: CPU等待硬件I/O时,所占用CPU百分比.
%idle: CPU空闲时间的百分比.
(责任编辑:IT) |