http://www.ibm.com/developerworks/cn/linux/1304_caoyq_glances/html
glances 能夠爲 Unix 和 Linux 性能專家提供監視和分析性能數據的功能,其中包括:linux
CPU 使用率 內存使用狀況 內核統計信息和運行隊列信息 磁盤 I/O 速度、傳輸和讀/寫比率 文件系統中的可用空間 磁盤適配器 網絡 I/O 速度、傳輸和讀/寫比率 頁面空間和頁面速度 消耗資源最多的進程 計算機信息和系統資源
glances 工具能夠在用戶的終端上實時顯示重要的系統信息,並動態地對其進行更新。這個高效的工具能夠工做於任何終端屏幕。另外它並不會消耗大量的 CPU 資源,一般低於百分之二。glances 在屏幕上對數據進行顯示,而且每隔兩秒鐘對其進行更新。您也能夠本身將這個時間間隔更改成更長或更短的數值。glances 工具還能夠將相同的數據捕獲到一個文件,便於之後對報告進行分析和繪製圖形。輸出文件能夠是電子表格的格式 (.csv) 或者 html 格式。瀏覽器
一般能夠有兩種方法安裝 glances。第一種是經過編譯源代碼的方式,這種方法比較複雜另外可能會遇到軟件包依賴性問題。還有一種是使用特定的軟件包管理工具來安裝 glances,這種方法比較簡單。本文使用後者,須要說明的是在 CentOS 特定的軟件包管理工具來安裝。glances 要首先配置 EPEL repo,而後使用 pip 工具安裝 glances。服務器
一般 Linux 系統管理員有兩種方式來安裝一個 Python 的軟件包:一種是經過系統的包管理工具(如 apt-get)從系統的軟件倉庫裏安裝,一種是經過 Python 本身的包管理工具(如 easy_install 或者 pip)從 Python Cheese Shop 中下載安裝。筆者推薦使用 pip。pip 是一個能夠代替 easy_install 的安裝和管理 Python 軟件包的工具,是一個安裝 Python 庫很方便的工具,功能相似 YUM。注意 CentOS 和 Fedora 下安裝 Python-pip 後,關鍵字不是 pip 而是 pip-Python。網絡
若是既想得到 RHEL 的高質量、高性能、高可靠性,又須要方便易用(關鍵是免費)的軟件包更新功能,那麼 Fedora Project 推出的 EPEL(Extra Packages for Enterprise Linux ,http://fedoraproject.org/wiki/EPEL)正好適合你。它是由 Fedora 社區打造,爲 RHEL 及衍生髮行版如 CentOS、Scientific Linux 等提供高質量軟件包的項目。裝上了 EPEL,就像在 Fedora 上同樣,能夠經過 yum install package-name,隨意安裝軟件。安裝使用 EPEL 很是簡單:工具
#wget http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL-6 #rpm --import RPM-GPG-KEY-EPEL-6 #rm -f RPM-GPG-KEY-EPEL-6 #vi /etc/yum.repos.d/epel.repo # create new [epel] name=EPEL RPM Repository for Red Hat Enterprise Linux baseurl=http://ftp.riken.jp/Linux/fedora/epel/6/$basearch/ gpgcheck=1 enabled=0
這裏介紹一下安裝過程:首先使用 YUM 安裝 pip 工具,而後使用 pip 工具安裝 glances 和用來顯示系統溫度的相關軟件。性能
#yum --enablerepo=epel install Python Python-pip Python-devel gcc # pip-Python install glances
lm_sensors 的軟件能夠幫助咱們來監控主板、CPU 的工做電壓、風扇轉速、溫度等數據。這些數據咱們一般在主板的 BIOS 也能夠看到。當咱們能夠在機器運行的時候經過 lm_sensors 隨時來監測着 CPU 的溫度變化,能夠預防呵保護由於 CPU 過熱而會燒掉。lm_sensors 軟件監測到的數據能夠被 glances 調用而且顯示 。url
# yum install lm_sensors # pip-Python install PySensors
glances 是一個命令行工具包括以下命令選項: -b:顯示網絡鏈接速度 Byte/ 秒 -B @IP|host :綁定服務器端 IP 地址或者主機名稱 -c @IP|host:鏈接 glances 服務器端 -C file:設置配置文件默認是 /etc/glances/glances.conf -d:關閉磁盤 I/O 模塊 -e:顯示傳感器溫度 -f file:設置輸出文件(格式是 HTML 或者 CSV) -m:關閉掛載的磁盤模塊 -n:關閉網絡模塊 -p PORT:設置運行端口默認是 61209 -P password:設置客戶端 / 服務器密碼 -s:設置 glances 運行模式爲服務器 -t sec:設置屏幕刷新的時間間隔,單位爲秒,默認值爲 2 秒,數值許可範圍:1~32767 -h : 顯示幫助信息 -v : 顯示版本信息
glances 工做界面如圖 1spa
glances 工做界面的說明 :
在圖 1 的上部是 CPU 、Load(負載)、Mem(內存使用)、 Swap(交換分區)的使用狀況。在圖 1 的中上部是網絡接口、Processes(進程)的使用狀況。一般包括以下字段:命令行
VIRT: 虛擬內存大小 RES: 進程佔用的物理內存值 %CPU:該進程佔用的 CPU 使用率 %MEM:該進程佔用的物理內存和總內存的百分比 PID: 進程 ID 號 USER: 進程全部者的用戶名 TIME+: 該進程啓動後佔用的總的 CPU 時間 IO_R 和 IO_W: 進程的讀寫 I/O 速率 NAME: 進程名稱 NI: 進程優先級 S: 進程狀態,其中 S 表示休眠,R 表示正在運行,Z 表示僵死狀態。
在圖 1 的中下部是傳感器檢測到的 CPU 溫度。 在圖 1 的下部是磁盤 I/O 的使用狀況。 另外 glances 可使用交互式的方式運行該工具,用戶可使用以下快捷鍵:
h : 顯示幫助信息 q : 離開程序退出 c :按照 CPU 實時負載對系統進程進行排序 m :按照內存使用情況對系統進程排序 i:按照 I/O 使用情況對系統進程排序 p: 按照進程名稱排序 d : 顯示磁盤讀寫情況 w : 刪除日誌文件 l :顯示日誌 s: 顯示傳感器信息 f : 顯示系統信息 1 :輪流顯示每一個 CPU 內核的使用狀況(次選項僅僅使用在多核 CPU 系統)
讓 glances 輸出 HTML 格式文件,首先安裝相關軟件包
# pip-Python install Jinja2 # glances -o HTML -f /var/www/html
下面可使用 Firefox 瀏覽器輸入網址: http://localhost/glances.html,結果如圖 2。
輸出 csv 格式
該文件採用逗號分隔值(CSV)的格式,而且能夠將其直接導入到電子表格中。
# glances -o CSV -f /home/cjh/glances.csv
下面使用 libreoffice 的 calc 工具打開 csv 格式文件(如圖 3)
#libreoffice --calc %U /tmp/glances.csv
glances 支持服務器/客戶端工做方式,能夠實現遠程監控。首先假設
服務器 IP 地址:10.0.2.14
客戶端 IP 地址:10.0.2.15
確保兩者都已經安裝好 glances 軟件包。
首先在服務器端啓動;
# glances -s -B 10.0.2.15 glances server is running on 10.0.2.15:61209
能夠看到 glances 使用的端口號是 61209,因此用戶須要確保防火牆打開這個端口。
下面在客戶端使用以下命令鏈接服務器如圖 4:
# glances – c 10.0.2.15
注意圖 4 的左下角顯示「Connected to 10.0.2.15」>表示客戶端已經鏈接服務器成功。
綠色表示性能良好,無需作任何額外工做;(此時 CPU 使用率、磁盤空間使用率和內存使用率低於 50%,系統負載低於 0.7)。
藍色表示系統性能有一些小問題,用戶應當開始關注系統性能;(此時 CPU 使用率、磁盤空間使用率和內存使用率在 50%-70% 之間,系統負載在 0.7-1 之間)。
品紅表示性能報警,應當採起措施好比備份數據;(此時 CPU 使用率、磁盤空間使用率和內存使用率在 70%-90% 之間,,系統負載在 1-5 之間)。
紅色表示性能問題嚴重,可能宕機;(此時 CPU 使用率、磁盤空間使用率和內存使用率在大於 90%,系統負載大於 5)。