Linux中比Top颜值更高的系统监控工具Glances
glances之一瞥
Glances 是一个由 Python 编写跨平台命令行系统监视工具。
以前,我们要快速获知系统状态,例如内存使用率,CPU使用率,运行的进程,等等,都习惯用top命令:
top
top命令运行后是这样的:
top命令运行后
可以看到,top命令的显示界面比较呆板,就是黑白色的,颜值不高。
后来,我偶然看到网上有人说有一个glances的小软件很方便,而且显示的数据比较高大上。
glance是英语“一瞥,浏览”的意思。因此就是对系统的状态做一个大略的展示。
glances可以为我们实时展示:
- CPU 使用率
- 内存使用情况
- 内核统计信息和运行队列信息
- 磁盘 I/O 速度、传输和读/写比率
- 文件系统中的可用空间
- 磁盘适配器
- 网络 I/O 速度、传输和读/写比率
- 页面空间和页面速度
- 消耗资源最多的进程
- 计算机信息和系统资源
安装glances
RedHat族系(Redhat,Fedora,等等):
sudo yum install -y glances
Debian族系(Debian,Ubuntu,等等):
sudo apt-add-repository ppa:arnaud-hartmann/glances-stable sudo apt-get update sudo apt-get install glances
也可以这么安装:
curl -L http://bit.ly/glances | /bin/bash
或
wget -O- http://bit.ly/glances | /bin/bash
当然,也可以用pip来安装(需要先安装pip:https://pip.pypa.io/en/stable/installing/):
pip install glances
使用glances
glances的使用非常方便(应该说Linux中的软件使用都很方便,只需要一个命令,回车即可,就是这么潇洒),只需要在终端输入glances,回车:
glances
glances指令运行后
对比可以发现,glances对屏幕的利用率比top明显高很多,信息量很大,有许多top所没有显示的数据。而且,glances的实时变动比top颜值高太多了。
Glances 会用一下几种颜色来代表状态:
- 绿色:OK(一切正常)
- 蓝色:CAREFUL(需要注意)
- 紫色:WARNING(警告)
- 红色:CRITICAL(严重)
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的选项,可以用
man glances
来参看。
远程使用 Glances
glances -s Define the password for the Glances server Password: Password (confirm): Glances server is running on 0.0.0.0:61209
当你执行了
glances -s
命令后,会让你为 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
下面是一些在使用服务器/客户端模式时必须知道的事情:
- 在服务器模式,你可以通过
-B 地址
来设置绑定地址,也可以通过-p 端口
来绑定监听的 TCP 端口 - 在客户端模式,你可以通过同样的
-p 端口
来指定服务器端口 - 默认的绑定地址是 0.0.0.0,但这么做会监听所有网络接口的指定端口
- 在服务器/客户端模式下,限制的阀值将由服务器的设置决定
- 你也可以在命令行下用过
-P 密码
的方式来为服务器端设置一个密码
glances项目代码
glances是一个GPL 授权的开源项目,托管在github上。
现今极多优秀的项目用github来托管,因此,学好git是很必要的。
项目主页
http://nicolargo.github.io/glances/
Glances在Github上的开源代码库
https://github.com/nicolargo/glances
glances作者的Github