Linux下查看CPU使用率的命令

公号:软测小生(ruancexiaosheng)

前一段时间,有人问我,Linux下如何查看CPU以及内存的使用率和详细情况?两眼一抹黑,没实际去操作过,不知道命令;今天抽时间学习一下。
就说在自动化测试中吧也需要经常查看CPU的使用率,最常见的是在做性能测试以及服务器测试的时候,需要分析整体运行情况,给出测试报告;Windows Server的查看当然简单咯,打开任务管理器,还自动绘制出折线图,很直观。

今天就来好好学习下Linux下如何查看CUP的使用率:
监控CPU的性能一般包括以下3点:运行队列、CPU使用率和上下文切换。
对于每一个CPU来说运行队列最好不要超过3,例如,如果是双核CPU就不要超过6。如果队列长期保持在3以上,说明任何一个进程运行时都不能马上得到cpu的响应,这时可能需要考虑升级cpu。另外满负荷运行cpu的使用率最好是user空间保持在65%~70%,system空间保持在30%,空闲保持在0%~5% 。

下面总结下查看CPU使用率常用的几个命令。

1、top

这个命令很常用,在第三行有显示CPU当前的使用情况。

# top -bn 1 -i -c</pre>

image

如上所示,top命令可以看到总体的系统运行状态和cpu的使用率 。

%us:表示用户空间程序的cpu使用率(没有通过nice调度)

%sy:表示系统空间的cpu使用率,主要是内核程序。

%ni:表示用户空间且通过nice调度过的程序的cpu使用率。

%id:空闲cpu

%wa:cpu运行时在等待io的时间

%hi:cpu处理硬中断的数量

%si:cpu处理软中断的数量

%st:被虚拟机偷走的cpu

如果只输入top的话是实时动态的:

image

2、vmstat

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

# vmstat 1 5</pre>

image
image

3、sar

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

CPU使用率

例如每1秒采集一次CPU使用率,共采集5次。(我的机器上没装sysstat,并且刚刚装的时候遇到点问题,晚上在花时间敲一遍命令)

image

[root@Peter ~]# sar -u 1 5

Linux 3.18.5-x86_64-linode52 (Peter) 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@Peter ~]# sar -P 0 -u 1 5

Linux 3.18.5-x86_64-linode52 (Peter) 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@Peter ~]# sar -q 1 5

Linux 3.18.5-x86_64-linode52 (Peter) 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@Peter ~]# sar -w 1 5 **

Linux 3.18.5-x86_64-linode52 (Peter) 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@Peter ~]# sar -u -f /var/log/sa/sa20 **

Linux 3.18.5-x86_64-linode52 (Peter) 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@Peter ~]# mpstat 1 5

Linux 3.18.5-x86_64-linode52 (Peter) 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@Peter ~]# iostat -c 1 2

Linux 3.18.5-x86_64-linode52 (Peter) 07/20/2015 x86_64 (1 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle

4.53 0.01 3.81 0.63 0.04 90.99

avg-cpu: %user %nice %system %iowait %steal %idle

38.00 0.00 14.00 0.00 0.00 48.00

6、dstat

每秒cpu使用率情况获取

[root@Peter~]# dstat -c

----total-cpu-usage----

usr sys idl wai hiq siq

5 4 91 1 0 0

27 11 62 0 0 0

52 11 37 0 0 0

26 10 63 0 0 1

50 13 37 0 0 1

21 6 72 0 0 0

最占cpu的进程获取

[root@Peter ~]# dstat --top-cpu

-most-expensive-

cpu process

mysqld 1.5

php-fpm: pool 24

mysqld 59

写在这最后:

获取这些Linux内容可以使用Python,shell脚本等,编写好脚本语言每次执行一下就可以将结果输出到某地直接查看,更直观,当然需要多多学习脚本编写方便的知识。

还可能是需要在日志中查找各项数据指标,这就涉及到了文件以及文件中查找。
上文提到过的后面几个查内容未能一一在自己电脑中敲一遍,一些工具包尚未安装完成,安装完成后会继续敲完,今天是5.4,下午本来放假的,坚持在公司学习了一会,准备出去浪一下,然后回家继续用自己的电脑,安装库类,继续搞起……

下面是一些博客链接地址:

Linux系统查看CPU使用率的几个命令

linux系统性能监控--CPU利用率

linux下yum安装的最简方法

sysstat 安装 及 使用

Linux命令------------查找(文件、文件中的关键字)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,100评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,308评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,718评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,275评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,376评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,454评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,464评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,248评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,686评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,974评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,150评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,817评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,484评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,140评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,374评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,012评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,041评论 2 351