文章目录
- linux命令之top
- linux命令之CPU查看
- linux内存查看free和pidstat
- linux之硬盘查看df
- linux之磁盘io查看
- linux之网络io
- cpu占用过高如何分析和定位问题
- 第一步
- 第二步
- 第三步
- 第四步
- 第五步
- JDK自带的性能监控工具
linux命令之top
调生产环境的性能,肯定是一堆命令。有个面试题:常见常用的5个Linux命令。
变慢的处理,整体思路是总-分的思路来查。
执行top命令,效果如下:不加参数,其实有一些好用的参数比如,top详解:
可以看到系统运行的全局情况。
重点参数:
- load average:系统的负载均衡。1-5-15分钟系统的平均负载值。如果3个值相加除以3再乘以百分之百,高于百分之60,说明系统负载很高。
- cpu和mem,看cpu和内存的占用情况。
- 所有参数:
技巧:按1,就会出现各个cpu的负载。
精简版命令:uptime,查看负载情况。
linux命令之CPU查看
案例展示:每两秒采样一次,一共采样3次。
mpstat -P ALL 2 运行效果:
idle如果低于百分之60,说明负载就上来了,这个值越高越好。
还可以查看每个进程使用的cpu的分量信息:
执行效果:
可以看到这个进程对cpu的占用情况。
常用的几个命令总结:
后面的参数g和m,是说的单位,默认是字节。最好用的是m。
查看额外:针对某个进程查看cpu占用情况。
、
常用指令:df -h
系统慢,一方面是cpu导致的,被占用了。另一方面是磁盘io作为性能瓶颈。
磁盘性能评估简介:
使用pid查看某进程的磁盘io概况:
下载:
查看:
通过这个来排查是不是网络导致的慢。
千万别说百度和看日志,太入门了。要答:结合linux和jdk命令一块分析。
步骤如下:
第一步
top找出最吃cpu的进程。
第二步
ps -ef 或者 jps -l ,进一步定位,得知哪个程序在给我们惹事。
第三步
定位到具体线程和代码
进程替换为你定位到的进程,然后用ps -mp命令看具体哪个线程在惹事。
定位到5102线程在惹事。
第四步
在linux中敲:
就可以得到 16进制了。一定是英文小写。
第五步
实操:5101进程号 13ee是16进制线程号
然后开始找项目名字,定位代码,第十行。
问题解决!