Aleen • 2016-09-07 • linux學習 • 閱讀 3883html
Linux中基於命令行的性能監控工具:dstat、top、netstat、vmstat、htop、ss、glanceslinux
一、dstat – 多類型資源統計工具(需配置epel源)ios
該命令整合了vmstat,iostat和ifstat三種命令。同時增長了新的特性和功能可讓你能及時看到各類的資源使用狀況,從而可以使你對比和整合不一樣的資源使用狀況。經過不一樣顏色和區塊數據庫
佈局的界面幫助你可以更加清晰容易的獲取信息。它也支持將信息數據導出到cvs格式文件中,從而用其餘應用程序打開,或者導入到數據庫中。你能夠用該命令來監控cpu,內存和網絡狀態隨着centos
時間的變化。緩存
簡介: dstat - versatile tool for generating system resource statistics格式: dstat [-afv] [options..] [delay [count]]選項: -c: 顯示cpu相關信息 -C #,#,...,total -d: 顯示disk相關信息 -D total,sda,sdb,... -g:顯示page相關統計數據 -m: 顯示memory相關統計數據 -n: 顯示network相關統計數據 -p: 顯示process相關統計數據 -r: 顯示io請求相關的統計數據 -s: 顯示swapped相關的統計數據 --top-cpu:顯示最佔用CPU的進程 --top-io: 顯示最佔用io的進程 --top-mem: 顯示最佔用內存的進程 --top-latency: 顯示延遲最大的進程 - -raw:顯示裸套接字 - -socket:套接字 - -ipc:進程間通訊信息實例1:顯示cpu、進程、內存、io線程以及swap等相關信息服務器
實例2:顯示tcp、udp協議和raw和socket套接字以及進程間通訊的信息網絡
實例3:顯示系統中cpu和io線程以及內存使用的狀況app
二、top – 經典的Linux任務管理工具socket
做爲一個廣爲人知的Linux工具,top是大多數的類Unix操做系統任務管理器。它能夠顯示當前正在運行的進程的列表,用戶能夠按照不一樣的條件對該列表進行排序。它主要顯示了系統進程對CPU和
內存的使用情況。top能夠快速檢查是哪一個或哪幾個進程掛起了你的系統。你能夠在這裏看到top使用的例子。 你能夠在終端輸入top來運行它並進入到交互模式:
簡介: top - display Linux processes格式: top -hv|-bcHiOSs -d secs -n max -u|U user -p pid -o fld -w [cols]交互模式的一些快捷操做: 全局命令: <回車/空格> ?, =, A, B, d, G, h, I, k, q, r, s, W, Z 統計區的命令: l, m, t, 1 任務區的命令: 外觀: b, x, y, z 內容: c, f, H, o, S, u 大小: #, i, n 排序: <, >, F, O, R 色彩方案: <Ret>, a, B, b, H, M, q, S, T, w, z, 0 - 7 窗口命令: -, _, =, +, A, a, G, g, w實例1:
top命令個參數具體含義:
top – 13:26:57 up 1:38, 2 users, load average: 0.00, 0.01, 0.04
13:26:57:當前時間
1:38:運行時長
2 users:登陸當前系統上的用戶數
load average: 0.00, 0.01, 0.04:平均負載(等待運行的隊列長度的負載)
Tasks: 367 total, 1 running, 366 sleeping, 0 stopped, 0 zombie
Tasks:任務
367 total:一共運行367進程
1 running:1個處於運行
366 sleeping:366個進程睡眠
0 stopped:0箇中止
0 zombie:0個僵死
%Cpu(s): 0.0 us, 0.1 sy, 0.0 ni, 99.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu:cpu佔用百分比
0.0 us:用戶空間佔用的百分比
0.1 sy:內核空間佔用時間的百分比
0.0 ni:對nice調整佔用的內存百分比
99.9 id:空閒百分比
0.0 wa:等待IO完成所消耗的百分比
0.0 hi:處理硬件中斷所佔用的百分比
0.0 si:處理軟件中斷所佔用的百分比
0.0 st:被偷走的百分比(虛擬化程序)
KiB Mem : 1868688 total, 1328280 free, 127580 used, 412828 buff/cache
KiB Mem:內存空間佔用,以KB爲單位:
1868688 total:總內存空間
1328280 free:剩餘內存空間
127580 used:已用內存空間
412828 buff/cache:用於緩存和緩衝的內存空間
KiB Swap: 2097148 total, 2097148 free, 0 used. 1564488 avail Mem
KiB Swap:swap空間佔用,以KB爲單位
2097148 total:總空間
2097148 free:剩餘空間
0 used:已用空間
698100 avail Mem :有效swap大小
欄位信息簡介
us:用戶空間
sy:內核空間
ni:調整nice時間
id:空閒
wa:等待IO時間
hi:硬中斷
si:軟中斷(模式切換)
st:虛擬機偷走的時間
實例2:
敲m鍵:能夠將內存使用率用|||顯示 或者白空格顯示
實例3:
敲t鍵:能夠禁用顯示硬盤及cpu相關消息
實例4:
敲k鍵:終止指定的進程
實例5:
敲q鍵:退出top界面
三、netstat – 顯示開放的端口和鏈接(以centos 6 操做)
它是Linux管理員使用來顯示各類網絡信息的工具,如查看什麼端口開放和什麼網絡鏈接已經創建以及何種進程運行在該鏈接之上。同時它也顯示了不一樣程序間打開的Unix套接字的信息。做爲大多數
Linux發行版本的一部分,netstat的許多命令在 netstat和它的不一樣輸出中有詳細的描述。最爲經常使用的以下:
簡介: netstat - Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships格式: netstat [--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [--all|-a] [--numeric|-n] [--extend|-e[--extend|-e]] [--program|-p]選項: -t: tcp協議相關 -u: udp協議相關 -w: raw socket相關 -l: 處於監聽狀態 -a: 全部狀態 -n: 以數字顯示IP和端口; -e:擴展格式 -p: 顯示相關進程及PID 經常使用組合: -tan, -uan, -tnl, -unl, -tunlp實例1:以數字顯示tcp協議的ip和端口
實例2:以數字顯示tcp、udp協議的ip和端口以及相關進程及PID
四、vmstat – 虛擬內存統計信息
vmstat是虛擬內存(virtual memory statistics)的縮寫,做爲一個內存監控工具,它收集和顯示關於內存,進程,終端和分頁和I/O阻塞的歸納信息。做爲一個開源程序,它能夠在大部分Linux發行版本
中找到,包括Solaris和FreeBSD。它用來診斷大部分的內存性能問題和其餘相關問題。
簡介: vmstat - Report virtual memory statistics格式: vmstat [options] [delay [count]]實例1:
procs r:等待運行的進程的個數 b:處於不可中斷睡眠態的進程個數;(被阻塞的隊列的長度); memory swpd: 交換內存的使用總量 free:空閒物理內存總量 buffer:用於buffer的內存總量 cache:用於cache的內存總量 swap si:數據進入swap中的數據速率(kb/s) so:數據離開swap中的數據速率(kb/s) io bi:從塊設備讀入數據到系統的速率;(kb/s) bo: 保存數據至塊設備的速率 system in: interrupts, 中斷速率 cs: context switch, 進程切換速率 cpu us:用戶空間 sy:內核空間 id:空閒 wa:等待IO時間 st:虛擬機偷走的時間 五、Htop – 更加友好的top(需配置epel源安裝)
Htop基本上是一個top改善版本,它可以以更加多彩的方式顯示更多的統計信息,同時容許你採用不一樣的方式進行排序,它提供了一個用戶友好的接口。
簡介: htop - interactive process viewer格式: htop [-dChusv]選項: -d #: 指定延遲時間; -u UserName: 僅顯示指定用戶的進程; -s COLOMN: 以指定字段進行排序; 子命令: s: 跟蹤選定進程的系統調用; l: 顯示選定進程打開的文件列表; a:將選定的進程綁定至某指定CPU核心; t: 顯示進程樹實例1:
六、ss – 網絡管理的現代替代品
ss是iproute2包的一部分。iproute2是用來替代一整套標準的Unix網絡工具組件,它曾經用來完成網絡接口配置,路由表和管理ARP表任務。ss工具用來記錄套接字統計信息,它能夠顯示相似netstat一
樣的信息,同時也能顯示更多TCP和狀態信息。
簡介: ss - another utility to investigate sockets格式: ss [options] [ FILTER ]選項: -t: tcp協議相關 -u: udp協議相關 -w: 裸套接字相關 -x:unix sock相關 -l: listen狀態的鏈接 -a: 全部 -n: 數字格式 -p: 相關的程序及PID -e: 擴展的信息 -m:內存用量 -o:計時器信息 經常使用組合: -tan, -tanl, -tanlp, -uan實例1:以數字格式顯示全部的tcp協議連接
實例2:以數字形式顯示全部的tcp、udp協議的連接以及端口
七、Glances – 是一個由 Python 編寫,使用 psutil 庫來從系統抓取信息的基於 curses 開發的跨平臺命令行系統監視工具。 經過 Glances,咱們能夠監視 CPU,平均負載,內存,網絡流量,磁盤 I/O,
其餘處理器 和 文件系統 空間的利用狀況。(需配epel源安裝)
簡介: glances - A cross-platform curses-based monitoring tool格式: 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: 禁用mount模塊 -n: 禁用網絡模塊 -t #: 延遲時間間隔 -1:每一個CPU的相關數據單獨顯示; 內建命令: a Sort processes automatically l Show/hide logs c Sort processes by CPU% b Bytes or bits for network I/O m Sort processes by MEM% w Delete warning logs p Sort processes by name x Delete warning and critical logs i Sort processes by I/O rate 1 Global CPU or per-CPU stats d Show/hide disk I/O stats h Show/hide this help screen f Show/hide file system stats t View network I/O as combination n Show/hide network stats u View cumulative network I/O s Show/hide sensors stats q Quit (Esc and Ctrl-C also work)實例1:直接輸入"glances"命令,能夠監視 CPU,平均負載,內存,網絡流量,磁盤 I/O,其餘處理器 和 文件系統 空間的利用狀況
實例2:C/S模式下運行glances命令
服務模式:"glances -s -B IPADDR" (IPADDR: 指明監聽於本機哪一個地址)(Tips:需關掉防火牆或者開啓相應的端口)
客戶模式:"glances -c IPADDR" (IPADDR:要連入的服務器端地址)