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=50warning=70critical=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‘ 也可以)