【转载】Linux下查看CPU、内存占用率

不错的文章(linux系统性能监控--CPU利用率):https://blog.csdn.net/ctthuangcheng/article/details/52795477

 

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。而监控CPU的性能一般包括以下3点:运行队列、CPU使用率和上下文切换。

对于每一个CPU来说运行队列最好不要超过3,例如,如果是双核CPU就不要超过6。如果队列长期保持在3以上,说明任何一个进程运行时都不能马上得到cpu的响应,这时可能需要考虑升级cpu。另外满负荷运行cpu的使用率最好是user空间保持在65%~70%,system空间保持在30%,空闲保持在0%~5% 。

下面总结下查看CPU使用率常用的几个命令。

1、top
这个命令很常用,在第三行有显示CPU当前的使用情况。

[root@li676-235 ~]# top -bn 1 -i -c
top - 14:19:51 up 138 days, 7:15, 1 user, load average: 0.20, 0.33, 0.39
Tasks: 115 total, 1 running, 114 sleeping, 0 stopped, 0 zombie
Cpu(s): 4.5%us, 3.8%sy, 0.0%ni, 91.0%id, 0.6%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1014660k total, 880512k used, 134148k free, 264904k buffers
Swap: 262140k total, 34788k used, 227352k free, 217144k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
12760 root 20 0 15084 1944 1632 R 2.0 0.2 0:00.01 top -bn 1 -i -c
如上所示,top命令可以看到总体的系统运行状态和cpu的使用率 。

%us:表示用户空间程序的cpu使用率(没有通过nice调度)

%sy:表示系统空间的cpu使用率,主要是内核程序。

%ni:表示用户空间且通过nice调度过的程序的cpu使用率。

%id:空闲cpu

%wa:cpu运行时在等待io的时间

%hi:cpu处理硬中断的数量

%si:cpu处理软中断的数量

%st:被虚拟机偷走的cpu

 

2. ps命令查看CPU状态
ps(process status)命令用来汇报处理器状态信息,示例用法:

ps ux
ps -H -eo user,pid,ppid,tid,time,%cpu,cmd --sort=%cpu
上述命令:第一条按默认方式查看状态,第二条命令指定显示列和排序方式,使用时任选其一。

3. vmstat

root@vm-199:~# vmstat 2
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 0  1  97640  50348 192812 578352    0    0     3    20    1   12  1  2 93  3
 0  0  97640  54636 192812 578360    0    0     0    14  126  147  2  4 86  8
 0  3  97640  53908 192816 578356    0    0     0    62   96  110  2  4 86  9
 0  0  97640  54156 192816 578360    0    0     0    14  113  118  3  5 83 11
 0  0  97640  53908 192816 578360    0    0     0    16  107  103  2

 

(1)进程procs 
    r:在运行队列中等待的进程数 
    b:在等待io的进程数 
(2)Linux 内存监控内存memoy 
    swpd:现时可用的交换内存(单位KB)。 
    free:空闲的内存(单位KB)。
    buff: 缓冲去中的内存数(单位:KB)。
    cache:被用来做为高速缓存的内存数(单位:KB)。
(3) Linux 内存监控swap交换页面 
    si: 从磁盘交换到内存的交换页数量,单位:KB/秒。
    so: 从内存交换到磁盘的交换页数量,单位:KB/秒。
(4)Linux 内存监控 io块设备:
    bi: 发送到块设备的块数,单位:块/秒。
    bo: 从块设备接收到的块数,单位:块/秒。
(5)Linux 内存监控system系统: 
    in: 每秒的中断数,包括时钟中断。
    cs: 每秒的环境(上下文)转换次数。
(6)Linux 内存监控cpu中央处理器:
    cs:用户进程使用的时间 。以百分比表示。
    sy:系统进程使用的时间。 以百分比表示。
    id:中央处理器的空闲时间 。以百分比表示。

posted @ 2018-11-08 09:41  NewLife365  阅读(2495)  评论(0编辑  收藏  举报