文章目录

  • ​​linux命令之top​​
  • ​​linux命令之CPU查看​​
  • ​​linux内存查看free和pidstat​​
  • ​​linux之硬盘查看df​​
  • ​​linux之磁盘io查看​​
  • ​​linux之网络io​​
  • ​​cpu占用过高如何分析和定位问题​​
  • ​​第一步​​
  • ​​第二步​​
  • ​​第三步​​
  • ​​第四步​​
  • ​​第五步​​
  • ​​JDK自带的性能监控工具​​

linux命令之top

调生产环境的性能,肯定是一堆命令。有个面试题:常见常用的5个Linux命令。

18.互联网大厂高频面试题-linux_16进制


变慢的处理,整体思路是总-分的思路来查。

执行top命令,效果如下:不加参数,其实有一些好用的参数比如,top详解:

18.互联网大厂高频面试题-linux_16进制_02


可以看到系统运行的全局情况。

重点参数:

  • load average:系统的负载均衡。1-5-15分钟系统的平均负载值。如果3个值相加除以3再乘以百分之百,高于百分之60,说明系统负载很高。
  • cpu和mem,看cpu和内存的占用情况。
  • 所有参数:
    技巧:按1,就会出现各个cpu的负载。
    精简版命令:uptime,查看负载情况。

linux命令之CPU查看

18.互联网大厂高频面试题-linux_linux_03


案例展示:每两秒采样一次,一共采样3次。

18.互联网大厂高频面试题-linux_linux_04


18.互联网大厂高频面试题-linux_linux_05


18.互联网大厂高频面试题-linux_linux命令_06


18.互联网大厂高频面试题-linux_16进制_07


mpstat -P ALL 2 运行效果:

18.互联网大厂高频面试题-linux_linux_08


idle如果低于百分之60,说明负载就上来了,这个值越高越好。

还可以查看每个进程使用的cpu的分量信息:

18.互联网大厂高频面试题-linux_其他_09


执行效果:

18.互联网大厂高频面试题-linux_16进制_10


可以看到这个进程对cpu的占用情况。

linux内存查看free和pidstat

18.互联网大厂高频面试题-linux_linux命令_11


常用的几个命令总结:

18.互联网大厂高频面试题-linux_其他_12


后面的参数g和m,是说的单位,默认是字节。最好用的是m。

查看额外:针对某个进程查看cpu占用情况。


18.互联网大厂高频面试题-linux_linux命令_13


18.互联网大厂高频面试题-linux_16进制_14

linux之硬盘查看df

18.互联网大厂高频面试题-linux_linux命令_15


常用指令:df -h

18.互联网大厂高频面试题-linux_16进制_16

linux之磁盘io查看

系统慢,一方面是cpu导致的,被占用了。另一方面是磁盘io作为性能瓶颈。

18.互联网大厂高频面试题-linux_linux_17


磁盘性能评估简介:

18.互联网大厂高频面试题-linux_linux命令_18


18.互联网大厂高频面试题-linux_linux命令_19


使用pid查看某进程的磁盘io概况:

18.互联网大厂高频面试题-linux_16进制_20

linux之网络io

18.互联网大厂高频面试题-linux_16进制_21


下载:

18.互联网大厂高频面试题-linux_其他_22


查看:

18.互联网大厂高频面试题-linux_linux命令_23


通过这个来排查是不是网络导致的慢。

cpu占用过高如何分析和定位问题

18.互联网大厂高频面试题-linux_linux命令_24

千万别说百度和看日志,太入门了。要答:结合linux和jdk命令一块分析。

步骤如下:

18.互联网大厂高频面试题-linux_16进制_25

第一步

top找出最吃cpu的进程。

18.互联网大厂高频面试题-linux_16进制_26

第二步

ps -ef 或者 jps -l ,进一步定位,得知哪个程序在给我们惹事。

18.互联网大厂高频面试题-linux_linux_27

第三步

定位到具体线程和代码

18.互联网大厂高频面试题-linux_linux_28

进程替换为你定位到的进程,然后用ps -mp命令看具体哪个线程在惹事。

18.互联网大厂高频面试题-linux_linux命令_29


定位到5102线程在惹事。

18.互联网大厂高频面试题-linux_16进制_30

第四步

18.互联网大厂高频面试题-linux_linux命令_31


在linux中敲:

18.互联网大厂高频面试题-linux_其他_32


就可以得到 16进制了。一定是英文小写。

第五步

18.互联网大厂高频面试题-linux_linux命令_33


实操:5101进程号 13ee是16进制线程号

18.互联网大厂高频面试题-linux_linux命令_34


18.互联网大厂高频面试题-linux_linux_35


然后开始找项目名字,定位代码,第十行。

18.互联网大厂高频面试题-linux_linux命令_36


问题解决!

JDK自带的性能监控工具

18.互联网大厂高频面试题-linux_linux命令_37


18.互联网大厂高频面试题-linux_linux命令_38


18.互联网大厂高频面试题-linux_其他_39


18.互联网大厂高频面试题-linux_16进制_40