1. 程式人生 > >Linux命令排查線上問題常用的幾個

Linux命令排查線上問題常用的幾個

com .cn 緩沖區 建立 sleep sed gre 命令 文件系統

排查線上問題常用的幾個Linux命令

https://www.cnblogs.com/cjsblog/p/9562380.html

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

虛擬內存使用情況

其余行

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

iostat

格式:iostat [ 選項 ] [ <時間間隔> [ <次數> ]]

示例:

iostat -d

iostat -d 2 2

iostat -x 1 2

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]}‘
df -h

查看文件系統磁盤空間使用情況

du -sh

查看(計算)文件大小

還可以這樣

du --max-depth=2 --block-size=M

或者

ll --block-size=M

其它相關

《Linux系統打開文件最大數量限制》

Linux命令排查線上問題常用的幾個