博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
20个Linux系统内置监视工具:top
阅读量:7049 次
发布时间:2019-06-28

本文共 2131 字,大约阅读时间需要 7 分钟。

【人在运维囧途_01】20个Linux系统内置监视工具:top

人在运维囧途、常常缠绵着的性能问题、如:I/O、CPU、内存、网络等瓶颈

       那么系统运维、岂能酣眠?以下工具有提神醒脑之功效哟~(@^_^@)~

       

       ⑴ top

       

          写在前面的话、这里 Rocky 想澄清一点、窃以为、top 最佳实践应该是:

          "想要找出最损耗 CPU 资源的那个进程"

          找出来之后、按【P】、强制以 CPU 使用排序

          

          有别于 ps 的静态输出、top 可持续监测进程的工作状态、缺省刷新频率为 5 次/s、不过选项【-d】可进行修改

          

          top 缺省以 CPU 使用率(%CPU)排序、按【M】则以内存(%MEM)排序、恢复按【P】、退出按【q】

          

          top 输出结果可分 2 部分:整个系统的资源使用状况和每个进程的资源使用情况

          

          先看上半部分的输出案例:

[plain] 

top - 00:09:57 up  3:22,  2 users,  load average: 0.06, 0.17, 0.12  

Tasks: 153 total,   2 running, 150 sleeping,   0 stopped,   1 zombie  

Cpu(s):  1.2%us,  1.2%sy,  0.1%ni, 96.6%id,  0.8%wa,  0.0%hi,  0.0%si,  0.1%st  

Mem:   1998848k total,   825504k used,  1173344k free,    77180k buffers  

Swap:        0k total,        0k used,        0k free,   421704k d  

          ① 第一行【top】显示的内容:

             ● 当前时间:00:09:57

             ● 开机到目前为止所经过的时间:3:22 时

             ● 已经登入系统的使用者人数:2

             ● 系统在每 1、5、15分钟的平均使用负载、越小代表系统越闲置、若 >1 则要注意

             

          ② 第二行【Tasks】显示的内容:

             目前的总量和每个程序在神马状态(running、sleeping、stopped、zombie)

             需要注意的是zombie、如果非0、那么需要注意

             使用 "ps -lef |  defunct"找出僵尸进程

             有些zombie进程即便kill -9照旧置若罔闻、占着茅坑不拉屎

[plain] 

[root@Rocky ~]#  -lef | grep defunct  

1 Z root      8519  8487  0  78   0 -     0 exit   Mar28 ?        00:00:00 [Xsession] <defunct>  

0 R root     17710  8875  0  78   0 -  1282 -      00:41 pts/1    00:00:00 grep defunct  

             完全清除zombie进程方法如下:

             ⒈  -18 PPID(ppid是其父进程、这里是8487)

                ##告诉父进程、其子已死、请收回所配资源

                ##如果不行、请看第 2 点

             ⒉ 杀死zombie的父进程、不过、这之前先得把zombie的兄弟给干掉

                kill -15 PID1 PID2

                而后、"kill -9 PPID"

             

          ③ 第三行【Cpu(s)】显示CPU的整体负载:

             特别注意【%wa】、这个代表 I/O wait、通常你机器变慢 I/O 是其主要的贡献者

             另外、如果是多核、按【1】却换不同 CPU的负载率

             

          ④ 注意 Swap 的使用率、越小越好

          

          

          再来看下半部分的输出案例:

[plain] 

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                             

470 root      15   0 53820  10m 5720 S  3.9  0.5   0:27.10 Xorg                                                                

  1 root      15   0  2176  652  556 S  0.0  0.0   0:03.12 init                                                                

  2 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 migration/0                                                         

  3 root      34  19     0    0    0 S  0.0  0.0   0:00.01 ksoftirqd/0                                                         

  4 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/0                                                          

  5 root      10  -5     0    0    0 S  0.0  0.0   0:00.04 events/0                                                            

  6 root      12  -5     0    0    0 S  0.0  0.0   0:00.00 khelper   

          ① PID:每个进程的id

          ② USER:每个进程的所属用户

          ③ PR:priority的简写、进程的优先执行顺序、越小越好

          ④ NI:nice的简写、

          ⑤ %CPU:CPU 使用率

          ⑥ %MEM:内存使用率

          ⑦ TIME+  :累计 CPU 的使用时间

          

          

          下面介绍一些常见的用法

          

          Ⅰ 每 2 秒更新一次 : top -d 2

          Ⅱ 将 top 输出 2 次并把结果重定向到/tmp/top.txt:top -b -n 2 > /tmp/top.txt

          Ⅲ 指定 某个进程的 top 输出:top -p PID

 

  • 本文来自:

转载于:https://www.cnblogs.com/www886/p/4235462.html

你可能感兴趣的文章
2014软件表
查看>>
Struts2教程3:struts.xml常用配置解析
查看>>
(转帖)Implementing custom JavaFx Bindings
查看>>
mysql外键
查看>>
转发和重定向的区别
查看>>
<ecmall> ECMall的MySQL数据库调用
查看>>
SugarCRM - 如何修改默认首页
查看>>
Java日期类总结
查看>>
开关标识一个是0一个是-那个是开哪个是关
查看>>
ruby的并发和并行
查看>>
朱晶晶-六步制定好企业移动化战略
查看>>
SVPullToRefresh
查看>>
SSIndicatorLabel
查看>>
ASFBPostController
查看>>
Android实战技巧:Handler
查看>>
JqueryMobile实践点滴
查看>>
teamtalk服务端之完美一键部署脚本(ubuntu)
查看>>
2014.7.26 为cocos2d-x3.2版本增加protobuffer2.5.0支持
查看>>
Java进阶篇设计模式之一 ----- 单例模式
查看>>
字符串循环右移算法
查看>>