1.生产环境服务器变慢,诊断思路和性能评估谈谈
整机:top uptime--系统性能精简版 主要看cpu和内存占用 和loan average 三个参数
CPU:vmstat vmstat -n 2 3
查看额外:
查看所有cpu核信息:mpstat -P ALL 2
每个进程使用cpu的用量分解信息:pidstat -u 1 -p 进程编号
内存:free free -m 按mb查看内存
查看额外:pidstat -p 进程号 -r 采样间隔秒数
硬盘:df df -h
磁盘IO:iostat
磁盘I/O性能评估:iostat -xdk 2 3 :每2秒采样一次 共计采样3次
查看额外:pidstat -d 采样间隔秒数 -p 进程号
网络IO:ifstat 采样秒数
2.假如生产环境出现CPU占用过高,请谈谈你的分析思路和定位?
结合Linux和JDK命令一块分析
1.案例步骤:
1.先用top命令找出CPU占比最高的
2.ps -ef 或者jps进一步定位,得知是一个怎么样的一个后台程序给我们惹事
3.定位到具体线程或者代码
ps -mp 进程 -o THREAD,tid,time
4.将需要的线程ID转换为16进制格式(英文小写格式)
pritf "%x\n" 有问题的线程ID
5.jstack 进程ID | grep tid(16进制线程ID小写英文) -A60
2.参数解释:
-m 显示所有的线程
-p pid 进程使用cpu的时间
-o 该参数后是用户自定义格式