排查線上問題必須掌握的 6 個 Linux 命令
阿新 • • 發佈:2021-07-15
1、top
相當於Windows工作管理員
可以看到,輸出結果分兩部分,前5行是總覽,下面是具體的程序資源佔用情況。下面逐行看一下
第1行
top - 18:14:58 up 112 days, 1:35, 1 user, load average: 0.00, 0.10, 0.11 依次表示:當前時間、系統已經執行的時間、當前登入的使用者數、系統在過去的1分鐘,5分鐘,15分鐘的負載 PS:從這一行我們可以知道以下資訊: 當前時間是18:14:58 系統運行了112天1小時35分鐘 當前有1個使用者登入 在過去1分鐘,5分鐘,15分鐘的負載分別是0.00, 0.10, 0.11 負載超過1,則表示超負荷
第2行
Tasks: 225 total, 1 running, 224 sleeping, 0 stopped, 0 zombie
程序資訊
total 程序總數
running 執行中的程序數
sleeping 睡眠中的程序數
stopped 停止的程序數
zombie 殭屍程序數
(PS:從這一行我們可以知道,當前總共225個程序)
第3行
Cpu(s): 1.8%us, 0.9%sy, 0.0%ni, 97.1%id, 0.1%wa, 0.0%hi, 0.1%si, 0.0%st CPU使用情況 us : 使用者程序佔用CPU百分比 sy : 核心程序佔用CPU百分比 ni : 改變過優先順序的程序佔用CPU百分比 id : 空閒CPU百分比 wa : IO等待的程序佔用CPU百分比 hi : 硬中斷佔用CPU的百分比 si : 軟中斷佔用CPU的百分比 st :
第4行
Mem: 32879852k total, 23633040k used, 9246812k free, 311552k buffers
實體記憶體使用情況
total 總的記憶體大小
used 已使用
free 未使用
buffers 核心緩衝區
可用記憶體 = free + buffers + cached
第5行
Swap: 4194300k total, 255104k used, 3939196k free, 10422508k cached
虛擬記憶體使用情況
其餘行
2、free -m
檢視已使用和未使用的記憶體情況
Mem total = used + free Swap total= used + free 可用記憶體 = free + buffers + cached (-buffers/cache) used記憶體數 = Mem行中的 used – buffers – cached (+buffers/cache) free記憶體數 = Mem行中的 free + buffers + cached
3、netstat
要特別關注一下“ESTABLISHED”的數量,如果ESTABLISHED越多,表示建立的連線越多,如果一直居高不下,那麼就要引起注意了,因為系統對開啟的連線數是有限制的。
常見應用:
1、檢視連線數最多的IP
netstat -na | grep ESTABLISHED | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c
2、統計TCP不同狀態的連線數
netstat -na | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
4、df -h
檢視檔案系統磁碟空間使用情況
5、du -sh
檢視(計算)檔案大小
還可以這樣
du --max-depth=2 --block-size=M 或者 ll --block-size=M
故鄉明