文章目錄
linux命令之top
調生產環境的性能,肯定是一堆命令。有個面試題:常見常用的5個Linux命令。
變慢的處理,整體思路是總-分的思路來查。
執行top命令,效果如下:不加參數,其實有一些好用的參數比如,top詳解:https://www.cnblogs.com/LeoBoy/p/7976612.html
可以看到系統運行的全局情況。
重點參數:
- load average:系統的負載均衡。1-5-15分鐘系統的平均負載值。如果3個值相加除以3再乘以百分之百,高於百分之60,說明系統負載很高。
- cpu和mem,看cpu和內存的佔用情況。
- 所有參數:https://www.cnblogs.com/LeoBoy/p/7976612.html
技巧:按1,就會出現各個cpu的負載。
精簡版命令:uptime,查看負載情況。
linux命令之CPU查看
案例展示:每兩秒採樣一次,一共採樣3次。
mpstat -P ALL 2 運行效果:
idle如果低於百分之60,說明負載就上來了,這個值越高越好。
還可以查看每個進程使用的cpu的分量信息:
執行效果:
可以看到這個進程對cpu的佔用情況。
linux內存查看free和pidstat
常用的幾個命令總結:
後面的參數g和m,是說的單位,默認是字節。最好用的是m。
查看額外:針對某個進程查看cpu佔用情況。
、
linux之硬盤查看df
常用指令:df -h
linux之磁盤io查看
系統慢,一方面是cpu導致的,被佔用了。另一方面是磁盤io作爲性能瓶頸。
磁盤性能評估簡介:
使用pid查看某進程的磁盤io概況:
linux之網絡io
下載:
查看:
通過這個來排查是不是網絡導致的慢。
cpu佔用過高如何分析和定位問題
千萬別說百度和看日誌,太入門了。要答:結合linux和jdk命令一塊分析。
步驟如下:
第一步
top找出最喫cpu的進程。
第二步
ps -ef 或者 jps -l ,進一步定位,得知哪個程序在給我們惹事。
第三步
定位到具體線程和代碼
進程替換爲你定位到的進程,然後用ps -mp命令看具體哪個線程在惹事。
定位到5102線程在惹事。
第四步
在linux中敲:
就可以得到 16進制了。一定是英文小寫。
第五步
實操:5101進程號 13ee是16進制線程號
然後開始找項目名字,定位代碼,第十行。
問題解決!
JDK自帶的性能監控工具
這集沒有視頻,博客補充:https://blog.csdn.net/it_freshman/article/details/80833323