查询系统负载信息Linux命令详解讲述_第1页
查询系统负载信息Linux命令详解讲述_第2页
查询系统负载信息Linux命令详解讲述_第3页
查询系统负载信息Linux命令详解讲述_第4页
查询系统负载信息Linux命令详解讲述_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、linux uptime命令主要用于获取主机运行时间和查询linux系统负载等信息。uptime命令过去只显示系统运行多久。现在,可以显示系统已经运行了多长时间,信息显示依次为:现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。uptime命令用法十分简单:直接输入# uptime即可。输入样例:18:02:41 up 41 days, 23:42, 1 user, load average: 0.00, 0.00, 0.001可以被认为是最优的负载值。负载是会随着系统不同改变得。单CPU系统1-3和SMP系统6-10都是可能接受的。另外还

2、有一个参数 -V ,是用来查询版本的。 (注意是大写的字母v)linux localhost$ uptime -Vprocps version 3.2.7linux localhost$ uptime显示结果为:10:19:04 up 257 days, 18:56, 12 users, load average: 2.10, 2.10,2.09显示内容说明:10:19:04 /系统当前时间up 257 days, 18:56 /主机已运行时间,时间越大,说明你的机器越稳定。12 user /用户连接数,是总连接数而不是用户数load average / 系统平均负载,统计最近1,5,15分钟

3、的系统平均负载那么什么是系统平均负载呢? 系统平均负载是指在特定时间间隔内运行队列中的平均进程数。如果每个CPU内核的当前活动进程数不大于3的话,那么系统的性能是良好的。如果每个CPU内核的任务数大于5,那么这台机器的性能有严重问题。如果你的linux主机是1个双核CPU的话,当Load Average 为6的时候说明机器已经被充分使用了。查看cpu负载怎样才能快速的定位到并发高是由于磁盘io开销大呢?可以通过三种方式:第一种:用 top 命令 中的cpu 信息观察Top可以看到的cpu信息有:Tasks: 29 total, 1 running, 28 sleeping, 0 stopped

4、, 0 zombieCpu(s): 0.3% us, 1.0% sy, 0.0% ni, 98.7% id, 0.0% wa, 0.0% hi, 0.0% si具体的解释如下:Tasks: 29 total 进程总数1 running 正在运行的进程数28 sleeping 睡眠的进程数0 stopped 停止的进程数0 zombie 僵尸进程数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

5、0.0% si0.0% wa 的百分比可以大致的体现出当前的磁盘io请求是否频繁。如果 wa的数量比较大,说明等待输入输出的的io比较多。第二种:用vmstatvmstat 命令报告关于线程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息。由 vmstat 命令生成的报告可以用于平衡系统负载活动。系统范围内的这些统计信息(所有的处理器中)都计算出以百分比表示的平均值,或者计算其总和。输入命令:vmstat 2 5如果发现等待的进程和处在非中断睡眠状态的进程数非常多,并且发送到块设备的块数和从块设备接收到的块数非常大,那就说明磁盘io比较多。vmstat参数解释:Procsr: 等待运行的进程数

6、 b: 处在非中断睡眠状态的进程数 w: 被交换出去的可运行的进程数。此数由 linux 计算得出,但 linux 并不耗尽交换空间Memoryswpd: 虚拟内存使用情况,单位:KBfree: 空闲的内存,单位KBbuff: 被用来做为缓存的内存数,单位:KBSwapsi: 从磁盘交换到内存的交换页数量,单位:KB/秒so: 从内存交换到磁盘的交换页数量,单位:KB/秒IObi: 发送到块设备的块数,单位:块/秒bo: 从块设备接收到的块数,单位:块/秒Systemin: 每秒的中断数,包括时钟中断cs: 每秒的环境(上下文)切换次数CPU按 CPU 的总使用百分比来显示us: CPU 使用

7、时间sy: CPU 系统使用时间id: 闲置时间准测更多vmstat使用信息第二种:用iostat安装:Iostat 是 sysstat 工具集的一个工具,需要安装。Centos的安装方式是:yum install sysstatUbuntu的安装方式是:aptitude install sysstat使用:iostat -dx 显示磁盘扩展信息rootfileapp:# iostat -dxr/s 和 w/s 分别是每秒的读操作和写操作,而rKB/s 和wKB/s 列以每秒千字节为单位显示了读和写的数据量如果这两对数据值都很高的话说明磁盘io操作是很频繁。Linux查看IO的工具主要有两个,

8、iostat(集成于sysstat包中)和iotop。前者经常用于查看分区的IO情况,后者常用来查看每个进程的IO占用。rootbogon # yum install sysstatrootbogon # iostat -x 1 #每隔一秒显示一次avg-cpu: %user %nice %system %iowait %steal %idle 0.00 0.00 0.00 0.00 0.00 100.00Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %sda 0.00 0.00 0.00 0

9、.00 0.00 0.00 0.00 0.00 0.00 0.00 sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sda2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 dm-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 dm-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 hdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.

10、00 0.00rootbogon # yum install iotoprootbogon # iotop -o #仅显示占用IO的进程Total DISK read: 0.00 B/s | Total DISK write: 25.97 K/s TID PRIO USER DISK READ DISK WRITE SWAPIN IO> command 5 be/3 root 0.00 B/s 0.00 B/s 0.00 % 0.88 % khelper 534 be/3 root 0.00 B/s 25.17 K/s 0.00 % 0.03 % kjournald 187 be/3 r

11、oot 0.00 B/s 0.00 B/s 0.00 % 0.01 % cqueue/0 2945 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % automount -pid-fivar/run/autofs.pid 2513 be/3 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % auditd 2865 be/4 haldaemo 0.00 B/s 0.00 B/s 0.00 % 0.00 % hald-addon-keyboar /dev/input/event0 18 be/3 root 0.00 B/s 0.00 B/s

12、 0.88 % 0.00 % kblockd/0 2844 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % hald-runner 2457 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % dhclient -1 -q -lfient-eth0.pid eth0 508 be/3 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % ata/0 2970 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % sshdiotop选项:version show programs

13、 version number and exit-h, help show this help message and exit-o, only only show processes or threads actually doing I/O-b, batch non-interactive mode-n NUM, iter=NUM number of iterations before ending infinite-d SEC, delay=SEC delay between iterations 1 second-p PID, pid=PID processes/threads to

14、monitor all-u USER, user=USER users to monitor all-P, processes only show processes, not all threads-a, accumulated show accumulated I/O instead of bandwidth-k, kilobytes use kilobytes instead of a human friendly unit-t, time add a timestamp on each line (implies batch)-q, quiet suppress some lines

15、of header (implies batch)-p 指定进程ID,显示该进程的IO情况-u 指定用户名,显示该用户所有的进程IO情况CPU使用率例如每1秒采集一次CPU使用率,共采集5次。rootli676-235 # sar -u 1 5Linux 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 %idle02:41:26 PM all 64.71 0.00 18.63 0.00 0.98 15.6902:41:

16、27 PM all 29.47 0.00 22.11 14.74 0.00 33.6802:41:28 PM all 67.33 0.00 31.68 0.99 0.00 0.0002:41:29 PM all 7.00 0.00 2.00 0.00 0.00 91.0002:41:30 PM all 69.00 0.00 23.00 0.00 0.00 8.00Average: all 47.79 0.00 19.48 3.01 0.20 29.52和top一样,可以看到所有cpu的使用情况。如果需要查看某颗cpu的使用可以用-P参数。例如指定显示0号cpu 的使用情况。rootli676-

17、235 # sar -P 0 -u 1 5Linux 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 %idle02:45:15 PM 0 44.00 0.00 52.00 4.00 0.00 0.0002:45:16 PM 0 9.28 0.00 26.80 62.89 1.03 0.0002:45:17 PM 0 3.06 0.00 14.29 81.63 1.02 0.0002:45:18 PM 0 4.12 0

18、.00 22.68 72.16 1.03 0.0002:45:19 PM 0 4.12 0.00 22.68 72.16 1.03 0.00Average: 0 13.09 0.00 27.81 58.28 0.82 0.00进程队列长度和平均负载状态例如每1秒采集一次,共采集5次。rootli676-235 # sar -q 1 5Linux 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-1502:48:48 PM

19、 1 133 0.34 0.43 0.4102:48:49 PM 2 132 0.34 0.43 0.4102:48:50 PM 1 133 0.34 0.43 0.4102:48:51 PM 2 134 0.31 0.42 0.4002:48:52 PM 1 133 0.31 0.42 0.40Average: 1 133 0.33 0.43 0.41输出项:runq-sz:运行队列的长度(等待运行的进程数)plist-sz:进程列表中进程(processes)和线程(threads)的数量ldavg-1:最后1分钟的系统平均负载(System load average)ldavg-5:过去

20、5分钟的系统平均负载ldavg-15:过去15分钟的系统平均负载进程创建的平均值和上下文切换的次数例如每1秒收集一次,共收集5次。rootli676-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/s02:54:04 PM 1.01 156.5702:54:05 PM 1.00 132.0002:54:06 PM 2.00 201.0002:54:07 PM 2.02 126.2602:54:08 PM 2.00 114.0

21、0Average: 1.61 145.98sar命令也可以获取过去指定日期的性能参数。rootli676-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 %idle01:20:02 PM all 25.78 0.00 8.88 3.59 0.15 61.6001:30:01 PM all 26.06 0.00 9.96 3.33 0.10 6

22、0.5501:40:01 PM all 25.73 0.00 9.17 3.70 0.09 61.3201:50:01 PM all 25.70 0.00 9.50 2.79 0.12 61.8902:00:01 PM all 26.70 0.00 9.73 2.20 0.10 61.2802:10:01 PM all 26.16 0.00 9.56 4.34 0.11 59.8202:20:01 PM all 25.49 0.00 9.61 2.76 0.07 62.0702:30:01 PM all 26.47 0.00 9.94 0.64 0.30 62.6502:40:02 PM al

23、l 27.32 0.00 10.37 3.86 0.15 58.3002:50:02 PM all 26.98 0.00 10.38 4.56 0.13 57.95Average: all 26.24 0.00 9.71 3.18 0.13 60.744、mpstat这个命令也在sysstat包中,语法类似。例如每1秒收集一次,共5次。rootli676-235 # mpstat 1 5Linux 3.18.5-x86_64-linode52 (li676-235) 07/20/2015 _x86_64_ (1 CPU)03:01:18 PM CPU %usr %nice %sys %iowa

24、it %irq %soft %steal %guest %idle03:01:19 PM all 52.53 0.00 23.23 0.00 0.00 0.00 0.00 0.00 24.2403:01:20 PM all 21.00 0.00 4.00 0.00 0.00 0.00 0.00 0.00 75.0003:01:21 PM all 53.00 0.00 18.00 0.00 0.00 0.00 0.00 0.00 29.0003:01:22 PM all 26.00 0.00 3.00 0.00 0.00 0.00 0.00 0.00 71.0003:01:23 PM all 4

25、6.00 0.00 18.00 0.00 0.00 0.00 0.00 0.00 36.00Average: all 39.68 0.00 13.23 0.00 0.00 0.00 0.00 0.00 47.09cpu使用情况比sar更加详细些,也可以用-P指定某颗cpu 。6、dstat每秒cpu使用率情况获取rootli676-235 # 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

26、72 0 0 0最占cpu的进程获取rootli676-235 # dstat -top-cpu-most-expensive- cpu process mysqld 1.5php-fpm: pool 24mysqld 59#vmstatprocs -memory- -swap- -io- -system- -cpu-r b swpd free buff cache si so bi bo in cs us sy id wa st1 4 329796 26040 4528 3379824 1 1 50 160 36 17 2 10 85 3 0procsr 列表示运行和等待cpu时间片的进程数

27、,如果长期大于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等待严重,这可能是磁盘大量随机访问造成的,也可能磁盘或者磁盘访

28、问控制器的带宽瓶颈造成的(主要是块操作)。 id 列显示了cpu处在空闲状态的时间百分比 system 显示采集间隔内发生的中断数in 列表示在某一时间间隔中观测到的每秒设备中断数。cs列表示每秒产生的上下文切换次数,如当 cs 比磁盘 I/O 和网络信息包速率高得多,都应进行进一步调查。memoryswpd 切换到内存交换区的内存数量(k表示)。如果swpd的值不为0,或者比较大,比如超过了100m,只要si、so的值长期为0,系统性能还是正常 free 当前的空闲页面列表中内存数量(k表示) buff 作为buffer cache的内存数量,一般对块设备的读写才需要缓冲。 cache: 作

29、为page cache的内存数量,一般作为文件系统的cache,如果cache较大,说明用到cache的文件较多,如果此时IO中bi比较小,说明文件系统效率比较好。 swapsi 由内存进入内存交换区数量。so由内存交换区进入内存数量。 IObi 从块设备读入数据的总量(读磁盘)(每秒kb)。bo 块设备写入数据的总量(写磁盘)(每秒kb)这里我们设置的bi+bo参考值为1000,如果超过1000,而且wa值较大应该考虑均衡磁盘负载,可以结合iostat输出来分析。 第二种:用iostat安装:Iostat 是 sysstat 工具集的一个工具,需要安装。Centos的安装方式是:yum in

30、stall sysstatUbuntu的安装方式是:aptitude install sysstat使用:iostat -dx 显示磁盘扩展信息rootfileapp:# iostat -dxr/s 和 w/s 分别是每秒的读操作和写操作,而rKB/s 和wKB/s 列以每秒千字节为单位显示了读和写的数据量如果这两对数据值都很高的话说明磁盘io操作是很频繁。 linux下查看系统资源和负载,以及性能监控的查看1,查看磁盘df -h2,查看内存大小freefree -m|g按MB,GB显示内存vmstat3,查看cpucat /proc/cpuinfo只看cpu数量grep "model name" /proc/cpuinfo | wc -l4,查看系统内存cat /proc/meminfo5,查看每个进程的情况cat /proc/5346/status 5347是pid6,查看负载wuptime7,查看系统整体状态top最后一些输出信息的解释:load average: 0.09, 0.05, 0.01三

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论