生产环境服务器变慢,诊断思路和性能评估
程序员文章站
2022-07-12 20:59:01
...
一. 整机:top
1.1 top
查看整机的系统性能
top
这个命令下按键盘上的1,可以看每一个CPU使用情况
8核CPU
退出命令
Q
1.2 uptime
系统性能命令的精简版
uptime
二. CPU:vmstat
2.1 查看CPU
vmstat -n 2 3
2.2 查看所有CPU核信息
mpstat -P ALL 2
2.3 每个进程使用CPU的用量分解信息
pidstat -u 1 -p 进程编号
三. 内存:free
3.1 应用程序可用内存数
free -m
3.2 查看额外
pidstat -p 进程号 -r 采样间隔秒数
四. 硬盘:df
4.1 查看磁盘剩余空间数
df -h
五.磁盘IO:iostat
5.1 磁盘IO性能评估
iostat -xdk 2 3
5.2 查看额外
pidstat -d 采样间隔秒数 -p 进程号
六.网络IO:ifstat
6.1 默认本地没有,下载ifstat
6.2 查看网络IO
ifstat
七、假如生产环境出现CPU占用过高,谈谈你的分析思路和定位
结合Linux和JDK命令一块分析
7.1 案例步骤
1. 先用top命令找出CPU占比最高的
2. ps -ef或者jps进一步定位,得知是一个怎么样的一个后台程序给我们惹事
3. 定位到具体线程或者代码
ps -mp 进程 -o THREAD,tid,time
参数解释:
-m 显示所有的线程
-p pid进程使用cpu的时间
-o 该参数后是用户自定义格式
4. 将需要的线程ID转换为16进制格式(英文小写格式)
printf "%x\n"有问题的线程ID
5. jstack 进程ID | grep tic(16进制线程ID小写英文) -A60
上一篇: (WCF初体验)WCF服务器诊断
下一篇: 操作系统——哲学家进餐问题——2.12