4.3 交互式监控工具Glances
Glances 是一个由 Python 编写,使用 psutil 库来从系统抓取信息的基于 curses 开发的跨平台命令行系统监视工具。 通过 Glances,我们可以监视 CPU,平均负载,内存,网络流量,磁盘 I/O,其他处理器 和 文件系统 空间的利用情况。
4.3.1 Glances 主要功能
- CPU 信息 (用户的相关应用, 系统核心程序和空闲程序)
- 总内存信息,包括了物理内存,交换空间和空闲内存等等
- 之前的 1 分钟、5 分钟和 15 分钟平均的 CPU 负载
- 网络链接的下行和上行速度
- 处理器总数,以及其活动状态
- 硬盘 I/O 相关(读写)速度详情
- 当前挂载设备的磁盘使用情况
- 高 CPU 和内存使用的进程名,和相关应用的位置
- 在底部显示当前日期和时间
- 将消耗最高系统资源的进程用红色标出
安装 Glances首先要安装依赖的psutil库:
pip install psutil
apt-get install python-dev
如果升级到了Python3.6,则要使用:
apt-get install python3.6-dev
然后安装Glances:
apt-get install glances
安装之后启动:
glances
运行界面为:
root@liu-ubuntu:~# glances
liu-ubuntu (Ubuntu 16.04 64bit / Linux 4.13.0-43-generic) Uptime: 3:13:36
CPU 3.2% nice: 0.0% LOAD 1-core MEM 69.5% SWAP 21.3%
user: 2.2% irq: 0.0% 1 min: 0.03 total: 963M total: 1022M
system: 1.0% iowait: 0.0% 5 min: 0.03 used: 669M used: 218M
idle: 96.8% steal: 0.0% 15 min: 0.00 free: 294M free: 804M
NETWORK Rx/s Tx/s TASKS 209 (392 thr), 1 run, 208 slp, 0 oth sorted automatically
ens32 152b 632b
lo 504b 504b CPU% MEM% PID USER NI S Command
2.9 2.9 5919 root 0 R /usr/bin/python3 /usr/bin/gla
DISK I/O R/s W/s 0.3 0.2 919 redis 0 S /usr/bin/redis-server *:6379
sda1 0 0 0.3 1.6 1890 liu 0 S update-notifier
sda2 0 0 0.0 0.5 1 root 0 S /sbin/init splash
sda5 0 0 0.0 0.0 2 root 0 S kthreadd
sr0 0 0 0.0 0.0 4 root -20 S kworker/0:0H
0.0 0.0 6 root -20 S mm_percpu_wq
FILE SYS Used Total 0.0 0.0 7 root 0 S ksoftirqd/0
/ (sda1) 5.15G 18.6G 0.0 0.0 8 root 0 S rcu_sched
_TS amd64 1.51G 1.51G 0.0 0.0 9 root 0 S rcu_bh
0.0 0.0 10 root 0 S migration/0
0.0 0.0 11 root 0 S watchdog/0
2018-06-05 13:50:50 No warning or critical alert detected
Glances 的默认刷新频率是 1 (秒),但是你可以通过在终端指定参数来手动定义其刷新频率
# glances -t 2
4.3.2 Glances 中颜色的含义
Glances 会用一下几种颜色来代表状态:
- 绿色:OK(一切正常)
- 蓝色:CAREFUL(需要注意)
- 紫色:WARNING(警告)
- 红色:CRITICAL(严重)
阀值可以在配置文件中设置,一般阀值被默认设置为(careful=50、warning=70、critical=90)。
我们可以按照自己的需求在配置文件(默认在 /etc/glances/glances.conf)中自定义。
4.3.3 Glances 的选项
除了很多命令行选项之外,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‘ 也可以)