——毛毛虫笔记原创——
作者:Wendy
————————————
30个Linux系统监测工具(一)
1
前言
使用Linux系统也有很长一段时间,很少想着去监控服务器的性能,想要写这篇博客也是源于想要通过这种方式将这些碎片的知识记录下来,且试用一下其内置的命令和一些附加的工具。
这些工具提供了获取系统活动的相关指标,可以使用这些工具来查找新能问题的可能原因,接下来提到的是一些基本的命令,用于系统分析和服务器调试等,例如:
1. 找出系统瓶颈
2. 磁盘(存储)瓶颈
3. CPU和内存瓶颈
4. 网络瓶颈
1. top - 进程活动监控命令
top命令会显示Linux的进程,从图中可以看出它提供了一个运行中系统的实时动态图,显示了实际的进程活动,默认情况下,会显示服务器上运行的CPU占用率最高的任务,并且每五秒更新一次(可更改),top的详细命令和参数意思可以[参考这篇博客](http://blog.csdn.net/sanshiqiduer/article/details/1933625) 。
figure-1 Linux top命令
**主要说明我自己之前不了解的参数:**
1. up 11:24 是系统运行时间,格式是时:分
2. load average:0.07,0.05,0.01 系统负载,即任务队列的平均长度,是那个值分别是前1分钟、5分钟、15分钟到现在的平均值
3. zombie 是僵尸进程
4. Mem 是物理内存总量,buffers 是用作内存缓存的内存量
5. Swap 是交换区的总量,cached是换成的交换区总量
6. PR 优先级;NI nice值,负值表示高优先级,正值表示低优先级;VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES;RES j进程使用的、未被换出的物理内存大小,单位kb;SHR 共享内存大小,单位kb;S 进程状态:D=不可中断的睡眠状态、R=运行、S=睡眠、T=跟踪/停止、Z=僵尸进程
**使用方法**
top [-] [d] [p] [q] [c] [C] [S] [s] [n]
d 指定屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变。
p 通过指定监控进程ID来仅仅监控某个进程的状态。
q 该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。
S 指定累计模式
s 使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。
i 使top不显示任何闲置或者僵死进程。
c 显示整个命令行而不只是显示命令名
**快捷键**
top [-] [d] [p] [q] [c] [C] [S] [s] [n]
t 显示汇总信息
m 是否显示内存信息
A 根据各种系统资源的利用率对进程进行排序,有助于快速识别系统中性能不加的任务
f 进行top交互式配置屏幕,根据需求设置top的显示,默认情况下仅显示比较重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列
o 交互式调地调整top每一列的顺序
r 调整优先级(renice)
k 杀掉进程(kill)
z 切换到彩色或者黑白模式
2. vmstat - 虚拟内存统计
vmstat 虚拟内存统计,显示有关进程、内存、分页、块IO、中断和CPU活动等信息。具体信息可以[参考这篇博客](http://www.cnblogs.com/ggjucheng/archive/2012/01/05/2312625.html)
figure 2: Linux vmstat 命令
注:一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数,如:
vmstat 3 2
## 参数1=3 表示间隔2秒;参数2=2,表示采样2次
vmstat 5
## 表示vmstat每2秒采集数据,一直采集,直到我结束程序(如图figure-2)
**其他命令**
sudo vmstat -m
##显示slab缓存的利用率
vmstat -a
## 获取有关活动和非活动内存页面的信息
3. w - 找出登录的用户以及他们在做什么
w 命令显示当前在该系统上的用户及其进程,具体[参考这篇博客](http://www.linuxso.com/command/w.html)
figure 2: linux w 命令
语 法:w [-fhlsuV][用户名称]
补充说明:执行这项指令可得知目前登入系统的用户有那些人,以及他们正在执行的程序。单独执行w
指令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息。
参 数:
-f 开启或关闭显示用户从何处登入系统。
-h 不显示各栏位的标题信息列。
-l 使用详细格式列表,此为预设值。
-s 使用简洁格式列表,不显示用户登入时间,终端机阶段作业和程序所耗费的CPU时间。
-u 忽略执行程序的名称,以及该程序耗费CPU时间的信息。
-V 显示版本信息。
毛毛虫笔记
2018 发发发
领取专属 10元无门槛券
私享最新 技术干货