概述
在top命令是在Linux中實時任務管理器和GNU / Linux發行版中最常用的系統監視工具來發現系統性能相關的瓶頸,幫助我們採取糾正措施。 它有一個很好的簡約接口,配備少量的合理選項,使我們能夠更快地瞭解整體系統性能。然而,有時它查找一個消耗大量系統資源的應用程序/進程是非常麻煩的, 因為top命令降低了消耗過多的CPU,RAM,其他資源的程序的能力。
為了實現這個目標,今天就介紹一款很強大的工具--Glances,可自動突出顯示正在使用最高的系統資源,並提供最大的關於Linux / Unix服務器信息的程序。
一、什麼是 Glances?
Glances 是一個由 Python 編寫,使用 psutil 庫來從系統抓取信息的基於 curses 開發的跨平臺命令行系統監視工具。
通過 Glances,我們可以監視 CPU,平均負載,內存,網絡流量,磁盤 I/O,其他處理器 和 文件系統 空間的利用情況。
Glances 是一個用來監視 GNU/Linux 和 FreeBSD 操作系統的 GPL 授權的自由軟件。
Glances 同時也提供了很多實用的選項。 其中我們能夠在配置文件見到的一項主要的功能就是設 置關鍵值及相應的標籤 (careful[小心], warning[警告] 和 critical[嚴重]), 然後她會自動幫我們用不同顏色標出系統達到某個瓶頸的信息。
二、Glances 主要功能
- CPU 信息 (用戶的相關應用, 系統核心程序和空閒程序)
- 總內存信息,包括了物理內存,交換空間和空閒內存等等
- 之前的 1 分鐘、5 分鐘和 15 分鐘平均的 CPU 負載
- 網絡鏈接的下行和上行速度
- 處理器總數,以及其活動狀態
- 硬盤 I/O 相關(讀寫)速度詳情
- 當前掛載設備的磁盤使用情況
- 高 CPU 和內存使用的進程名,和相關應用的位置
- 在底部顯示當前日期和時間
- 將消耗最高系統資源的進程用紅色標出
三、Glances 中顏色含義
![強烈推薦一款linux系統監控工具--glances](http://p2.ttnews.xyz/loading.gif)
Glances 會用以下幾種顏色來代表狀態:
· 綠色:OK(一切正常)
· 藍色:CAREFUL(需要注意)
· 紫色:WARNING(警告)
· 紅色:CRITICAL(嚴重)
閥值可以在配置文件中設置,一般閥值被默認設置為(careful=50、warning=70、critical=90)。
我們可以按照自己的需求在配置文件(默認在 /etc/glances/glances.conf)中自定義。
四、Glances安裝
官網文檔:https://glances.readthedocs.io/en/latest/install.html
glances在epel源就有,所以安裝很簡單,配置好epel源就可以使用yum安裝了。
1、下載安裝epel源
#yum -y install epel-release
2、安裝glances
#yum -y install glances
![強烈推薦一款linux系統監控工具--glances](http://p2.ttnews.xyz/loading.gif)
3、如果需要web頁面監控,需安裝web客戶端工具
#pip install bottle
五、Glances 的選項
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用法
1、命令行直接使用glances命令
Glances 的默認刷新頻率是 1(秒),但是可以通過在終端指定參數(t)來手動定義其刷新頻率。
按“Q”或(“ESC”鍵或“Ctrl鍵和C'也適用)從終端退出
glances -t 2
glances 工作界面的說明 :
在圖 的上部是 CPU 、Load(負載)、Mem(內存使用)、 Swap(交換分區)的使用情況。在圖的中上部是網絡接口、Processes(進程)的使用情況。通常包括如下字段:
VIRT: 虛擬內存大小
RES: 進程佔用的物理內存值
%CPU:該進程佔用的 CPU 使用率
%MEM:該進程佔用的物理內存和總內存的百分比
PID: 進程 ID 號
USER: 進程所有者的用戶名
TIME+: 該進程啟動後佔用的總的 CPU 時間
IO_R 和 IO_W: 進程的讀寫 I/O 速率
NAME: 進程名稱
NI: 進程優先級
S: 進程狀態,其中 S 表示休眠,R 表示正在運行,Z 表示僵死狀態。
在圖 的中下部是傳感器檢測到的 CPU 溫度。 在圖的下部是磁盤 I/O 的使用情況。 另外 glances 可以使用交互式的方式運行該工具,用戶可以使用如下快捷鍵:
h : 顯示幫助信息
q : 離開程序退出
c :按照 CPU 實時負載對系統進程進行排序
m :按照內存使用狀況對系統進程排序
i:按照 I/O 使用狀況對系統進程排序
p: 按照進程名稱排序
d : 顯示磁盤讀寫狀況
w : 刪除日誌文件
l :顯示日誌
s: 顯示傳感器信息
f : 顯示系統信息
1 :輪流顯示每個 CPU 內核的使用情況(次選項僅僅使用在多核 CPU 系統)
2、輸出為html格式,配置web server展出
# pip install jinja2 或者yum -y install python-jinja2
# glances -o HTML -f /var/www/html
注:輸出html格式時,需要jinja2的支持,需要先安裝依賴。默認輸出的文件名是glances.html,可以通過http://IP/glances.html訪問。
這個命令還是很有用的,建議大家重點掌握,後面會分享更多devops和DBA方面的內容,感興趣的朋友可以一起學習~
閱讀更多 波波說運維 的文章