top命令 是用來監控 Linux 系統情況,好比cpu、內存的使用。html
$ top top - 15:54:51 up 25 days, 2:08, 1 user, load average: 7.21, 2.27, 0.99 Tasks: 177 total, 11 running, 165 sleeping, 0 stopped, 1 zombie %Cpu(s): 1.2 us, 0.2 sy, 0.0 ni, 98.6 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 15994424 total, 10238564 free, 1489540 used, 4266320 buff/cache KiB Swap: 0 total, 0 free, 0 used. 13376548 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 24963 root 20 0 7252 96 0 R 93.8 0.0 0:52.20 stress 24965 root 20 0 7252 96 0 R 93.8 0.0 0:52.52 stress 24966 root 20 0 7252 96 0 R 93.8 0.0 0:49.96 stress 24970 root 20 0 7252 96 0 R 93.8 0.0 0:51.72 stress 24967 root 20 0 7252 96 0 R 87.5 0.0 0:49.78 stress 24972 root 20 0 7252 96 0 R 81.2 0.0 0:49.42 stress 24971 root 20 0 7252 96 0 R 62.5 0.0 0:49.51 stress 24964 root 20 0 7252 96 0 R 56.2 0.0 0:51.85 stress 24968 root 20 0 7252 96 0 R 50.0 0.0 0:52.07 stress 24969 root 20 0 7252 96 0 R 50.0 0.0 0:49.41 stress
top - 15:54:51 up 25 days, 2:08, 1 user, load average: 7.21, 2.27, 0.99
當前系統時間: 15:54:51
系統運行機時間:25 days, 2:08 (重啓時會重置)
當前登陸用戶數量: 1
系統最近1分鐘、最近5分鐘、最近15分鐘的平均負載: 7.21, 2.27, 0.99 若是負荷數據大於當前系統 CPU線程數,說明系統負荷過重
查看系統 CPU線程數的方法以下:緩存
方法1: $ lscpu | grep -E "^CPU\(s\)|Socket|Model name" CPU(s): 64 CPU線程數 Socket(s): 2 CPU數量 Model name: Intel(R) Xeon(R) CPU E5-2682 v4 @ 2.50GHz 方法2: $ cat /proc/cpuinfo | grep 'model name' | wc -l 64
Tasks: 177 total, 11 running, 165 sleeping, 0 stopped, 1 zombie
系統如今共有177個進程,其中處於運行中的有11個,165個在休眠(sleep),stoped狀態的有0個,zombie狀態(殭屍)的有1個
殭屍進程:殭屍進程是指的父進程先與子進程退出,子進程dead,但沒有進程回收該進程的信息,就成爲殭屍進程。殭屍進程在進程表 (processs table)中仍佔了一個位置(slot),因此,雖然殭屍進程已經死亡,可是仍然佔用了系統資源,若是系統中存在大量殭屍進行會影響系統性能。性能
1.2% us — 用戶空間佔用CPU的百分比 0.2% sy — 內核空間佔用CPU的百分比 0.0% ni — 改變過優先級的進程佔用CPU的百分比 98.6% id — 空閒CPU百分比 0.0% wa — IO等待佔用CPU的百分比 0.0% hi — 硬中斷(Hardware IRQ)佔用CPU的百分比 0.0% si — 軟中斷(Software Interrupts)佔用CPU的百分比
KiB Mem : 15994424 total, 10238564 free, 1489540 used, 4266320 buff/cache
15994424 total — 物理內存總量(16GB)
10238564 used — 使用中的內存總量(10GB)
1489540 free — 空閒內存總量(1.4GB)
4266320 buffers — 緩存的內存總量 (4GB)
KiB Swap: 0 total, 0 free, 0 used. 13376548 avail Mem
0 total — 交換區總量
0 free — 使用的交換區總量
0 used — 空閒交換區總量
13376548 — 緩衝的交換區總量(13GB)
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 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時間佔用百分比,若是出現 200% 這樣的是由於有多核。 %MEM — 進程使用的物理內存百分比 TIME+ — 進程使用的CPU時間總計,單位1/100秒 COMMAND — 進程名稱(命令名/命令行)
按鍵盤數字「1」,可監控每一個邏輯CPU的情況:ui
$ top top - 04:42:29 up 16 days, 3:12, 3 users, load average: 0.05, 0.11, 0.18 Tasks: 348 total, 1 running, 346 sleeping, 0 stopped, 1 zombie %Cpu0 : 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu1 : 0.3 us, 1.3 sy, 0.0 ni, 98.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu2 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu3 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
按‘q’ 鍵退出topspa