Menu
快讀
  • 旅遊
  • 生活
    • 美食
    • 寵物
    • 養生
    • 親子
  • 娛樂
    • 動漫
  • 時尚
  • 社會
  • 探索
  • 故事
  • 科技
  • 軍事
  • 国际
快讀

性能問題定位的一些常用命令

2020 年 1 月 4 日 软件测试开发技术栈

查看系統當前網絡連接數

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

查看堆內對象的分布 Top 20(定位內存泄漏)

jmap –histo:live $pid | sort-n -r -k2 | head-n 20

根據內存的使用情況列出前20 的進程

ps axo %mem,pid,euser,cmd | sort -nr | head -20

根據 CPU的使用情況列出前20 的進程

ps -aeo pcpu,user,pid,cmd | sort -nr | head -20

顯示系統整體的CPU利用率和閑置率

grep "cpu " /proc/stat | awk -F ' ' '{total = $2 + $3 + $4 + $5} END {print "idle \t used\n" $5*100/total "% " $2*100/total "%"}'

根據線程狀態統計線程數

jstack $pid | grep java.lang.Thread.State:|sort|uniq -c | awk '{sum+=$1; split($0,a,":");gsub(/^[ \t]+|[ \t]+$/, "", a[2]);printf "%s: %s\n", a[2], $1}; END {printf "TOTAL: %s",sum}';

按照Swap 分區的使用情況列出前20的進程

for file in /proc/*/status ; do awk '/VmSwap|Name|^Pid/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 3 -n -r | head -20

JVM 內存使用及垃圾回收狀態統計

# 顯示最後一次或當前正在發生的垃圾收集的誘發原因
jstat -gccause $pid

# 顯示各個代的容量及使用情況
jstat -gccapacity $pid

# 顯示新生代容量及使用情況
jstat -gcnewcapacity $pid

# 顯示老年代容量
jstat -gcoldcapacity $pid

# 顯示垃圾收集信息(間隔1秒持續輸出)
jstat -gcutil $pid 1000

查找根目錄下占用磁盤空間最大的top10文件

find / -type f -print0 | xargs -0 du -h | sort -rh | head -n 10

相關文章:

  • HTTP是如何使用TCP連接
  • 讓你的Linux命令騷起來
  • 身爲前端,你不得不懂的一些HTTP知識(附贈3道面試題)
  • Flutter 開發必備 Dart 基礎:Dart 快速入門 | 開發者說·DTalk
  • 爬蟲加密算法學習
  • Python super().__init__和Base.__init__的區別
科技

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

©2025 快讀 | 服務協議 | DMCA | 聯繫我們