转自:https://blog.csdn.net/AlbenXie/article/details/72885951
感谢博主~

在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
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.vmstat

之前在本博客中有介绍过vmstat的使用,详细使用和参数介绍参考网址:http://www.sijitao.net/1925.html 。

[root@li676-235 ~]# vmstat 1 5
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----r b swpd free buff cache si so bi bo in cs us sy id wa st2 0 34792 68376 147688 356132 16 16 421 385 2 2 5 4 91 1 03 0 34792 97368 147688 326884 0 0 0 0 133 134 15 6 79 0 01 0 34792 62432 147696 360704 0 0 0 88 267 278 63 18 19 0 00 0 34792 97160 147696 326904 0 0 0 0 71 82 12 4 84 0 01 0 34792 56572 147696 364540 0 0 0 4 261 246 61 23 16 0 0
root@li676-235 ~]# vmstat 1 5
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----r b swpd free buff cache si so bi bo in cs us sy id wa st2 0 34792 68376 147688 356132 16 16 421 385 2 2 5 4 91 1 03 0 34792 97368 147688 326884 0 0 0 0 133 134 15 6 79 0 01 0 34792 62432 147696 360704 0 0 0 88 267 278 63 18 19 0 00 0 34792 97160 147696 326904 0 0 0 0 71 82 12 4 84 0 01 0 34792 56572 147696 364540 0 0 0 4 261 246 61 23 16 0 0

3.sar

sar命令语法和vmstat一样。命令不存在时需要安装sysstat包,这个包很有用。

CPU使用率

例如每1秒采集一次CPU使用率,共采集5次。

[root@li676-235 ~]# sar -u 1 5
Linux 3.18.5-x86_64-linode52 (li676-235) 07/20/2015 _x86_64_ (1 CPU)
02:41:25 PM CPU %user %nice %system %iowait %steal %idle
02:41:26 PM all 64.71 0.00 18.63 0.00 0.98 15.69
02:41:27 PM all 29.47 0.00 22.11 14.74 0.00 33.68
02:41:28 PM all 67.33 0.00 31.68 0.99 0.00 0.00
02:41:29 PM all 7.00 0.00 2.00 0.00 0.00 91.00
02:41:30 PM all 69.00 0.00 23.00 0.00 0.00 8.00
Average: all 47.79 0.00 19.48 3.01 0.20 29.52
root@li676-235 ~]# sar -u 1 5
Linux 3.18.5-x86_64-linode52 (li676-235) 07/20/2015 _x86_64_ (1 CPU)
02:41:25 PM CPU %user %nice %system %iowait %steal %idle
02:41:26 PM all 64.71 0.00 18.63 0.00 0.98 15.69
02:41:27 PM all 29.47 0.00 22.11 14.74 0.00 33.68
02:41:28 PM all 67.33 0.00 31.68 0.99 0.00 0.00
02:41:29 PM all 7.00 0.00 2.00 0.00 0.00 91.00
02:41:30 PM all 69.00 0.00 23.00 0.00 0.00 8.00
Average: all 47.79 0.00 19.48 3.01 0.20 29.52

和top一样,可以看到所有cpu的使用情况。如果需要查看某颗cpu的使用可以用-P参数。例如指定显示0号cpu 的使用情况。

[root@li676-235 ~]# sar -P 0 -u 1 5
Linux 3.18.5-x86_64-linode52 (li676-235) 07/20/2015 _x86_64_ (1 CPU)
02:45:14 PM CPU %user %nice %system %iowait %steal %idle
02:45:15 PM 0 44.00 0.00 52.00 4.00 0.00 0.00
02:45:16 PM 0 9.28 0.00 26.80 62.89 1.03 0.00
02:45:17 PM 0 3.06 0.00 14.29 81.63 1.02 0.00
02:45:18 PM 0 4.12 0.00 22.68 72.16 1.03 0.00
02:45:19 PM 0 4.12 0.00 22.68 72.16 1.03 0.00
Average: 0 13.09 0.00 27.81 58.28 0.82 0.00
root@li676-235 ~]# sar -P 0 -u 1 5
Linux 3.18.5-x86_64-linode52 (li676-235) 07/20/2015 _x86_64_ (1 CPU)
02:45:14 PM CPU %user %nice %system %iowait %steal %idle
02:45:15 PM 0 44.00 0.00 52.00 4.00 0.00 0.00
02:45:16 PM 0 9.28 0.00 26.80 62.89 1.03 0.00
02:45:17 PM 0 3.06 0.00 14.29 81.63 1.02 0.00
02:45:18 PM 0 4.12 0.00 22.68 72.16 1.03 0.00
02:45:19 PM 0 4.12 0.00 22.68 72.16 1.03 0.00
Average: 0 13.09 0.00 27.81 58.28 0.82 0.00

进程队列长度和平均负载状态

例如每1秒采集一次,共采集5次。

[root@li676-235 ~]# sar -q 1 5
Linux 3.18.5-x86_64-linode52 (li676-235) 07/20/2015 _x86_64_ (1 CPU)
02:48:47 PM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
02:48:48 PM 1 133 0.34 0.43 0.41
02:48:49 PM 2 132 0.34 0.43 0.41
02:48:50 PM 1 133 0.34 0.43 0.41
02:48:51 PM 2 134 0.31 0.42 0.40
02:48:52 PM 1 133 0.31 0.42 0.40
Average: 1 133 0.33 0.43 0.41
root@li676-235 ~]# sar -q 1 5
Linux 3.18.5-x86_64-linode52 (li676-235) 07/20/2015 _x86_64_ (1 CPU)
02:48:47 PM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
02:48:48 PM 1 133 0.34 0.43 0.41
02:48:49 PM 2 132 0.34 0.43 0.41
02:48:50 PM 1 133 0.34 0.43 0.41
02:48:51 PM 2 134 0.31 0.42 0.40
02:48:52 PM 1 133 0.31 0.42 0.40
Average: 1 133 0.33 0.43 0.41

输出项:

runq-sz:运行队列的长度(等待运行的进程数)

plist-sz:进程列表中进程(processes)和线程(threads)的数量

ldavg-1:最后1分钟的系统平均负载(System load average)

ldavg-5:过去5分钟的系统平均负载

ldavg-15:过去15分钟的系统平均负载

进程创建的平均值和上下文切换的次数

例如每1秒收集一次,共收集5次。

[root@li676-235 ~]# sar -w 1 5
Linux 3.18.5-x86_64-linode52 (li676-235) 07/20/2015 _x86_64_ (1 CPU)
02:54:03 PM proc/s cswch/s
02:54:04 PM 1.01 156.57
02:54:05 PM 1.00 132.00
02:54:06 PM 2.00 201.00
02:54:07 PM 2.02 126.26
02:54:08 PM 2.00 114.00
Average: 1.61 145.98
root@li676-235 ~]# sar -w 1 5
Linux 3.18.5-x86_64-linode52 (li676-235) 07/20/2015 _x86_64_ (1 CPU)
02:54:03 PM proc/s cswch/s
02:54:04 PM 1.01 156.57
02:54:05 PM 1.00 132.00
02:54:06 PM 2.00 201.00
02:54:07 PM 2.02 126.26
02:54:08 PM 2.00 114.00
Average: 1.61 145.98

sar命令也可以获取过去指定日期的性能参数。

[root@li676-235 ~]# sar -u -f /var/log/sa/sa20
Linux 3.18.5-x86_64-linode52 (li676-235) 07/20/2015 _x86_64_ (1 CPU)
01:10:01 PM CPU %user %nice %system %iowait %steal %idle
01:20:02 PM all 25.78 0.00 8.88 3.59 0.15 61.60
01:30:01 PM all 26.06 0.00 9.96 3.33 0.10 60.55
01:40:01 PM all 25.73 0.00 9.17 3.70 0.09 61.32
01:50:01 PM all 25.70 0.00 9.50 2.79 0.12 61.89
02:00:01 PM all 26.70 0.00 9.73 2.20 0.10 61.28
02:10:01 PM all 26.16 0.00 9.56 4.34 0.11 59.82
02:20:01 PM all 25.49 0.00 9.61 2.76 0.07 62.07
02:30:01 PM all 26.47 0.00 9.94 0.64 0.30 62.65
02:40:02 PM all 27.32 0.00 10.37 3.86 0.15 58.30
02:50:02 PM all 26.98 0.00 10.38 4.56 0.13 57.95
Average: all 26.24 0.00 9.71 3.18 0.13 60.74
root@li676-235 ~]# sar -u -f /var/log/sa/sa20
Linux 3.18.5-x86_64-linode52 (li676-235) 07/20/2015 _x86_64_ (1 CPU)
01:10:01 PM CPU %user %nice %system %iowait %steal %idle
01:20:02 PM all 25.78 0.00 8.88 3.59 0.15 61.60
01:30:01 PM all 26.06 0.00 9.96 3.33 0.10 60.55
01:40:01 PM all 25.73 0.00 9.17 3.70 0.09 61.32
01:50:01 PM all 25.70 0.00 9.50 2.79 0.12 61.89
02:00:01 PM all 26.70 0.00 9.73 2.20 0.10 61.28
02:10:01 PM all 26.16 0.00 9.56 4.34 0.11 59.82
02:20:01 PM all 25.49 0.00 9.61 2.76 0.07 62.07
02:30:01 PM all 26.47 0.00 9.94 0.64 0.30 62.65
02:40:02 PM all 27.32 0.00 10.37 3.86 0.15 58.30
02:50:02 PM all 26.98 0.00 10.38 4.56 0.13 57.95
Average: all 26.24 0.00 9.71 3.18 0.13 60.74

4.mpstat

这个命令也在sysstat包中,语法类似。

例如每1秒收集一次,共5次

[root@li676-235 ~]# mpstat 1 5
Linux 3.18.5-x86_64-linode52 (li676-235) 07/20/2015 _x86_64_ (1 CPU)
03:01:18 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
03:01:19 PM all 52.53 0.00 23.23 0.00 0.00 0.00 0.00 0.00 24.24
03:01:20 PM all 21.00 0.00 4.00 0.00 0.00 0.00 0.00 0.00 75.00
03:01:21 PM all 53.00 0.00 18.00 0.00 0.00 0.00 0.00 0.00 29.00
03:01:22 PM all 26.00 0.00 3.00 0.00 0.00 0.00 0.00 0.00 71.00
03:01:23 PM all 46.00 0.00 18.00 0.00 0.00 0.00 0.00 0.00 36.00
Average: all 39.68 0.00 13.23 0.00 0.00 0.00 0.00 0.00 47.09
root@li676-235 ~]# mpstat 1 5
Linux 3.18.5-x86_64-linode52 (li676-235) 07/20/2015 _x86_64_ (1 CPU)
03:01:18 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
03:01:19 PM all 52.53 0.00 23.23 0.00 0.00 0.00 0.00 0.00 24.24
03:01:20 PM all 21.00 0.00 4.00 0.00 0.00 0.00 0.00 0.00 75.00
03:01:21 PM all 53.00 0.00 18.00 0.00 0.00 0.00 0.00 0.00 29.00
03:01:22 PM all 26.00 0.00 3.00 0.00 0.00 0.00 0.00 0.00 71.00
03:01:23 PM all 46.00 0.00 18.00 0.00 0.00 0.00 0.00 0.00 36.00
Average: all 39.68 0.00 13.23 0.00 0.00 0.00 0.00 0.00 47.09

cpu使用情况比sar更加详细些,也可以用-P指定某颗cpu 。

5.iostat

这个命令主要用来查看io使用情况,也可以来查看cpu,个人感觉不常用。

[root@li676-235 ~]# iostat -c 1 2
Linux 3.18.5-x86_64-linode52 (li676-235) 07/20/2015 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle4.53 0.01 3.81 0.63 0.04 90.99
avg-cpu: %user %nice %system %iowait %steal %idle38.00 0.00 14.00 0.00 0.00 48.00
root@li676-235 ~]# iostat -c 1 2
Linux 3.18.5-x86_64-linode52 (li676-235) 07/20/2015 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle4.53 0.01 3.81 0.63 0.04 90.99
avg-cpu: %user %nice %system %iowait %steal %idle38.00 0.00 14.00 0.00 0.00 48.00

6.dstat

每秒cpu使用率情况获取

[root@li676-235 ~]# dstat -c
----total-cpu-usage----
usr sys idl wai hiq siq5 4 91 1 0 027 11 62 0 0 052 11 37 0 0 026 10 63 0 0 150 13 37 0 0 121 6 72 0 0 0
root@li676-235 ~]# dstat -c
----total-cpu-usage----
usr sys idl wai hiq siq5 4 91 1 0 027 11 62 0 0 052 11 37 0 0 026 10 63 0 0 150 13 37 0 0 121 6 72 0 0 0

最占cpu的进程获取

[root@li676-235 ~]# dstat --top-cpu
-most-expensive-cpu process
mysqld 1.5
php-fpm: pool 24
mysqld 59
root@li676-235 ~]# dstat --top-cpu
-most-expensive-cpu process
mysqld 1.5
php-fpm: pool 24
mysqld 59

Linux系统查看CPU使用率的几个命令相关推荐

  1. Linux系统查看CPU使用率命令

    Linux系统查看CPU使用率命令 - 暮日温柔 - 博客园 1.top# 这个命令很常用,在第三行有显示CPU当前的使用情况. 如上所示,top命令可以看到总体的系统运行状态和cpu的使用率 . % ...

  2. Linux系统查看CPU使用率、内存使用率、磁盘使用率、磁盘大小

    一.查看CPU使用率 1.top命令 在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况.常用的查看CPU使用率命令为top命令. top命令是Linux下常用的性能分析工 ...

  3. Linux系统查看CPU使用率、内存使用率、磁盘使用率

    一.查看CPU使用率 1. top 命令 [root@sss ~]# top top - 16:54:38 up 7 days, 5:13, 3 users, load average: 0.00, ...

  4. linux系统查看CPU使用含义、IO、内存、硬盘使用、负载

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

  5. Linux系统的CPU使用率和Load

    为什么80%的码农都做不了架构师?>>>    好吧,我承认这个话题是老生常谈,我自己也在2009年刚接触性能测试时就已经开始关注并略知一二:然而,对于CPU使用率和系统负载Load ...

  6. Linux系统查看CPU

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

  7. linux查内核参数命令,linux 下查看cpu位数 内核等参数命令

    linux 下查看cpu位数 内核等参数命令. # uname -a Linux euis1 2.6.9-55.ELsmp #1 SMP Fri Apr 20 17:03:35 EDT 2007 i6 ...

  8. Linux下查看CPU使用率 --- top命令的使用

    在系统维护的过程中,随时可能有需要查看 CPU 使用率,并根据相应信息分析系统状况的需要.在 CentOS 中,可以通过 top 命令来查看 CPU 使用状况.运行 top 命令后,CPU 使用状态会 ...

  9. Linux系统查看CPU信息命令cat /proc/cpuinfo详细说明

    Linux操作系统服务器如何查看CPU处理器信息?使用命令cat /proc/cpuinfo可以查看CPU详细信息,包括CPU核数.逻辑CPU.物理CPU个数.CPU是否启用超线程等,阿里云服务器网分 ...

最新文章

  1. android 透明度变化,安卓获取屏幕的宽高并设置平移动画和透明度变化
  2. java 实现set,Java--Set的三个具体实现类
  3. 双屏全屏跳回到主屏_双屏笔记本了解下?剪视频不要太好使
  4. 力软 java主从表保存_JAVA常用知识总结(十二)——数据库(二)
  5. 10停止nginx命令 win_Linux下配置Nginx并使用https协议
  6. 表单下拉框、表单修饰符(.lazy、.number、.trim)
  7. Windows 下安装 MongoDB
  8. pubwin2009升级教程
  9. 做网站买主机还是服务器,做网站买主机还是服务器
  10. 【MCMC】基于贝叶斯优化的自适应MCMC算法仿真
  11. 深度学习涉及到的线性代数知识点总结(二)
  12. 用VMWARE安装Mac OSX Tiger 10.4.4 X86
  13. 迪文屏串口更新协议了解
  14. IBM服务器RAID5
  15. mysql中data后面加什么_mysql中data_format用法
  16. 高德地图安卓 拖拽选点_高德地图想再造一个大众点评?
  17. 2020-2021 ICPC - Gran Premio de Mexico - Repechaje
  18. linux vim输入法切换,完美解决Mac下Vim/Emacs的输入法切换问题
  19. 英国手机漫谈之签手机喽!
  20. 下半年计算机二级什么时候出成绩,2021下半年计算机二级考试时间 成绩什么时候出来...

热门文章

  1. 现在做自媒体赚钱吗?
  2. 初级会计问答5.20
  3. 【win7如何正确设置麦克风】
  4. MongoDB分组查询、聚合查询
  5. 星际文件系统:2021年Web3主流的核心支柱
  6. PostgreSQL 修改默认用户 postgres 的密码 - 图形化界面操作
  7. PDF文件添加水印怎么添加?只需要两步轻松添加水印
  8. 为什么阿里的程序员成长如此之快?阿里高级算法专家公开10份资料,先睹为快
  9. C# Color颜色RGB对照表、颜色选择器
  10. requests+正则表达式爬取猫眼电影TOP100