在程序开发中,我们一般都是在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%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

0 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命令

这个命令可以通过以下方式来查询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 147688 356132 16 16 421 385 2 2 5 4 91 1 0

0 34792 97368 147688 326884 0 0 0 0 133 134 15 6 79 0 0

0 34792 62432 147696 360704 0 0 0 88 267 278 63 18 19 0 0

0 34792 97160 147696 326904 0 0 0 0 71 82 12 4 84 0 0

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)

:41:25 PM CPU %user %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 %user %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 %user %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 %usr %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学习方法步骤

Linux系统中CPU使用率查询常用的5个命令的更多相关文章

  1. Linux 系统中如何查看日志 (常用命令) tail -f

    Linux 系统中如何查看日志 (常用命令)  tail -f 日志文件 日 志 文 件 说 明 /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日 ...

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

    在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况.而监控CPU的性能一般包括以下3点:运行队列.CPU使用率和上下文切换. 1.top 这个命令很常用,在第三行有显示CP ...

  3. linux:关于Linux系统中 CPU Memory IO Network的性能监测

    我们知道:系统优化是一项复杂.繁琐.长期的工作.通常监测的子系统有以下这些:CPUMemoryIO Network 下面是常用的监测工具 Linux 系统包括很多子系统(包括刚刚介绍的CPU,Memo ...

  4. (Linux基础学习)第四章:Linux系统中的日期和时间介绍和ntpdate命令

    第1节:日期和时间1.Linux的两种时钟:系统时钟:由Linux内核通过CPU的工作频率进行的硬件时钟:主板2.相关命令date 显示和设置系统时间hwclock,clock 显示硬件时钟-s,-- ...

  5. linux系统中如何查看日志 (常用命令2)

    cat tail -f 日 志 文 件 说 明 /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一 /var/log/secure 与安全相关 ...

  6. linux系统中如何查看日志 (常用命令)

    cat tail -f 日 志 文 件 说 明 /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一 /var/log/secure 与安全相关 ...

  7. linux系统中日常运维常用命令汇总一

    一.查看日志和机器相关信息常用命令 1.cat cat 命令连接文件并打印到标准输出设备上,cat经常用来显示文件的内容,类似于下的type命令注意:当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往 ...

  8. linux系统物理cpu信息查询

    1.查看CPU型号          cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c  2.查看物理CPU的个数            ca ...

  9. 学习Linux系统中命令的简单方法

    如果说如何快速学习.了解Linux的话,我的答案是学命令.背命令!为何呢?对于一名新手来说,去学习Linux的思想.了解Linux的架构.明白Linux中“一切皆文件”概念虽然说是没有错,是对的.但是 ...

随机推荐

  1. CSS3--响应式布局

    一.流式布局 不再使用px作为盒模型布局,而是采用百分比布局宽高,定位等. 公式:目标元素宽度/上下文元素宽度=百分比宽度 目标定位/上下文元素宽度或高度=定位距离(保留5位小数点) 用em/rem来 ...

  2. AngularJS学习--- AngularJS中XHR(AJAX)和依赖注入(DI) step5

    前言:本文接前一篇文章,主要介绍什么是XHR,AJAX,DI,angularjs中如何使用XHR和DI. 1.切换工具目录 git checkout -f step- #切换分支 npm start ...

  3. oracle 驱动安装备忘

    ubuntu 从oracle官网下载两个必须的rpm包(这里选择的是version12.1.0.2.0, 64位操作系统) oracle-instantclient12.1-basic-12.1.0. ...

  4. C# 从excel里面复制的1万6千多条记录粘贴到FCKeditor里面,点保存的时候,保存不了,页面没有反应

    客户那边添加公告,是直接从excel里面复制的,有1万6千多条记录,excel文件有6M多. 编辑器用的FCKeditor,也能粘贴上,就是点保存的时候,执行了一段时间就没有反映了,保存不了. 想着可 ...

  5. 杀死你网站SEO的5个技术

    胡亮亮先生(网迈SEO总监)在其微信公众帐号里发布了文章<杀死你网站SEO的5个技术>,发出来给大家分享一下: 应百度站长平台邀请,抽空把这篇文章做一些细节上的补充 ,欢迎大家关注并讨论. ...

  6. RNN and LSTM saliency Predection Scene Label

    http://handong1587.github.io/deep_learning/2015/10/09/rnn-and-lstm.html  //RNN and LSTM http://hando ...

  7. Grandpa's Estate---POJ1228(凸包)

    http://poj.org/problem?id=1228 学长说这是稳定凸包,我感觉就是凸包嘛. 所谓稳定就是判断能不能在原有凸包上加点,得到一个更大的凸包,并且这个凸包包含原有凸包上的所有点.知 ...

  8. Tempter of the Bone---hdu1010(dfs+剪枝)

    http://acm.hdu.edu.cn/showproblem.php?pid=1010 折磨我一下午 题目大意: 从s点走到d点能否恰好走k步   刚开始以为是广搜,其实是深搜. dfs多优化一 ...

  9. 线状DP(石子归并)

    题意:有N堆石子,现要将石子有序的合并成一堆,规定如下:每次只能移动相邻的2堆石子合并,合并花费为新合成的一堆石子的数量.求将这N堆石子合并成一堆的总花费最小(或最大). dp[i][j]为从i到j的 ...

  10. load data ERROR 1197 (HY000)错误

    有一份csv格式的文件,大小在14G左右.max_binlog_cache_size=4G. 登录mysql实例,选择对应的表通过load data往指定表里导数.大概20分钟左右,报以下错误: ER ...