但是,有些時候想要通過她尋找一個占用系統資源比較大的應用或程序可能會比較困難。 因為 top 指令本身并不會幫助我們高亮那些吃太多 cpu,記憶體,或者其他資源的程式。
為了達到這個目标,這裡我們将介紹一款超牛逼的系統監視程式 —— glances。 她可以自動高亮利用最高系統資源的程式,并為 linux/unix 伺服器提供盡可能多的資訊。
<a target="_blank"></a>
glances 是一個由 python 編寫,使用 psutil 庫來從系統抓取資訊的基于 curses 開發的跨平台指令行系統監視工具。 通過 glances,我們可以監視 cpu,平均負載,記憶體,網絡流量,磁盤 i/o,其他處理器 和 檔案系統 空間的利用情況。
glances 是一個用來監視 gnu/linux 和 freebsd 作業系統的 gpl 授權的自由軟體。
glances 同時也提供了很多實用的選項。 其中我們能夠在配置檔案見到的一項主要的功能就是設定關鍵值及相應的标簽 (careful[小心], warning[警告] 和 critical[嚴重]), 然後她會自動幫我們用不同顔色标出系統達到某個瓶頸的資訊。
cpu 資訊 (使用者的相關應用, 系統核心程式和空閑程式)
總記憶體資訊,包括了實體記憶體,交換空間和空閑記憶體等等
之前的 1 分鐘、5 分鐘和 15 分鐘平均的 cpu 負載
網絡連結的下行和上行速度
處理器總數,以及其活動狀态
硬碟 i/o 相關(讀寫)速度詳情
目前挂載裝置的磁盤使用情況
高 cpu 和記憶體使用的程序名,和相關應用的位置
在底部顯示目前日期和時間
将消耗最高系統資源的程序用紅色标出
下面是一個 glances 的使用截圖:

glances view
# yum install -y glances
$ sudo apt-add-repository ppa:arnaud-hartmann/glances-stable
$ sudo apt-get update
$ sudo apt-get install glances
首先,你需要在終端中輸入以下指令
# glances
glances preview – ubuntu 13.10
按下 ‘q‘ (‘esc‘ 和 ‘ctrl-c‘ 也可以) 退出 glances 終端。 這裡是從 centos 6.5 截取的另一張截圖:
glances preview – centos 6.5
glances 的預設重新整理頻率是 1 (秒),但是你可以通過在終端指定參數來手動定義其重新整理頻率
# glances -t 2
glances 會用一下幾種顔色來代表狀态:
綠色:ok(一切正常)
藍色:careful(需要注意)
紫色:warning(警告)
紅色:critical(嚴重)
閥值可以在配置檔案中設定,一般閥值被預設設定為(careful=50、warning=70、critical=90)。
我們可以按照自己的需求在配置檔案(預設在 /etc/glances/glances.conf)中自定義。
除了很多指令行選項之外,glances 還提供了更多的可在其運作時開關輸出資訊選項的快捷鍵,下面是一些例子:
a – 對程序自動排序
c – 按 cpu 百分比對程序排序
m – 按記憶體百分比對程序排序
p – 按程序名字母順序對程序排序
i – 按讀寫頻率(i/o)對程序排序
d – 顯示/隐藏磁盤 i/o 統計資訊
f – 顯示/隐藏檔案系統統計資訊
n – 顯示/隐藏網絡接口統計資訊
s – 顯示/隐藏傳感器統計資訊
y – 顯示/隐藏硬碟溫度統計資訊
l – 顯示/隐藏日志(log)
b – 切換網絡 i/o 機關(bytes/bits)
w – 删除警告日志
x – 删除警告和嚴重日志
1 – 切換全局 cpu 使用情況和每個 cpu 的使用情況
h – 顯示/隐藏這個幫助畫面
t – 以組合形式浏覽網絡 i/o
u – 以累計形式浏覽網絡 i/o
q – 退出(‘esc‘ 和 ‘ctrl&c‘ 也可以)
你甚至也可以通過 glances 來監視遠端系統。 要在遠端系統使用 ‘glances’,需要在伺服器運作 ‘glances -s’(-s 啟動伺服器/用戶端模式)指令。
# glances -s
define the password for the glances server
password:
password (confirm):
glances server is running on 0.0.0.0:61209
注意:當你執行了‘glances’指令後,她會讓你為 glances 伺服器設定密碼。
當你設定完畢,你将看到 “glances server is running on 0.0.0.0:61209” (glances 伺服器正在 0.0.0.0 的 61209 端口運作)的消息。
當 glances 伺服器啟動後,到本地執行下面的指令來指定伺服器ip位址或主機名以連結。
注:這裡的 ‘172.16.27.56’ 是我 glances 伺服器的 ip 位址。
# glances -c -p 172.16.27.56
下面是一些在使用伺服器/用戶端模式時必須知道的事情:
glances 對于大多使用者而言是個在系統資源上提供過多資訊的工具。但是如果你是一個想要僅從指令行就能快速擷取系統整體狀況的系統管理者,那這個工具絕對是你的必備利器。
請不要将 glances(本文中的工具)和 glance(一個 openstack 的工具)這兩個包搞混了
ubuntu 官方 extra 源中的 glances 因為 python 庫移動的問題導緻無法正常使用 但可以通過建立軟連結的方式臨時修複:sudo ln -s /usr/lib/python2.7/dist-packages/glances /usr/share/pyshared/glances
原文釋出時間為:2014-03-31
本文來自雲栖社群合作夥伴“linux中國”