top、free、vmstat、iostat、pmap、glances、dstat、iotop、lsofcss
動態監控系統狀態 ,在命令行輸入top,界面以下ios
首部信息顯示隱藏開關web
排序:shell
管理指令:編程
####7.5.1 htop命令:EPEL源
與top命令類似,UI設計前衛一些緩存
內存空間使用狀態bash
格式:free[OPTION]服務器
選項
-b:以字節爲單位
-m:以MB爲單位
-g:以GB爲單位
-h:易讀模式
-t:顯示RAM+swap的總和
-s n:刷新間隔爲n秒
-c n:刷新n次後即退出markdown
執行結果
buffers,解決速度不匹配問題;cache緩存,提升訪問速度的網絡
虛擬內存信息
格式
vmstat [options][delay[count]]
選項:
-s:顯示內存的統計數據
示例:
vmstat 1
動態觀察,1秒刷新一次
vmstat 1 10
執行10次退出,1秒執行一次
執行結果說明
與vmstat使用方法類似,統計CPU和設備IO信息
示例1. 監控設備adv1的擴展數據,每秒刷新一次,執行10次
示例2. 以k爲單位顯示磁盤使用狀況,每2秒刷新一次
示例3. 默認執行結果示例
[v9@hai7 ~]$iostat 1:Linux 2.6.32-754.el6.x86_64 (hai6) 09/06/2018 _x86_64_ (4 CPU)
2:avg-cpu: %user %nice %system %iowait %steal %idle
0.02 0.00 0.16 0.00 0.00 99.81
3:Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
scd0 0.01 0.03 0.00 1540 0
sda 0.46 19.71 2.57 1047842 136528
進程對應的內存映射,與文件/proc/PID(進程編號)/maps相似
格式
pmap [options] pid […]
選項
-x:顯示詳細格式的信息
執行示例,查看進程7795的內存佔用信息
[v9@hai7 ~]$pmap -x 7795 7795: nano Address Kbytes RSS Dirty Mode Mapping 0000000000400000 168 112 0 r-x-- nano 0000000000629000 8 8 4 rw--- nano 0000000001fd9000 528 468 468 rw--- [ anon ] ... <==省略
[v9@hai7 ~]$cat /proc/7795/maps <==與pmap顯示內容類似
EPEL源,能夠跨網絡監控
格式
glances [-bdehmnrsvyz1] [-B bind] [-c server] [-C conffile] [-p port] [-P password] [–password] [-t refresh] [-f file][-o output]
經常使用選項:
選項 | 含義 |
---|---|
-b | 以Byte爲單位顯示網卡數據速率 |
-d | 關閉磁盤I/O模塊 |
-f /path/to/somefile | 設定輸入文件位置 |
-o{HTML | CSV} |
-m | 輸入格式 |
-n | 禁用mount模塊 |
-t | 延遲時間間隔 |
-1 | 每一個CPU的相關數據單獨顯示 |
內建命令
選項 | 含義 |
---|---|
a | 按進程自動排序 |
l | 顯示或隱藏日誌 |
c | 按 CPU% 排序 |
b | Bytes or bits for network I/O |
m | 按 MEM% 排序 |
w | 刪除警告日誌 |
p | 按用戶排序 |
x | 刪除警告和關鍵日誌 |
i | 按I/O使用情況排序 |
1 | 流顯示每一個CPU內核的使用狀況 |
d | 顯示隱藏磁盤讀寫情況 |
h | 幫助信息 |
f | 顯示系統信息 |
t | View network I/O as combination |
n | 顯示網絡狀態 |
u | View cumulative network I/O |
s | 顯示傳感器信息 |
q | 離開程序 |
y | hddtemp統計信息 |
C/S模式下運行glances命令,跨網絡訪問
系統資源統計,代替vmstat,iostat
格式
dstat [-afv] [options…] [delay[count]]
選項
選項 | 含義 |
---|---|
-c | 顯示cpu相關信息 |
-C | 此參數可按需分別顯示cpu狀態,例:-C 0,1 是顯示cpu0和cpu1的信息 |
-d | 顯示disk相關信息 |
-D | total,sda,sdb… |
-g | 顯示page相關統計數據 |
-m | 顯示memory相關統計數據 |
-n | 顯示network相關統計數據 |
-p | 顯示process相關統計數據 |
-r | 顯示io請求相關統計數據 |
-s | 顯示swapped相關統計數據 |
-y | 系統狀態 |
- -socket | 用來顯示tcp udp端口狀態 |
- -ipc | 顯示ipc消息隊列,信號等信息 |
- -top-cpu | 顯示最佔用CPU的進程 |
- -top-io | 顯示最佔用io的進程 |
- -top-mem | 顯示最佔用內存的進程 |
- -top-latency | 顯示延遲最大的進程 |
- -output | 將狀態信息以##.csv後綴定向到指定目錄下 |
示例
默認輸入 dstat 等於輸入了dstat -cdngy 1或dstat -a 1
system:int、csw分別爲系統的中斷次數(interrupt)和上下文切換(context switch)
是一個用來監視磁盤I/O使用情況的top類工具備與top類似的UI,其中包括PID、用戶、I/O、進程等相關信息,可查看每一個進程是如何使用IO
界面如上所示
iotop經常使用參數
選項 | 含義 |
---|---|
-o,–only | 只顯示正在成I/O的進程或線程,除了傳參,能夠在運行過程總按o生效 |
-b,–batch | 非交互模式,通常用來記錄日誌 |
-n NUM,–iter=NUM | 設置監測的次數,默認無限。在非交互模式下頗有用 |
-d SEC,–delay=SEC | 設置每次檢測的間隔,默認1秒,接受非整型數據例如1.1 |
-p PID,–pid=PID | 指定檢測的進程/線程 |
-u USER,–user=USER | 指定監測某個用戶產生的I/O |
-P --processes | 僅顯示進程,默認iotop顯示全部線程 |
-a,–accumulated | 顯示累計的I/O,而不是帶寬 |
-k,–kilobytes | 使用KB單位,而不是對人友好的單位,在非交互模式下,腳本編程有用 |
-t,–time | 加上時間戳,非交互非模式 |
-q,–quiet | 禁止頭幾行,非交互模式,有三種指定方式 |
-q | 只在第一次監測時顯示列名 |
永遠不顯示列名 | |
-qqq | 永遠不顯示I/O彙總 |
交互按鍵
按鍵 | 用途 |
---|---|
left和right方向鍵 | 改變排序 |
r | 反向排序 |
o | 切換至選項–only |
p | 切換至–processes選項 |
a | 切換至–accumulatd選項 |
q | 退出 |
i | 改變線程的優先級 |
list open files查看當前系統文件的工具,在Linux環境下,一切皆文件,用戶經過文件不只能夠訪問常規數據,還能夠訪問網絡鏈接和硬件如傳輸控制協議(TCP)和用戶數據協議(UDP)套接字等,系統在後臺都爲該應用程序分配了一個文件描述符
格式
lsof [選項]
選項
選項 | 含義 |
---|---|
-a | 列出打開文件存在的進程 |
-c | 顯示command列中包含指定字符的進程所打開的文件 |
-g | 列出GID號進程詳情 |
-d FD | 列出佔用該文件號的進程 |
+d /DIR/ | 列出目錄下被打開的文件 |
+D /DIR/ | 遞歸列出目錄下被打開的文件 |
-n目錄 | 列出使用NFS的文件 |
-i條件 | 列出符合條件的進程(四、六、協議、:端口、@ip) |
-p進程號 | 列出指定進程號所打開的文件 |
-u | 列出UID號進程詳情 |
-h | 列出UID號進程詳情 |
-v | 顯示版本信息 |
-n | 不反向解析網絡名字 |
示例
經過參數-i查看網絡鏈接的狀況,包括鏈接的ip、端口等以及一些服務的鏈接狀況,例如:sshd等,也能夠經過制定ip查看該ip的網絡鏈接狀況
lsof -i -n
lsof -i@127.0.0.1
經過參數-i:端口,能夠查看端口的佔用狀況,-i參數還有查看協議,ip的鏈接狀況等
lsof -i:80 -n
查看指定狀態的網絡鏈接
lsof -n -P -i TCP -s TCP:ESTABLISHED
-n:no host names, -p:no port names
-i:TCP指定協議
-s:指定協議狀態經過多個參數能夠清晰的查看網絡鏈接狀況、協議鏈接狀況等
用來刪除執行中的程序或工做,kill可將指定的信息送至程序。預設的信息爲SIGTERM(15),可將指定程序終止。若仍沒法終止該程序,可以使用SIGKILL(9)信息嘗試強制刪除程序。程序或工做的編號可利用ps指令或job指令查看
格式
kill [選項] [參數]
選項
-l :列出指定編號的信息,不指定則列出所有的信息名稱
-n:指定信號,編號或名稱均可以
-u:指定用戶
信號
編號 | 名稱 | 做用 |
---|---|---|
1 | SIGHUP | 無須關閉進程而讓其重讀配置文件 |
2 | SIGINT | 終止正在運行的進程;至關於Ctrl+c\ |
3 | SIGQUIT | 至關於ctrl+\ |
9 | SIGKILL | 強制殺死正在運行的進程 |
15 | SIGTERM | 終止正在運行的進程 |
18 | SIGCONT | 繼續運行 |
19 | SIGSTOP | 後臺休眠 |
與pgrep用法類似,查找同時能夠終止進程
選項 | 含義 |
---|---|
-signal | 發送信號給匹配到的進程 |
-u uid | effective user,生效者 |
-U uid | real user ,真正發起運行命令者 |
-t terminal | 與指定終端相關的進程 |
-l | 顯示進程名(pgrep可用) |
-a | 顯示完整格式的進程名(pgrep可用) |
-P pid | 顯示指定進程的子進程 |
pkill -9 "^http"
</div> <link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-7f770a53f2.css" rel="stylesheet"> </div>