Linux 問題查詢彙總筆記

查看讀寫
iostat -xm 1, 一般看util百分比

查看讀寫高的進程
iotop -P

查看內存不足時,系統kill進程的日誌
grep -C 30 "Out of memory" /var/log/messages

vmstat 查看內存情況 

> vmstat | column -t
column -t是爲了表頭和數據列對齊,便於查看

表頭字段說明

Procs(進程):
r: 運行隊列中進程數量
b: 等待IO的進程數量
Memory(內存):
swpd: 使用虛擬內存大小
free: 可用內存大小
buff: 用作緩衝的內存大小
cache: 用作緩存的內存大小
Swap:

si: 每秒從交換區寫到內存的大小
so: 每秒寫入交換區的內存大小
IO:(現在的Linux版本塊的大小爲1024bytes)
bi: 每秒讀取的塊數
bo: 每秒寫入的塊數
系統:

in: 每秒中斷數,包括時鐘中斷。
cs: 每秒上下文切換數。
CPU(以百分比表示):
us: 用戶進程執行時間(user time)
sy: 系統進程執行時間(system time)
id: 空閒時間(包括IO等待時間),中央處理器的空閒時間 。以百分比表示。
wa: 等待IO時間

備註:如果 r經常大於 4 ,且id經常少於40,表示cpu的負荷很重。如果pi,po 長期不等於0,表示內存不足。如果disk 經常不等於0, 且在 b中的隊列 大於3, 表示 io性能不好。Linux在具有高穩定性、可靠性的同時,具有很好的可伸縮性和擴展性,能夠針對不同的應用和硬件環境調整,優化出滿足當前應用需要的最佳性能。因此企業在維護Linux系統、進行系統調優時,瞭解系統性能分析工具是至關重要的。

JVM 垃圾回收

jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]

jstat –options 
-class            # 類加載情況的統計
-compiler         # HotSpot中即時編譯器編譯情況的統計
-gc
-gccapacity       # 新生代、老年代以及永久代的存儲容量情況
-gccause
-gcmetacapacity   # 元數據區的容量
-gcnew            # 新生代垃圾回收信息
-gcnewcapacity    # 新生代的存儲容量
-gcold            # 老年代垃圾回收信息
-gcoldcapacity    # 老年代的存儲容量
-gcutil           # 實時查看GC信息
-printcompilation # HotSpot編譯方法的統計



jstat -gcutil -h10 77545 5000

S0: Heap上的Survivor Space 0區已使用空間的百分比
S1: Heap上的Survivor Space 1區已使用空間的百分比
E:  Heap上的Eden Space區已使用空間的百分比
O:  Heap上的Old Space區已使用空間的百分比
M:  Meta Space(元數據區)已使用空間的百分比
YGC: 從應用程序啓動到採樣時發生Young GC的次數
YGCT: 從應用程序啓動到採樣時Young GC所用的時間(單位: 秒)
FGC:  從應用程序啓動到採樣時發生Full GC的次數
FGCT: 從應用程序啓動到採樣時Full GC所用的時間(單位: 秒)
GCT:  從應用程序啓動到採樣時用於垃圾回收的總時間(單位: 秒)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章