首页 > 技术文章 > java面试-生产环境服务器变慢,谈谈你的诊断思路

wjh123 2019-06-25 06:46 原文

1、uptime:查询linux系统负载

11:16:16 系统当前时间 
up 64 days, 19:23 从上次启动开始系统运行的时间
3 users 连接数量,同一用户多个连接的时候算多个
load average: 0.22, 0.25, 0.23   1分钟、5分钟、15分钟系统的平均负载值 三值相加/3*100% > 60% 系统负担压力大

2、top:实时显示系统中各个进程的资源占用情况

 

第2、3行为进程和CPU的信息 

第4、5行为内存信息 

详细说明传送门

看CPU、内存 
load average(1分钟、5分钟、15分钟系统的平均负载值 三值相加/3*100% > 60% 系统负担压力大)

2、查看CPU:vmstat -n 2 3

procs 
r:运行和等待CPU时间片的进程数,整个系统的运行队列不能超过总核数的2倍,否则代表压力很大   
b:等待资源的进程数,比如等待磁盘IO,网络IO
CPU  
us:用户进程消耗CPU时间百分比   
sy:内核进程消耗CPU时间百分比   us+sy>80% 存在CPU不足  

查看所有CPU核信息:mpstat -P ALL 2  【idle代表CPU空闲值,越高越好】

每个进程使用CPU的用量分解信息:pidstat -p 进程编号 -u 采用间隔秒数

3、查看内存:free

free/total>70% 内存充足    
free/total<20% 内存不足  

查看额外:pidstat -p 进程编号 -r 采用间隔秒数

4、查看磁盘剩余空间数:df -h 

5、磁盘IO:iostat -xdk 2 3

util 一秒中有百分几的时间用于IO操作 接近100%磁盘带宽跑满,需要优化程序或增加磁盘  

查看额外:pidstat -p 进程编号 -d 采用间隔秒数

6、网络IO:ifstat [默认本地没有,需下载]

wget http://gael.roualland.free.fr/ifstat/ifstat-1.1.tar.gz
tar -zxvf ifstat-1.1.tar.gz
cd ifstat-1.1
./configure            #默认会安装到/usr/local/bin/目录中
make
make install  

 

 

说明:安装sysstat命令:yum install sysstat

 pidstat参数说明

-u:默认的参数,显示各个进程的cpu使用统计
-r:显示各个进程的内存使用统计
-d:显示各个进程的磁盘IO使用情况
-p:指定进程号

  

 

推荐阅读