文章标题

(首先感谢大佬Terry的细心指导~~虽然你也不一定能看到,嘿嘿嘿嘿嘿)
事情回溯:某日下午5点2左右,正当我很费解的在思考一个重要但不紧急的问题时,qq弹窗里有业务的童鞋告诉我有一台线上服务器ssh登陆不上去了,作为一只实习的小白,先上报了大佬后自己开始排查一波:
1、zabbix监控里没有host down的报警,但是出现了两个主机相关报警。一个是CPU idle time,一个是CPU iowait time。(大致是CPU空闲时间和i/O等待时间)这里写图片描述

2、网络问题,能ping通,代表网络也没有问题

3、telent 22端口成功,即端口没问题(以上两个步骤后大脑短路,得老大提醒),但是此时有异常
这里写图片描述
神奇的是排查完以上后,还没开始下一步操作,自己就恢复正常了。问题出现了总要排查原因,于是看了又一波系统日志,都没有什么显示异常,唯一引起我注意的只有用户认证日志里的几行看似有问题的错误登陆。当然后期也发现其实和这个问题一点关系都没有,而且时间点也对不上,不过还是被他困扰很久。
这里写图片描述

其实有点经验的已经看出来了,真正的原因一开始就出现在了眼前,不过是一直没有真正关注,即CPU负载过高和磁盘i/o被打满的原因。磁盘i/o打满之后,ssh登陆没法读取数据以及写日志,所以就一直卡住了,当然大佬还说可能是tcp连接数超出了限制的原因。(不过有个疑问是tcp连接数过多的时候内存会不会有问题,还有文件inodes节点是否会报错)

接下来是老生常谈的检查cpu负载等的命令(cpu负载高可分为计算密集型以及I/O密集,计算密集响应比I/O密集容易响应,因为磁盘I/O打满后就难给后来的程序挪地,比如以上的情况)
1、uptime
这里写图片描述
2、w:用户登录信息比uptime详细
这里写图片描述
JCPU(JOB CPU)的正解应该是该终端所有运行的进程占用cpu的时间,包括此时在后端运行的进程,但不包括原有的在后台的进程
区别:who只显示自己。Last则可显示最近一个月的用户登陆记录
3、top命令,动态按cpu占用比率显示各进程信息,当然也可以选择使用其他的排序方式这里写图片描述

第三行%CPU的信息比较有用:
Us:非nice用户所占用cpu比率
Sy:系统用户所占用cpu时间比率
Ni:系统中nice用户的进程所占用的cpu比率
Id:cpu空闲率,若此值较高,则说明系统缓慢的原因不再cpu
Wa:等待I/O完成的时间,可以用来判断磁盘i/o
Hi:处理硬件中断的时间
Si:处理软件中断的时间
St:虚拟机的任务所占cpu时间
这里写图片描述

接下来是每列:
PR:即进程优先权,值越大优先权越小,有一些进程显示为rt,则代表为可抢占式运行
NI:即进程优先值,可被用户设定(非root只能变大),大小在-20~19之间,若为0则表示未设定优先值,最后进程的优先权限为new pr=PR+NI,同样值越小越先执行
VIRT:进程使用虚拟内存容量(KB)
RES:进程使用物理内存大小
SHR:共享内存大小
%CPU:上次更新到现在的CPU使用率
%MEM:进程使用物理内存百分比
TIME:进程使用时间总计
Top 后按m进入以内存使用率排名
Top -i忽略僵尸进程
对磁盘的检测
4、iostat命令
这里写图片描述

tps:一个I/O请求,多个逻辑请求可能会合为一个I/O请求

-x参数更加详细
这里写图片描述

rrpm/s:每秒钟该设备的读请求merged(被合并)的次数
r/s:每秒钟完成的读操作(被合并后)
rKB/s(rsec/s,rMB/s):每秒被读取的kb(扇区、mb)数
avgrq-sz:向设备(扇区)发出的平均请求大小
avgqu-sz:设备的平均请求队列长度
await:对将要服务的设备发出的I / O请求的平均时间(以毫秒为单位)。包括在请求队列里的时间等
r_await同await,只是变成了针对读请求
svctm:(要删除此项了)
%util:在统计时间内所有处理IO时间,除以总共统计时间。例如,如果统计间隔1秒,该设备有0.8秒在处理IO,而0.2秒闲置,那么该设备的%util = 0.8/1 = 80%。

iostat参考:http://www.orczhou.com/index.php/2010/03/iostat-detail/

5、iotop命令(磁盘检测,可详细至每个进程,在kernelv2.6.20的版本后才有)
参数 -o:仅显示有I/O的进程,大致如下:
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值