Linux技術學習,Linux中心教材解密
top
[root@localhost java_demos]# top
top - 14:36:14 up 2 days, 4:43, 1 user, load average: 0.00, 0.01, 0.05
Tasks: 110 total, 2 running, 108 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.3 us, 0.2 sy, 0.0 ni, 99.3 id, 0.2 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 1849336 total, 963348 free, 542372 used, 343616 buff/cache
KiB Swap: 2097148 total, 2011496 free, 85652 used. 1126908 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1858 mysql 20 0 1465504 200800 6212 S 1.0 10.9 34:56.46 mysqld
1 root 20 0 56636 4308 2808 S 0.0 0.2 0:02.05 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.04 kthreadd 3 root 20 0 0 0 0 S 0.0 0.0 0:01.53 ksoftirqd/0 5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H 7 root rt 0 0 0 0 S 0.0 0.0 0:00.07 migration/0 8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh 9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/0
10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/1
11 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/2
12 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/3
13 root 20 0 0 0 0 S 0.0 0.0 0:14.63 rcu_sched
14 root 20 0 0 0 0 S 0.0 0.0 0:10.43 rcuos/0
15 root 20 0 0 0 0 S 0.0 0.0 0:04.67 rcuos/1
其中
第一行:
· 14:36:14 當前系統時間
· days, 4:43 系統已經運行了2天4小時43分鐘(在這期間沒有重啟過)
· 1 users 當前有1個用戶登錄系統
· load average: 0.00, 0.01, 0.05 ,後面的三個數分別是1分鐘、5分鐘、15分鐘的負載情況。load average數據是每隔5秒鐘檢查一次活躍的進程數,然後按特定算法計算出的數值。如果這個數除以邏輯CPU的數量,結果高於5的時候就表明系統在超負荷運轉了。
第二行:Tasks 任務(進程),
· 系統現在共有10個進程,其中處於運行中的有2個,108個在休眠(sleep),stoped狀態的有0個,zombie狀態(僵屍)的有0個。
第三行:cpu狀態
· us 用戶空間占用CPU的百分比
· sy 內核空間占用CPU的百分比
· ni 改變過優先級的進程占用CPU的百分比
· id 空閑CPU百分比
· wa IO等待占用CPU的百分比
· hi 硬中斷(Hardware IRQ)占用CPU的百分比
· si 軟中斷(Software Interrupts)占用CPU的百分比
第四行:內存狀態
· total 物理內存總量
· free 空閑內存總量
· used 使用中的內存總量
· buff/cache 緩存的內存量
第五行:swap交換分區
· total 交換區總量
· free 空閑交換區總量
· used 使用的交換區總量
· avail Mem 緩沖的交換區總量
?第六行:各進程(任務)的狀態監控
· PID 進程id
· USER 進程所有者
· PR 進程優先級
· NI nice值。負值表示高優先級,正值表示低優先級
· VIRT 進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RES
· RES 進程使用的、未被換出的物理內存大小,單位kb。RES=CODE+DATA
· SHR 共享內存大小,單位kb
· S 進程狀態。D=不可中斷的睡眠狀態 R=運行 S=睡眠 T=跟蹤/停止 Z=僵屍進程
· %CPU 上次更新到現在的CPU時間占用百分比
· %MEM 進程使用的物理內存百分比
· TIME+ 進程使用的CPU時間總計,單位1/100秒
· COMMAND 進程名稱(命令名/命令行)
監控java線程數:
ps -eLf grep java wc -l
監控網絡客戶連接數:
netstat -n grep tcp grep 偵聽端口 wc -l
Linux技術學習,Linux中心教材解密