Glances 是一个由 Python 编写跨平台命令行系统监视工具。
以前,我们要快速获知系统状态,例如内存使用率,CPU使用率,运行的进程,等等,都习惯用top命令:
toptop命令运行后是这样的:
top命令运行后
可以看到,top命令的显示界面比较呆板,就是黑白色的,颜值不高。
后来,我偶然看到网上有人说有一个glances的小软件很方便,而且显示的数据比较高大上。
glance是英语“一瞥,浏览”的意思。因此就是对系统的状态做一个大略的展示。
glances可以为我们实时展示:
CPU 使用率
内存使用情况
内核统计信息和运行队列信息
磁盘 I/O 速度、传输和读/写比率
文件系统中的可用空间
磁盘适配器
网络 I/O 速度、传输和读/写比率
页面空间和页面速度
消耗资源最多的进程
计算机信息和系统资源
安装glances sudo yum install -y glancesDebian族系(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 使用glancesglances的使用非常方便(应该说Linux中的软件使用都很方便,只需要一个命令,回车即可,就是这么潇洒),只需要在终端输入glances,回车:
glancesglances指令运行后
对比可以发现,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是很必要的。
Glances在Github上的开源代码库
https://github.com/nicolargo/glances