linux 命令 排查問題小技巧(博客來自:狂亂的貴公子)

 

topios

至關於Windows任務管理器tcp

能夠看到,輸出結果分兩部分,前5行是總覽,下面是具體的進程資源佔用狀況。下面逐行看一下post

第1行code

top - 18:14:58 up 112 days,  1:35,  1 user,  load average: 0.00, 0.10, 0.11blog

依次表示:當前時間、系統已經運行的時間、當前登陸的用戶數、系統在過去的1分鐘,5分鐘,15分鐘的負載進程

(PS:內存

從這一行咱們能夠知道如下信息資源

  • 當前時間是18:14:58
  • 系統運行了112天1小時35分鐘
  • 當前有1個用戶登陸
  • 在過去1分鐘,5分鐘,15分鐘的負載分別是0.00, 0.10, 0.11

負載超過1,則表示超負荷it

io

第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越多,表示創建的鏈接越多,若是一直居高不下,那麼就要引發注意了,由於系統對打開的鏈接數是有限制的。

常見應用

一、查看鏈接數最多的IP

netstat -na | grep ESTABLISHED | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c

 二、統計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

相關文章
相關標籤/搜索