众所周知,top命令是Linux中的实时任务管理器,也是GNU/Linux发行版中最常用的系统监控工具,可以发现系统中与性能相关的瓶颈,从而帮助我们采取纠正措施。它有一个漂亮的简约界面,并带有一些合理功能选项,使我们能够实时监控系统进程,例如CPU使用率、内存使用率和其它关键系统信息。
然而,有时候我们需要找到一个消耗大量系统资源的应用程序/进程,对于top命令来说有点困难,因为top命令无法突出显示占用过多CPU、RAM和其它资源的程序。为了解决此类问题,这里介绍一个名为“ Glances ”的强大Linux系统监控程序,它会自动突出显示使用最高系统资源的程序并提供有关Linux/Unix服务器的最多信息。
什么是Glances?
Glances是一个用Python语言编写的基于Curses的跨平台命令行系统监控工具,它使用psutil库从系统中获取信息。通过Glances可以监控CPU、平均负载、内存、网络接口、磁盘I/O、进程和文件系统空间利用率。
Glances是一款免费工具,并根据GPL获得许可,用于监控GNU/Linux和FreeBSD操作系统,而且Glances中也有很多有趣的选项。当然,我们在Glances中利用到的主要功能之一是可以在配置文件中设置阈值(提醒、警告和严重),并且信息将以颜色显示,指示系统中的瓶颈。其主要功能特点包括:
- CPU信息(用户相关应用程序、系统核心程序、空闲程序)。
- 总内存信息包括RAM、Swap、Free内存等。
- 过去1分钟、5分钟和15分钟的平均CPU负载。
- 网络连接的下载/上传速率。
- 进程总数、活动进程、睡眠进程等。
- 磁盘 I/O相关(读或写)速度详细信息
- 当前安装的设备磁盘使用情况。
- 主要进程及其CPU/内存使用情况、名称和应用程序位置。
- 在底部显示当前日期和时间。
- 以红色突出显示消耗最高系统资源的进程。
在Linux系统中安装Glance
尽管它是一个非常年轻的实用程序,但你可以通过打开EPEL存储库,然后在终端上运行以下yum命令,在基于RedHat的系统中安装“ Glances ” 。
在RHEL系统中安装Glance
# yum install -y epel-release # yum install -y glances
在Debian系统中安装Glance
可以使用apt命令在基于Debian的发行版上安装Glances,如下所示:
$ apt install glances
在其它Linux发行版上,可以使用默认的包管理器安装Glances,命令如下:
$ sudoemerge -a sys-apps/glances [Gentoo Linux] $ sudo apk add Glaces [Alpine Linux] $ sudo pacman -S Glaces [Arch Linux] $ sudo zypper install Glaces [OpenSUSE]
如何监控Linux性能
要开始监控正在运行的Linux系统的性能,请在终端上输入以下命令:
# glances
要停止Glances,可以在运行Glances的终端中按’ q
‘或’ESC
‘或’Ctrl&C’即可。
在Web服务器模式下运行Glance
要在Web服务器模式下运行Glances,需要添加-w
选项以通过用户友好的Web界面远程监控系统的性能和资源使用情况:
# glances -w
一旦Glances在Web服务器模式下运行,它将为你提供以下URL来访问Web界面:
http://localhost:61208
此外,Glances还提供了多个命令行选项,并提供了更多热键来在Glances运行时查找输出信息。下面是几个热键的列表:
a
– 自动对流程进行排序c
– 按CPU%对进程进行排序m
– 按MEM%对进程进行排序p
– 按名称对进程进行排序i
– 按I/O速率对进程进行排序d
– 显示/隐藏磁盘I/O统计信息n
– 显示/隐藏网络统计信息s
– 显示/隐藏传感器统计数据y
– 显示/隐藏硬盘温度统计信息l
– 显示/隐藏日志b
– 网络I/Oool的字节或位w
– 删除警告日志x
– 删除警告和关键日志x
– 删除警告和关键日志1
– 全局CPU或每个CPU统计数据h
– 显示/隐藏此帮助屏幕t
– 将网络I/O查看为组合u
– 查看累计网络I/Oq
– 退出(Esc和Ctrl-C也可以)
监控远程Linux性能
借助Glances甚至还可以监控远程系统,要在远程系统上使用“ glances ”,请运行“glances -s”,这会在服务器上启用服务器/客户端模式:
# glances -s Glances XML-RPC server is running on 0.0.0.0:61209
现在,转到远程主机并执行以下命令,通过指定IP地址或主机名和端口号来连接到Glances服务器,如下图所示。这里’ 192.168.0.161‘是我的Glances服务器IP地址。
# glances -c 192.168.0.161:61209
以下是用户在服务器/客户端模式下使用Glance时必须了解的一些注意事项:
- 服务器模式下,可以设置绑定地址
-B
ADDRESS 和监听TCP-p
PORT端口。 - 在客户端模式下,可以设置服务器的TCP
-p PORT
端口。 - 默认绑定地址为0.0.0.0,但它侦听端口61209上的所有网络接口。
- 在服务器/客户端模式下,限制由服务器端设置。
- 用户还可以定义访问服务器的密码
-P
。
结论
对于大多数用户来说, Glances是一个资源友好的工具。但如果你是一名Linux系统管理员,希望通过浏览命令行快速获得有关系统的整体运行情况,那么这个工具将是系统管理员的必备工具。
需要注意的是,Glances在不同的操作系统和版本中可能会有一些差异,因此建议查阅Glances的官方文档或使用glances –help命令来获取更多详细信息和使用帮助。