Linux 监测运维速成手册

 经过个人运维经验整理,总结出一些常用的查询、监测类的命令,通过这些命令主要用来排查系统卡顿问题,判断是否是CPU、内存、IO、网络等因素影响 。命令以简单易记为主 。1 CPU检查1.1 top命令

Linux 监测运维速成手册

文章插图
 
命令格式:
1) top
2) top -U 用户名
主要用详细监测CPU资源,统计CPU消耗
参考:第三行参数
1)Cpu us<60%
2)Cpu sy<50%
3) 进程Cpu 百分比消耗<15%
4)id > 40,如果持续低于10,表示cpu性能不足
 
注意:发现进程长时间占用CPU,并且值很高,需要引起注意,进一步检查
2 内存检查2.1 free命令
Linux 监测运维速成手册

文章插图
 
命令格式:
1) free -mh
主要用详细监测物理内存、缓存资源,统计内存消耗
参考:
1)swap used值大于0时,表示物理内存资源不够,开始使用硬盘缓存,存在性能隐患
注意:当linux物理内存足够,内存预先分配后不会轻易回收,出现内存mem used值很高,属正常
free 是真正尚未被使用的物理内存数量 。
available 是应用程序认为可用内存数量,available = free + buffer + cache (注:只是大概的计算方法)
3 I/O检查3.1 IOStat命令
Linux 监测运维速成手册

文章插图
 
命令格式:
1) iostat -md /dev/sda 2 20 (对sda硬盘,以每隔2秒,共取20次值,并换算成M单位)
主要用于收集物理硬盘的读写情况
参考:
4) %iowait的值过高,表示硬盘存在I/O瓶颈
5) %idle值持续低于10,表明CPU性能不足
注意:根据对应业务状态,判断读写值是否超出业务需求,一般观察每秒读写即可 。
 
另命令iotop可以查看各个进程对io消耗以从大到小的结果排列
命令iotop
Linux 监测运维速成手册

文章插图
 
4 网络检查4.1 sar命令
Linux 监测运维速成手册

文章插图
 
命令格式:
1) sar -n DEV 2 20
主要用于收集网络收发状态
参考:
1)txkB/s rckB/s为发送和接收的每秒字节
注意:带宽总消耗<网卡物理带宽x60%,属合理状态
4.2 netstat命令
Linux 监测运维速成手册

文章插图
 

Linux 监测运维速成手册

文章插图
 
【Linux 监测运维速成手册】命令格式:
1) netstat -tnp
2) netstat -tnp | grep 1521 | wc -l (统计1521连接数)
3) netstat -tnp | grep ‘TIME_WAIT’ | wc -l )(统计TIME_WAIT状态连接数)
主要用详细监测网络连接数情况,同时可以查看对端ip地址
参考:
1) 检查time_wait连接不应该太多,太多表示业务没正常断开tcp、或网络不稳定
注意:连接数视业务情况,无用的TIME_WAIT会消耗服务器连接数,可以修改内核tcp/ip连接数提高连接数限制 。
5 OS检查
Linux 监测运维速成手册

文章插图
 
5.1 ps命令
Linux 监测运维速成手册

文章插图
 
命令格式:
1) ps -ef | grep redis
2) ps -fu 用户名
主要用查询进程在线情况
注意:配合grep参数可以精确查询,判断进程是否在运行
5.2 uptime命令
Linux 监测运维速成手册

文章插图
 
命令格式:
1) uptime
主要用于显示系统开机运行时间总和
参考:
1)建议服务器半年重启一次
5.3 date -R命令
Linux 监测运维速成手册

文章插图
 
命令格式:
1) date -R
主要用于显示时间、日期、时区
参考:
1) 时间按照北京时间
2) 时区必须等于+8,也就是东8区
注意:时区问题经常出现在linux上,导致时间相差8小时,如果是虚拟机,会从虚拟机的宿主机上继承同步,需要进一步检查虚拟化平台的时区问题 。
5.4 du命令
Linux 监测运维速成手册

文章插图
 
命令格式:
1) du -sh /home/
该命令统计目录大小,用于判断程序占用多少空间 。


推荐阅读