一、CPU使用率查看
1. cat /proc/loadavg命令
$ cat /proc/loadavg
0.08 0.06 0.10 1/442 8347
前三项分别是最近1分钟、5分钟和15分钟的系统平均负载。系统平均负载为在特定时间间隔内运行队列中的平均进程数,包括正在CPU上运行或者等待运行的进程。
第四项,分子是正在运行的进程数,分母是进程总数。
最后一项是最近运行的进程ID号。
2. top命令
$ top
top - 10:00:34 up 193 days, 15 min, 2 users, load average: 0.03, 0.05, 0.10
Tasks: 168 total, 1 running, 167 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.8 us, 0.8 sy, 0.0 ni, 98.4 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 32946324 total, 10400992 free, 2478008 used, 20067324 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 28319396 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
root 20 0 1230476 46344 15688 S 6.7 0.1 626:31.26 containerd
root 20 0 51768 3836 2416 S 0.0 0.0 116:33.67 systemd
root 20 0 0 0 0 S 0.0 0.0 0:07.89 kthreadd
root 20 0 0 0 0 S 0.0 0.0 0:13.71 ksoftirqd/0
root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
root rt 0 0 0 0 S 0.0 0.0 0:15.24 migration/0
root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
root 20 0 0 0 0 S 0.0 0.0 200:13.21 rcu_sched
root 0 -20 0 0 0 S 0.0 0.0 0:00.00 lru-add-drain
与CPU使用情况相关的主要是前三行,显示的是整个系统的cpu使用状况。另外,%MEM列实时显示了每个进程的CPU使用率
第一行是基本情况,分别是:当前时间,系统运行时长,当前登录用户数,系统平均负载(同cat /proc/loadavg命令前三个值)。
第二行是进程状况,分别是:进程总数,正在运行的进程数,睡眠的进程数,停止的进程数,僵尸进程数。
第三行是CPU使用信息,分别是:用户空间占用CPU时间百分比,内核空间占用CPU时间百分比,用户进程空间内改变过优先级的进程占用CPU时间百分比,空闲CPU时间百分比,等待输入输出的CPU时间百分比,CPU服务于硬件中断的CPU时间百分比,CPU服务于软件中断的CPU时间百分比,被虚拟机偷走的CPU时间百分比。
3.vmstat命令
vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率, 内存使用, 虚拟内存,交换情况,IO读写情况。
相比top,通过vmstat可以看到整个机器的 CPU,内存,IO的使用情况, 而不是单单看到各个进程的CPU使用率和内存使用率。
vmstat如何运行
两个数字参数来完成的
第一个参数: 采样的时间间隔数,单位是秒,
第二个参数: 采样的次数
# vmstat 2 12
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
2 0 0 835920 80296 642904 0 0 1 1 14 69 0 0 100 0 0
0 0 0 835920 80296 642936 0 0 0 0 216 304 1 1 99 0 0
0 0 0 835920 80296 642936 0 0 0 0 208 313 0 1 99 0 0
0 0 0 835920 80300 642936 0 0 0 8 186 292 0 0 99 1 0
0 0 0 835920 80300 642936 0 0 0 0 115 274 0 0 99 0 0
0 0 0 835920 80300 642936 0 0 0 0 115 278 0 0 100 0 0
0 0 0 835920 80300 642936 0 0 0 0 115 280 1 0 100 0 0
0 0 0 835920 80300 642936 0 0 0 0 117 284 0 1 99 0 0
0 0 0 835920 80300 642936 0 0 0 0 113 276 0 0 100 0 0
0 0 0 835920 80300 642936 0 0 0 0 114 281 0 1 100 0 0
0 0 0 835920 80300 642936 0 0 0 0 119 285 1 0 99 0 0
0 0 0 835920 80300 642936 0 0 0 0 111 274 0 0 100 0 0
如果不需要加上监控时间的话, 那么就意味着每2秒监测,直到程序的结束:
#vmstat 2
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
3 0 0 836068 80304 642936 0 0 1 1 14 69 0 0 100 0 0
0 0 0 836044 80304 642936 0 0 0 0 228 324 0 0 100 0 0
0 0 0 83