查询系统负载信息 Linux 命令详解.docx

上传人:b****8 文档编号:28469377 上传时间:2023-07-14 格式:DOCX 页数:14 大小:22.23KB
下载 相关 举报
查询系统负载信息 Linux 命令详解.docx_第1页
第1页 / 共14页
查询系统负载信息 Linux 命令详解.docx_第2页
第2页 / 共14页
查询系统负载信息 Linux 命令详解.docx_第3页
第3页 / 共14页
查询系统负载信息 Linux 命令详解.docx_第4页
第4页 / 共14页
查询系统负载信息 Linux 命令详解.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

查询系统负载信息 Linux 命令详解.docx

《查询系统负载信息 Linux 命令详解.docx》由会员分享,可在线阅读,更多相关《查询系统负载信息 Linux 命令详解.docx(14页珍藏版)》请在冰豆网上搜索。

查询系统负载信息 Linux 命令详解.docx

查询系统负载信息Linux命令详解

linuxuptime命令主要用于获取主机运行时间和查询linux系统负载等信息。

uptime命令过去只显示系统运行多久。

现在,可以显示系统已经运行了多长时间,信息显示依次为:

现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。

uptime命令用法十分简单:

直接输入

#uptime

即可。

输入样例:

18:

02:

41up41days,23:

42,1user,loadaverage:

0.00,0.00,0.00

1可以被认为是最优的负载值。

负载是会随着系统不同改变得。

单CPU系统1-3和SMP系统6-10都是可能接受的。

另外还有一个参数-V,是用来查询版本的。

(注意是大写的字母v)

[linux@localhost]$uptime-V

procpsversion3.2.7

[linux@localhost]$uptime

显示结果为:

10:

19:

04up257days,18:

56,12users,loadaverage:

2.10,2.10,2.09

显示内容说明:

10:

19:

04//系统当前时间

up257days,18:

56//主机已运行时间,时间越大,说明你的机器越稳定。

12user//用户连接数,是总连接数而不是用户数

loadaverage//系统平均负载,统计最近1,5,15分钟的系统平均负载

那么什么是系统平均负载呢?

系统平均负载是指在特定时间间隔内运行队列中的平均进程数。

如果每个CPU内核的当前活动进程数不大于3的话,那么系统的性能是良好的。

如果每个CPU内核的任务数大于5,那么这台机器的性能有严重问题。

如果你的linux主机是1个双核CPU的话,当LoadAverage为6的时候说明机器已经被充分使用了。

查看cpu负载

怎样才能快速的定位到并发高是由于磁盘io开销大呢?

可以通过三种方式:

  第一种:

用top命令中的cpu信息观察

  Top可以看到的cpu信息有:

  Tasks:

29total,1running,28sleeping,0stopped,0zombie

  Cpu(s):

0.3%us,1.0%sy,0.0%ni,98.7%id,0.0%wa,0.0%hi,0.0%si

  具体的解释如下:

  Tasks:

29total进程总数

  1running正在运行的进程数

  28sleeping睡眠的进程数

  0stopped停止的进程数

  0zombie僵尸进程数

  Cpu(s):

  0.3%us用户空间占用CPU百分比

  1.0%sy内核空间占用CPU百分比

  0.0%ni用户进程空间内改变过优先级的进程占用CPU百分比

  98.7%id空闲CPU百分比

  0.0%wa等待输入输出的CPU时间百分比

  0.0%hi

  0.0%si

  0.0%wa的百分比可以大致的体现出当前的磁盘io请求是否频繁。

如果wa的数量比较大,说明等待输入输出的的io比较多。

  第二种:

用vmstat

  vmstat命令报告关于线程、虚拟内存、磁盘、陷阱和CPU活动的统计信息。

由vmstat命令生成的报告可以用于平衡系统负载活动。

系统范围内的这些统计信息(所有的处理器中)都计算出以百分比表示的平均值,或者计算其总和。

  输入命令:

  vmstat25

  如果发现等待的进程和处在非中断睡眠状态的进程数非常多,并且发送到块设备的块数和从块设备接收到的块数非常大,那就说明磁盘io比较多。

  vmstat参数解释:

  Procs

  r:

等待运行的进程数b:

处在非中断睡眠状态的进程数w:

被交换出去的可运行的进程数。

此数由linux计算得出,但linux并不耗尽交换空间

  Memory

  swpd:

虚拟内存使用情况,单位:

KB

  free:

空闲的内存,单位KB

  buff:

被用来做为缓存的内存数,单位:

KB

  Swap

  si:

从磁盘交换到内存的交换页数量,单位:

KB/秒

  so:

从内存交换到磁盘的交换页数量,单位:

KB/秒

  IO

  bi:

发送到块设备的块数,单位:

块/秒

  bo:

从块设备接收到的块数,单位:

块/秒

  System

  in:

每秒的中断数,包括时钟中断

  cs:

每秒的环境(上下文)切换次数

  CPU

  按CPU的总使用百分比来显示

  us:

CPU使用时间

  sy:

CPU系统使用时间

  id:

闲置时间

  准测

  更多vmstat使用信息

  第二种:

用iostat

  安装:

  Iostat是sysstat工具集的一个工具,需要安装。

  Centos的安装方式是:

  yuminstallsysstat

  Ubuntu的安装方式是:

  aptitudeinstallsysstat

  使用:

  iostat-dx显示磁盘扩展信息

  root@fileapp:

~#iostat-dx

  r/s和w/s分别是每秒的读操作和写操作,而rKB/s和wKB/s列以每秒千字节为单位显示了读和写的数据量

  如果这两对数据值都很高的话说明磁盘io操作是很频繁。

Linux查看IO的工具主要有两个,iostat(集成于sysstat包中)和iotop。

前者经常用于查看分区的IO情况,后者常用来查看每个进程的IO占用。

[root@bogon~]#yuminstallsysstat

[root@bogon~]#iostat-x1#每隔一秒显示一次

avg-cpu:

%user%nice%system%iowait%steal%idle

0.000.000.000.000.00100.00

Device:

rrqm/swrqm/sr/sw/srsec/swsec/savgrq-szavgqu-szawaitsvctm%

sda0.000.000.000.000.000.000.000.000.000.00

sda10.000.000.000.000.000.000.000.000.000.00

sda20.000.000.000.000.000.000.000.000.000.00

dm-00.000.000.000.000.000.000.000.000.000.00

dm-10.000.000.000.000.000.000.000.000.000.00

hdc0.000.000.000.000.000.000.000.000.000.00

[root@bogon~]#yuminstalliotop

[root@bogon~]#iotop-o#仅显示占用IO的进程

TotalDISKread:

0.00B/s|TotalDISKwrite:

25.97K/s

TIDPRIOUSERDISKREADDISKWRITESWAPINIO>command

5be/3root0.00B/s0.00B/s0.00%0.88%[khelper]

534be/3root0.00B/s25.17K/s0.00%0.03%[kjournald]

187be/3root0.00B/s0.00B/s0.00%0.01%[cqueue/0]

2945be/4root0.00B/s0.00B/s0.00%0.00%automount--pid-fi~var/run/autofs.pid

2513be/3root0.00B/s0.00B/s0.00%0.00%auditd

2865be/4haldaemo0.00B/s0.00B/s0.00%0.00%hald-addon-keyboar~/dev/input/event0

18be/3root0.00B/s0.00B/s0.88%0.00%[kblockd/0]

2844be/4root0.00B/s0.00B/s0.00%0.00%hald-runner

2457be/4root0.00B/s0.00B/s0.00%0.00%dhclient-1-q-lf~ient-eth0.pideth0

508be/3root0.00B/s0.00B/s0.00%0.00%[ata/0]

2970be/4root0.00B/s0.00B/s0.00%0.00%sshd

iotop选项:

–versionshowprogram’sversionnumberandexit

-h,–helpshowthishelpmessageandexit

-o,–onlyonlyshowprocessesorthreadsactuallydoingI/O

-b,–batchnon-interactivemode

-nNUM,–iter=NUMnumberofiterationsbeforeending[infinite]

-dSEC,–delay=SECdelaybetweeniterations[1second]

-pPID,–pid=PIDprocesses/threadstomonitor[all]

-uUSER,–user=USERuserstomonitor[all]

-P,–processesonlyshowprocesses,notallthreads

-a,–accumulatedshowaccumulatedI/Oinsteadofbandwidth

-k,–kilobytesusekilobytesinsteadofahumanfriendlyunit

-t,–timeaddatimestamponeachline(implies–batch)

-q,–quietsuppresssomelinesofheader(implies–batch)

-p指定进程ID,显示该进程的IO情况

-u指定用户名,显示该用户所有的进程IO情况

CPU使用率

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

[root@li676-235~]#sar-u15

Linux3.18.5-x86_64-linode52(li676-235)07/20/2015_x86_64_(1CPU)

02:

41:

25PMCPU%user%nice%system%iowait%steal%idle

02:

41:

26PMall64.710.0018.630.000.9815.69

02:

41:

27PMall29.470.0022.1114.740.0033.68

02:

41:

28PMall67.330.0031.680.990.000.00

02:

41:

29PMall7.000.002.000.000.0091.00

02:

41:

30PMall69.000.0023.000.000.008.00

Average:

all47.790.0019.483.010.2029.52

和top一样,可以看到所有cpu的使用情况。

如果需要查看某颗cpu的使用可以用-P参数。

例如指定显示0号cpu的使用情况。

[root@li676-235~]#sar-P0-u15Linux3.18.5-x86_64-linode52(li676-235)07/20/2015_x86_64_(1CPU)02:

45:

14PMCPU%user%nice%system%iowait%steal%idle02:

45:

15PM044.000.0052.004.000.000.0002:

45:

16PM09.280.0026.8062.891.030.0002:

45:

17PM03.060.0014.2981.631.020.0002:

45:

18PM04.120.0022.6872.161.030.0002:

45:

19PM04.120.0022.6872.161.030.00Average:

013.090.0027.8158.280.820.00

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

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

[root@li676-235~]#sar-q15Linux3.18.5-x86_64-linode52(li676-235)07/20/2015_x86_64_(1CPU)02:

48:

47PMrunq-szplist-szldavg-1ldavg-5ldavg-1502:

48:

48PM11330.340.430.4102:

48:

49PM21320.340.430.4102:

48:

50PM11330.340.430.4102:

48:

51PM21340.310.420.4002:

48:

52PM11330.310.420.40Average:

11330.330.430.41

输出项:

runq-sz:

运行队列的长度(等待运行的进程数)

plist-sz:

进程列表中进程(processes)和线程(threads)的数量

ldavg-1:

最后1分钟的系统平均负载(Systemloadaverage)

ldavg-5:

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

ldavg-15:

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

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

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

[root@li676-235~]#sar-w15Linux3.18.5-x86_64-linode52(li676-235)07/20/2015_x86_64_(1CPU)02:

54:

03PMproc/scswch/s02:

54:

04PM1.01156.5702:

54:

05PM1.00132.0002:

54:

06PM2.00201.0002:

54:

07PM2.02126.2602:

54:

08PM2.00114.00Average:

1.61145.98

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

[root@li676-235~]#sar-u-f/var/log/sa/sa20Linux3.18.5-x86_64-linode52(li676-235)07/20/2015_x86_64_(1CPU)01:

10:

01PMCPU%user%nice%system%iowait%steal%idle01:

20:

02PMall25.780.008.883.590.1561.6001:

30:

01PMall26.060.009.963.330.1060.5501:

40:

01PMall25.730.009.173.700.0961.3201:

50:

01PMall25.700.009.502.790.1261.8902:

00:

01PMall26.700.009.732.200.1061.2802:

10:

01PMall26.160.009.564.340.1159.8202:

20:

01PMall25.490.009.612.760.0762.0702:

30:

01PMall26.470.009.940.640.3062.6502:

40:

02PMall27.320.0010.373.860.1558.3002:

50:

02PMall26.980.0010.384.560.1357.95Average:

all26.240.009.713.180.1360.74

4、mpstat

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

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

[root@li676-235~]#mpstat15Linux3.18.5-x86_64-linode52(li676-235)07/20/2015_x86_64_(1CPU)03:

01:

18PMCPU%usr%nice%sys%iowait%irq%soft%steal%guest%idle03:

01:

19PMall52.530.0023.230.000.000.000.000.0024.2403:

01:

20PMall21.000.004.000.000.000.000.000.0075.0003:

01:

21PMall53.000.0018.000.000.000.000.000.0029.0003:

01:

22PMall26.000.003.000.000.000.000.000.0071.0003:

01:

23PMall46.000.0018.000.000.000.000.000.0036.00Average:

all39.680.0013.230.000.000.000.000.0047.09

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

6、dstat

每秒cpu使用率情况获取

[root@li676-235~]#dstat-c----total-cpu-usage----

usrsysidlwaihiqsiq

5491100

271162000

521137000

261063001

501337001

21672000

最占cpu的进程获取

[root@li676-235~]#dstat--top-cpu-most-expensive-

cpuprocess

mysqld1.5

php-fpm:

pool24

mysqld59

 

#vmstat

procs-----------memory-------------swap-------io------system-------cpu------

rbswpdfreebuffcachesisobiboincsussyidwast

143297962604045283379824115016036172108530

procs

r列表示运行和等待cpu时间片的进程数,如果长期大于1,说明cpu不足,需要增加cpu。

b列表示在等待资源的进程数,比如正在等待I/O、或者内存交换等。

cpu表示cpu的使用状态

us列显示了用户方式下所花费CPU时间的百分比。

us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期大于50%,需要考虑优化用户的程序。

sy列显示了内核进程所花费的cpu时间的百分比。

这里us+sy的参考值为80%,如果us+sy大于80%说明可能存在CPU不足。

wa列显示了IO等待所占用的CPU时间的百分比。

这里wa的参考值为30%,如果wa超过30%,说明IO等待严重,这可能是磁盘大量随机访问造成的,也可能磁盘或者磁盘访问控制器的带宽瓶颈造成的(主要是块操作)。

id列显示了cpu处在空闲状态的时间百分比

system显示采集间隔内发生的中断数

in列表示在某一时间间隔中观测到的每秒设备中断数。

cs列表示每秒产生的上下文切换次数,如当cs比磁盘I/O和网络信息包速率高得多,都应进行进一步调查。

memory

swpd切换到内存交换区的内存数量(k表示)。

如果swpd的值不为0,或者比较大,比如超过了100m,只要si、so的值长期为0,系统性能还是正常

free当前的空闲页面列表中内存数量(k表示)

buff作为buffercache的内存数量,一般对块设备的读写才需要缓冲。

cache:

作为pagecache的内存数量,一般作为文件系统的cache,如果cache较大,说明用到cache的文件较多,如果此时IO中bi比较小,说明文件系统效率比较好。

swap

si由内存进入内存交换区数量。

so由内存交换区进入内存数量。

IO

bi从块设备读入数据的总量(读磁盘)(每秒kb)。

bo块设备写入数据的总量(写磁盘)(每秒kb)

这里我们设置的bi+bo参考值为1000,如果超过1000,而且wa值较大应该考虑均衡磁盘负载,可以结合iostat输出来分析。

第二种:

用iostat

  安装:

  Iostat是sysstat工具集的一个工具,需要安装。

  Centos的安装方式是:

  yuminstallsysstat

  Ubuntu的安装方式是:

  aptitudeinstallsysstat

  使用:

  iostat-dx显示磁盘扩展信息

  root@fileapp:

~#iostat-dx

  r/s和w/s分别是每秒的读操作和写操作,而rKB/s和wKB/s列以每秒千字节为单位显示了读和写的数据量

  如果这两对数据值都很高的话说明磁盘io操作是很频繁。

linux下查看系统资源和负载,以及性能监控的查看

1,查看磁盘

df-h

2,查看内存大小

free

free[-m|g]按MB,GB显示内存

vmstat

3,查看cpu

cat/proc/cpuinfo

只看cpu数量grep"modelname"/proc/cpuinfo|wc-l

4,查看系统内存

cat/proc/meminfo

5,查看每个进程的情况

cat/proc/5346/status5347是pid

6,查看负载

w

uptime

7,查看系统整体状态

top

最后一些输出信息的解释:

loadaverage:

0.09,0.05,0.01

三个数分别代表不同时间段的系统平均负载(一分钟、五分钟、以及十五分钟),它们的数字当然是越小越好。

“有多少核心即为

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1