查詢Java進程ID
#ps axu | grep java
#ps elf | grep java
查看機器負載及CPU信息
#top -p 1(進程ID)
#top (查看所有進程)
獲取CPU飆升線程堆棧
1. top -c 找到CPU飆升進程ID;
2. top -Hbp 9702(替換成進程ID) 找到CPU飆升線程ID;
3. $ printf "%x\n" 10007(替換成線程ID) 將線程ID由10進制轉換成16進制;
4. jstack 9702(替換成進程ID) | grep '2717'(替換成16進制線程ID) -A 30 收集堆棧信息;
觀察老年代、新生代各區內存占用情況
# jmap -heap 1(進程ID)
JVM內存GC次數及耗時
#jstat -gcutil 1(進程ID) 1s
#jstat -gc 1(進程ID)
JVM環境及啟動參數
#jinfo 1(進程ID)
JVM堆對象打印查詢
#jmap -histo:live 1(進程ID) | grep ShardedJedis(要查詢的對象)
JVM dump堆對象保存成bin文件
#jmap -dump:live,format=b,file=/home/dmadmin/test_heap.bin 1(進程ID)
查詢與Redis/MySQL服務器建立的TCP鏈接
#netstat -apon | grep 26317(Redis/MySQL服務端口)
查詢磁盤空間占用
#df -h (查看磁盤空閑空間)
#du -h --max-depth=1 (查看磁盤已用空間)
#echo "" > dest_file (清理文件占用空間,rm不一定會釋放空間)
查看硬盤IO讀寫速度
#iostat -d 2 -m
查看磁盤/網卡讀寫流量
#dstat