如何在Linux系统中查看服务器CPU使用情况 (linux下查看服务器cpu)
在运行服务器时,了解服务器的CPU使用情况是非常重要的。这可以帮助您识别问题并优化性能。在Linux系统中,有几种方法可以查看服务器的CPU使用情况。本文将介绍一些常见的方法及其用法。
1. 使用top命令
top命令是Linux系统中非常常用的命令之一,它可以实时显示系统资源的使用情况,包括CPU、内存、磁盘IO等等。对于查看CPU使用情况来说,top命令是非常有用的。
要使用top命令查看CPU使用情况,只需在终端输入“top”命令即可。这将显示一个实时的进程列表,其中包括每个进程的CPU使用情况。在默认情况下,top命令按照CPU使用率来排序,这使得查找CPU密集型进程变得更加容易。
例如,下面是top命令的输出示例:
“`
top – 12:05:03 up 4 days, 7:09, 1 user, load average: 0.00, 0.01, 0.05
Tasks: 183 total, 1 running, 182 sleeping, 0 stopped, 0 zombie
Cpu(s): 11.4%us, 1.4%sy, 0.1%ni, 87.0%id, 0.1%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 3948220k total, 3745088k used, 202332k free, 392728k buffers
Swap: 4095992k total, 0k used, 4095992k free, 2352908k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3198 mysql 20 0 1164m 902m 5076 S 23.0 23.4 34375:23 mysqld
20237 tomcat 20 0 25.1g 7.1g 39m S 8.3 18.7 4804:48 java
999 root 20 0 0 0 0 S 1.7 0.0 0:22.07 kworker/1:1
4342 root 20 0 0 0 0 S 1.7 0.0 10:55.51 ksoftirqd/5
16 root 20 0 0 0 0 S 0.7 0.0 111:03.12 ksoftirqd/0
6 root RT 0 0 0 0 S 0.3 0.0 2:20.43 migration/0
625 root 20 0 0 0 0 S 0.3 0.0 131:25.41 kworker/2:2
2332 root 20 0 0 0 0 S 0.3 0.0 0:07.89 kworker/0:1
“`
此命令的输出结果包括几个重要的字段,如下所示:
– uptime:距离系统启动已经运行的时间
– load average:平均负载情况,分别表示过去1分钟、5分钟、15分钟的平均负载
– Tasks:当前系统中的进程总数分别表示正在运行、睡眠、停止、僵尸进程的数量
– Cpu(s):CPU使用情况,其中包含多个子项:
us:用户空间进程消耗CPU的时间占总时间的百分比
sy:内核空间进程消耗CPU的时间占总时间的百分比
ni:用户进程空间内改变过优先级的进程占用CPU时间
id:空闲的CPU时间百分比
wa:等待IO的时间百分比
hi:硬件中断消耗CPU的时间百分比
si:软中断消耗CPU时间的百分比
st:虚拟机被掠夺的CPU时间百分比
– Mem:内存使用情况,包括总内存、已用内存、剩余内存、缓冲区占用的内存
– Swap:交换分区(虚拟内存)使用情况,包括总交换内存、已用交换内存、剩余交换内存、缓存的页面数
之后的输出结果是进程列表,包括进程ID、用户、优先级、虚拟内存、物理内存、共享内存、状态、CPU使用率、内存使用率、耗费的时间和命令名。
2. 使用mpstat命令
mpstat命令也可以用于查看CPU使用情况。这个命令可以提供更加详细的信息,包括每个CPU核心的使用情况。
要使用mpstat命令查看CPU使用情况,只需在终端输入“mpstat”命令即可。此命令的输出将显示每个CPU核心的使用情况,包括用户空间使用率、内核空间使用率、CPU的IDLE值等等。
例如,下面是mpstat命令的输出示例:
“`
Linux 2.6.32-573.el6.x86_64 (server01) 07/09/2023 _x86_64_ (4 CPU)
15:23:10 CPU %user %nice %sys %iowt %irq %soft %steal %guest %idle
15:23:10 all 10.82 0.02 2.30 0.06 0.00 0.04 0.00 0.00 86.76
15:23:10 0 11.13 0.02 2.44 0.03 0.00 0.03 0.00 0.00 86.37
15:23:10 1 10.52 0.02 2.16 0.05 0.00 0.05 0.00 0.00 87.22
15:23:10 2 11.04 0.03 2.19 0.08 0.00 0.03 0.00 0.00 86.63
15:23:10 3 10.56 0.03 2.23 0.10 0.00 0.02 0.00 0.00 87.06
“`
此输出结果包含以下字段:
– CPU:被监听的CPU编号,如果是all表示监控所有CPU
– %user:用户空间进程消耗CPU的时间占总时间的百分比
– %nice:优先级发生改变的进程占用CPU时间
– %sys:内核空间进程消耗CPU的时间占总时间的百分比
– %iowt:CPU等待输入输出的时间百分比
– %irq:硬件中断消耗CPU的时间百分比
– %soft:软中断消耗CPU的时间百分比
– %steal:虚拟机被掠夺的CPU时间百分比
– %guest:虚拟CPU占用的时间百分比
– %idle:空闲CPU时间百分比
其中,%user、%sys、%iowt和%idle是最有用的字段,它们反映了CPU的使用情况。%iowt的值较高说明硬件IO有瓶颈,%idle的值较高说明CPU有很多空闲时间。
3. 使用sar命令
sar命令是系统活动报告的缩写,它可以在Linux系统中生成系统性能报告,包括CPU、内存、磁盘、网络等方面的性能指标。sar命令需要通过在系统上安装sysstat包来获得。在安装完成后,您可以使用sar命令查看系统的CPU使用情况。
要使用sar命令查看CPU使用情况,只需在终端输入“sar”命令即可。此命令的输出将包含一些时间间隔内的CPU使用率的统计信息。
例如,下面是sar命令的输出示例:
“`
Linux 2.6.32-573.el6.x86_64 (server01) 07/09/2023 _x86_64_ (4 CPU)
12:00:01 AM CPU %user %nice %system %iowt %irq %soft %steal %idle
12:10:01 AM all 4.01 0.00 1.17 0.21 0.00 0.05 0.00 94.56
12:20:01 AM all 4.11 0.00 1.16 0.21 0.00 0.05 0.00 94.48
12:30:01 AM all 4.09 0.00 1.15 0.24 0.00 0.05 0.00 94.47
12:40:01 AM all 4.13 0.00 1.14 0.20 0.00 0.05 0.00 94.47
12:50:01 AM all 4.08 0.00 1.14 0.24 0.00 0.05 0.00 94.50
01:00:01 AM all 4.07 0.00 1.13 0.21 0.00 0.05 0.00 94.53
“`
此命令的输出结果包括以下字段:
– CPU:被监听的CPU编号,如果是all表示监控所有CPU
– %user:用户空间进程消耗CPU的时间占总时间的百分比
– %nice:优先级发生改变的进程占用CPU时间
– %system:内核空间进程消耗CPU的时间占总时间的百分比
– %iowt:CPU等待输入输出的时间百分比
– %irq:硬件中断消耗CPU的时间百分比
– %soft:软中断消耗CPU的时间百分比
– %steal:虚拟机被掠夺的CPU时间百分比
– %idle:空闲CPU时间百分比
因此,使用sar命令可以查看服务器中每个CPU核心所有Cpu相关指标并记录日志在/var/log/sa/目录下。
在Linux系统中,查看服务器的CPU使用情况有多种方法。top、mpstat和sar命令都是非常方便的工具,可以帮助您了解系统资源的使用情况,识别问题并优化性能。通过这些命令,您可以快速定位CPU密集型进程以及瓶颈,帮助您提高服务器性能。