glances 是一款用于 Linux、BSD 的开源命令行系统监视工具,它使用 Python 语言开发,能够监视 CPU、负载、内存、磁盘 I/O、网络流量、文件系统、系统温度等信息。
glances 可以为 Unix 和 Linux 性能专家提供监视和分析性能数据的功能,其中包括:
CPU 使用率
内存使用情况
内核统计信息和运行队列信息
磁盘 I/O 速度、传输和读/写比率
文件系统中的可用空间
磁盘适配器
网络 I/O 速度、传输和读/写比率
页面空间和页面速度
消耗资源最多的进程
计算机信息和系统资源
glances 工具可以在用户的终端上实时显示重要的系统信息,并动态地对其进行更新。这个高效的工具可以工作于任何终端屏幕。另外它并不会消耗大量的 CPU 资源,通常低于百分之二。glances 在屏幕上对数据进行显示,并且每隔两秒钟对其进行更新。您也可以自己将这个时间间隔更改为更长或更短的数值。glances 工具还可以将相同的数据捕获到一个文件,便于以后对报告进行分析和绘制图形。输出文件可以是电子表格的格式 (.csv) 或者 html 格式,输出到WEB服务器中,我们在客户端,访问WEB 服务器时,它还可以动态刷新当前系统上的资源使用状态。
同样 glances 包也是由 EPEL 源所提供的,由于它是由 Python 语言开发,所以在安装 glances 之前,需要安装一个 Python 包;
glances有两种安装方法,一种是编译安装,一种是yum 安装,笔者这里采用yum方式进行安装:
# yum -y install glances
Installed: glances.noarch 0:1.7.4-1.el6 Dependency Installed: python-psutil.x86_64 0:0.6.1-1.el6 python-setuptools.noarch 0:0.6.10-3.el6 Complete!
这里只列举了部分安装过程(事先已配置好epel源),由此过程可看出安装 glances包,依赖于python包;
# glances
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 系统)
高级用法:
将glance 输出成 html 放在WEB服务器中,并用客户端访问:
# glances -o html -f /var/www/html 将glances 结果输出成html 格式并输出到web目录中 Error: Need Jinja2 library to export into HTML Try to install the python-jinja2 package
此时会提示, Python-Jinja2 包没有安装,我们可以用yum给它安装一个;
# yum -y install python-jinja2 Installed: python-jinja2.x86_64 0:2.2.1-2.el6_5 Dependency Installed: python-babel.noarch 0:0.9.4-5.1.el6 Complete!
此处也只列举了部分安装过程,可以看出 python-jinja2 已经安装成功;
此时在执行:
# glances -o html -f /var/www/html
此时就会进入 glances 交互式模式,只要我们不退出交互模式,它就可以一直向web服务端输出当前系统资源状态,在客户端就可以实现动态监测;
对于 glances 的简单应用就介绍到这里,它是一款非常强大的资源监视工具,也具有较为友好的交互界面,希望通过本文能对朋友们的工作,带来一丝便利,因为笔者水平有限,在这里只做了简单介绍,如有疏漏不妥之处,还请不吝赐教!