天天看点

Linux 系统实时监控的瑞士军刀 —— Glances

但是,有些时候想要通过她寻找一个占用系统资源比较大的应用或进程可能会比较困难。 因为 top 命令本身并不会帮助我们高亮那些吃太多 cpu,内存,或者其他资源的程序。

为了达到这个目标,这里我们将介绍一款超牛逼的系统监视程序 —— glances。 她可以自动高亮利用最高系统资源的程序,并为 linux/unix 服务器提供尽可能多的信息。

<a target="_blank"></a>

glances 是一个由 python 编写,使用 psutil 库来从系统抓取信息的基于 curses 开发的跨平台命令行系统监视工具。 通过 glances,我们可以监视 cpu,平均负载,内存,网络流量,磁盘 i/o,其他处理器 和 文件系统 空间的利用情况。

glances 是一个用来监视 gnu/linux 和 freebsd 操作系统的 gpl 授权的自由软件。

glances 同时也提供了很多实用的选项。 其中我们能够在配置文件见到的一项主要的功能就是设置关键值及相应的标签 (careful[小心], warning[警告] 和 critical[严重]), 然后她会自动帮我们用不同颜色标出系统达到某个瓶颈的信息。

cpu 信息 (用户的相关应用, 系统核心程序和空闲程序)

总内存信息,包括了物理内存,交换空间和空闲内存等等

之前的 1 分钟、5 分钟和 15 分钟平均的 cpu 负载

网络链接的下行和上行速度

处理器总数,以及其活动状态

硬盘 i/o 相关(读写)速度详情

当前挂载设备的磁盘使用情况

高 cpu 和内存使用的进程名,和相关应用的位置

在底部显示当前日期和时间

将消耗最高系统资源的进程用红色标出

下面是一个 glances 的使用截图:

Linux 系统实时监控的瑞士军刀 —— Glances

glances view

# yum install -y glances

$ sudo apt-add-repository ppa:arnaud-hartmann/glances-stable

$ sudo apt-get update

$ sudo apt-get install glances

首先,你需要在终端中输入以下命令

# glances

Linux 系统实时监控的瑞士军刀 —— Glances

glances preview – ubuntu 13.10

按下 ‘q‘ (‘esc‘ 和 ‘ctrl-c‘ 也可以) 退出 glances 终端。 这里是从 centos 6.5 截取的另一张截图:

Linux 系统实时监控的瑞士军刀 —— Glances

glances preview – centos 6.5

glances 的默认刷新频率是 1 (秒),但是你可以通过在终端指定参数来手动定义其刷新频率

# glances -t 2

glances 会用一下几种颜色来代表状态:

绿色:ok(一切正常)

蓝色:careful(需要注意)

紫色:warning(警告)

红色:critical(严重)

阀值可以在配置文件中设置,一般阀值被默认设置为(careful=50、warning=70、critical=90)。

我们可以按照自己的需求在配置文件(默认在 /etc/glances/glances.conf)中自定义。

除了很多命令行选项之外,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&amp;c‘ 也可以)

你甚至也可以通过 glances 来监视远程系统。 要在远程系统使用 ‘glances’,需要在服务器运行 ‘glances -s’(-s 启动服务器/客户端模式)命令。

# glances -s

define the password for the glances server

password:

password (confirm):

glances server is running on 0.0.0.0:61209

注意:当你执行了‘glances’命令后,她会让你为 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

下面是一些在使用服务器/客户端模式时必须知道的事情:

glances 对于大多用户而言是个在系统资源上提供过多信息的工具。但是如果你是一个想要仅从命令行就能快速获取系统整体状况的系统管理员,那这个工具绝对是你的必备利器。

请不要将 glances(本文中的工具)和 glance(一个 openstack 的工具)这两个包搞混了

ubuntu 官方 extra 源中的 glances 因为 python 库移动的问题导致无法正常使用 但可以通过建立软链接的方式临时修复:sudo ln -s /usr/lib/python2.7/dist-packages/glances /usr/share/pyshared/glances

原文发布时间为:2014-03-31

本文来自云栖社区合作伙伴“linux中国”