线上故障排查之应用系统反应变慢

目录

TOP命令

vmstat命令

free命令

df命令

iostat命令

ifstat命令


应用系统变慢,可能有多个原因,一般我们用以下几个命令来排查原因:

  1. 整体情况 top
  2. cpu vmstat
  3. 内存 free
  4. 硬盘 df
  5. 磁盘IO iostat
  6. 网络IO ifstat

TOP命令

通常我们会先用top命令看一下整机的情况:

通常我们看三个参数值:

  • %CPU:cpu的使用率

  • %MEM:内存使用率

  • load average:0.00,0.01,0.03 分别代表系统1分钟,5分钟,15分钟 系统的平均负载值。一般情况下,三者平均值大于0.6,就认为系统负载较大,需要注意。

在top命令下连续按1,可以显示具体的cpu列表

top命令有一个精简版命令:uptime

 

vmstat命令

我们通常用vmstat查看cpu和内存情况,如下图:

下面对输出的每一列做一下简单介绍:

-procs

  • r:运行和等待CPU时间片的进程数,原则上1核的CPU的运行队列不要超过2个。整个系统的运行队列不能超过总核数的2倍,否则表示系统压力过大
  • b:等待资源的进程数,比如正在等待磁盘I/O,网络I/O等。

-cpu

  • us:用户进程消耗CPU时间百分比,us值高,表示用户进程消耗CPU时间多。如果长期大于50%,需要优化程序。
  • sy:内核进程消耗的CPU时间百分比。
  • id:处于空闲的CPU百分比
  • wa:系统等待IO的CPU时间百分比
  • st:来自于一个虚拟机偷取的CPU时间的百分比

需要注意:us+sy参考值为80%,如果us+sy大于80%,说明可能存在CPU不足

直接使用vmstat命令,只输出一行信息,我们可以用以下命令,来采样查看:

vmstat -n 2  10

意思是:每个2秒采集一次,共采集10次

查看所有CPU核信息:mpstat -P ALL 2,每两秒采样一次,打印出所有CPU核信息

查看每个进程使用CPU的用量分解信息 pidstat -u -1 -p 进程编号

free命令

我们通常用free查看系统的内存,free表示按照字节显示,free -g 表示按照GB显示内存,free -m 表示按照MB显示内存。

-经验值:

  • 应用程序可用内存/系统物理内存>70%,内存充足。

  • 应用程序可用内存/系统物理内存<20%,内存不足,需要增加内存。

  • 20%<应用程序可用内存/系统物理内存<70%,内存基本够用

查看内存额外信息:

pidstat -p 进程号 -r 采样间隔秒数

 

df命令

现在服务基本都是部署在云上,磁盘容量管够,但是我们还是要知道怎么查看磁盘的使用情况。

df:以字节的形式显示用量,剩余量等信息。

df  -h:以正常人能看得懂的方式显示用量,剩余量等信息。

 

iostat命令

大表批量存大批量的数据时,长时间的IO会对性能造成很大的影响,通常我们用

iostat -xdk 2 3来查看磁盘io的情况。2表示时间间隔2秒,3表示采样次数。

查看额外信息,可以使用

pidstat -d 采样间隔秒数 -p 进程号 

来查看。

 

ifstat命令

网络IO有时也是造成性能瓶颈的主要原因,我们可以通过ifstat查看网络IO的情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值