Linux系统中CPU使用率查询常用的5个命令
在程序开发中,我们一般都是在Linux系统上进行开发,因此对Linux系统的维护工作很重要。在Linux系统维护中,我们需要经常查看的就是cpu的使用率,分析系统的整体运行情况。那CPU使用率怎么查询,用什么命令查询呢?下面小编就和大家分享几个CPU使用率的几个常用命令。 1、top命令 Top 命令时CPU使用率查询最常用的命令之一,在第三行有显示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뎓.8%sy, 0.0%ni, 91.0%id, 0.6%wa, 0.0%hi, 0.0%si, 0.0%st Mem: k total, k used, k free, k buffers Swap: k total, 34788k used, k free, k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 0 root 20 0 15084 1944 1632 R 2.0 0.2 0:00.01 top -bn 1 -i -c 如上所示,top命令可以看到总体的系统运行状态和cpu的使用率 。 鼓用户空间程序的cpu使用率(没有通过nice调度) %sy:表示系统空间的cpu使用率,主要是内核程序。 %ni:表示用户空间且通过nice调度过的程序的cpu使用率。 %id:空闲cpu %wa:cpu运行时在等待io的时间 %hi:cpu处理硬中断的数量 %si:cpu处理软中断的数量 %st:被虚拟机偷走的cpu 2、vmstat命令 这个命令可以通过以下方式来查询CPU使用率相关情况。 [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 st 0 34792 68376 16 16 421 385 2 2 5 4 91 1 0 0 34792 97368 0 0 0 0 133 134 15 6 79 0 0 0 34792 62432 0 0 0 88 267 278 63 18 19 0 0 0 34792 97160 0 0 0 0 71 82 12 4 84 0 0 0 34792 56572 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) :41:25 PM CPU 톙%nice %system %iowait %steal %idle :41:26 PM all 64.71 0.00 18.63 0.00 0.98 15.69 :41:27 PM all 29.47 0.00 22.11 14.74 0.00 33.68 :41:28 PM all 67.33 0.00 31.68 0.99 0.00 0.00 :41:29 PM all 7.00 0.00 2.00 0.00 0.00 91.00 :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) :45:14 PM CPU 톙%nice %system %iowait %steal %idle :45:15 PM 0 44.00 0.00 52.00 4.00 0.00 0.00 :45:16 PM 0 9.28 0.00 26.80 62.89 1.03 0.00 :45:17 PM 0 3.06 0.00 14.29 81.63 1.02 0.00 :45:18 PM 0 4.12 0.00 22.68 72.16 1.03 0.00 :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) :48:47 PM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 :48:48 PM 1 133 0.34 0.43 0.41 :48:49 PM 2 132 0.34 0.43 0.41 :48:50 PM 1 133 0.34 0.43 0.41 :48:51 PM 2 134 0.31 0.42 0.40 :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) :54:03 PM proc/s cswch/s :54:04 PM 1.01 156.57 :54:05 PM 1.00 132.00 :54:06 PM 2.00 201.00 :54:07 PM 2.02 126.26 :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) :10:01 PM CPU 톙%nice %system %iowait %steal %idle :20:02 PM all 25.78 0.00 8.88 3.59 0.15 61.60 :30:01 PM all 26.06 0.00 9.96 3.33 0.10 60.55 :40:01 PM all 25.73 0.00 9.17 3.70 0.09 61.32 :50:01 PM all 25.70 0.00 9.50 2.79 0.12 61.89 :00:01 PM all 26.70 0.00 9.73 2.20 0.10 61.28 :10:01 PM all 26.16 0.00 9.56 4.34 0.11 59.82 :20:01 PM all 25.49 0.00 9.61 2.76 0.07 62.07 :30:01 PM all 26.47 0.00 9.94 0.64 0.30 62.65 :40:02 PM all 27.32 0.00 10.37 3.86 0.15 58.30 :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) :01:18 PM CPU 量nice %sys %iowait %irq %soft %steal %guest %idle :01:19 PM all 52.53 0.00 23.23 0.00 0.00 0.00 0.00 0.00 24.24 :01:20 PM all 21.00 0.00 4.00 0.00 0.00 0.00 0.00 0.00 75.00 :01:21 PM all 53.00 0.00 18.00 0.00 0.00 0.00 0.00 0.00 29.00 :01:22 PM all 26.00 0.00 3.00 0.00 0.00 0.00 0.00 0.00 71.00 :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、dstat命令 这个命令主要是用来,每秒cpu使用率情况; [root@li676-235 ~]# dstat -c —-total-cpu-usage—- usr sys idl wai hiq siq 4 91 1 0 0 11 62 0 0 0 11 37 0 0 0 10 63 0 0 1 13 37 0 0 1 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 以上就是个人总结的在Linux系统维护中,CPU使用率查询最常用的5个命令,可能总结的不是很全面,也希望大家补充分享。 更多Linux相关文章:《嵌入式linux学习方法步骤》
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/87663.html