python glances来监控linux服务器CPU 内存 IO使用

简介:

什么是 Glances?

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

Glances 是一个用来监视 GNU/Linux 和 FreeBSD 操作系统的 GPL 授权的自由软件。

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

Glances 主要功能

  • CPU 信息 (用户的相关应用, 系统核心程序和空闲程序)
  • 总内存信息,包括了物理内存,交换空间和空闲内存等等
  • 之前的 1 分钟、5 分钟和 15 分钟平均的 CPU 负载
  • 网络链接的下行和上行速度
  • 处理器总数,以及其活动状态
  • 硬盘 I/O 相关(读写)速度详情
  • 当前挂载设备的磁盘使用情况
  • 高 CPU 和内存使用的进程名,和相关应用的位置
  • 在底部显示当前日期和时间
  • 将消耗最高系统资源的进程用红色标出

在 Linux/Unix 系统中安装 Glances

虽然这个工具的发布比较晚,但你仍然可以在 Red Hat 系的系统中通过 EPEL 软件源安装。在终端用下面的命令安装:

对于 RHEL/CentOS/Fedora 发行版

# yum install -y glances

对于 Debian/Ubuntu/Linux Mint 发行版

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

如何使用 Glances

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

# glances

按下 ‘q‘ (‘ESC‘ 和 ‘Ctrl-C‘ 也可以) 退出 Glances 终端。 这里是从 CentOS 6.5 截取的另一张截图:

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

# glances -t 2

Glances 中颜色的含义

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

  • 绿色:OK(一切正常)
  • 蓝色:CAREFUL(需要注意)
  • 紫色:WARNING(警告)
  • 红色:CRITICAL(严重)

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

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

Glances 的选项

除了很多命令行选项之外,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

你甚至也可以通过 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

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

* 在服务器模式,你可以通过 `-B 地址` 来设置绑定地址,也可以通过 `-p 端口` 来绑定监听的 TCP 端口
* 在客户端模式,你可以通过同样的 `-p 端口` 来指定服务器端口
* 默认的绑定地址是 0.0.0.0,但这么做会监听所有网络接口的指定端口
* 在服务器/客户端模式下,限制的阀值将由服务器的设置决定
* 你也可以在命令行下用过 `-P 密码` 的方式来为服务器端设置一个密码

总结

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

译者注

  1. 请不要将 glances(本文中的工具)和 glance(一个 OpenStack 的工具)这两个包搞混了
  2. Ubuntu 官方 Extra 源中的 glances 因为 python 库移动的问题导致无法正常使用 但可以通过建立软链接的方式临时修复:sudo ln -s /usr/lib/python2.7/dist-packages/glances /usr/share/pyshared/glances












本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/bonelee/p/6419578.html ,如需转载请自行联系原作者


相关文章
|
11天前
|
存储 缓存 监控
Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
本文介绍了Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
41 7
|
10天前
|
存储 分布式计算 安全
阿里云服务器经济型e、通用算力型u1、计算型c8i、通用型g8i、内存型r8i实例介绍与选择参考
在阿里云现在的活动中,可选的云服务器实例规格主要有经济型e、通用算力型u1、计算型c8i、通用型g8i、内存型r8i实例,虽然阿里云在活动中提供了多种不同规格的云服务器实例,以满足不同用户和应用场景的需求。但是有的用户并不清楚他们的性能如何,应该如何选择。本文将详细介绍阿里云服务器中的经济型e、通用算力型u1、计算型c8i、通用型g8i、内存型r8i实例的性能、适用场景及选择参考,帮助用户根据自身需求做出合适的选择。
|
9天前
|
开发框架 .NET PHP
网站应用项目如何选择阿里云服务器实例规格+内存+CPU+带宽+操作系统等配置
对于使用阿里云服务器的搭建网站的用户来说,面对众多可选的实例规格和配置选项,我们应该如何做出最佳选择,以最大化业务效益并控制成本,成为大家比较关注的问题,如果实例、内存、CPU、带宽等配置选择不合适,可能会影响到自己业务在云服务器上的计算性能及后期运营状况,本文将详细解析企业在搭建网站应用项目时选购阿里云服务器应考虑的一些因素,以供参考。
|
19天前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
26 4
|
1月前
|
存储 缓存 安全
阿里云服务器内存型r7、r8a、r8y、r8i实例区别及选择参考
随着阿里云2024年金秋云创季的开始,目前在阿里云的活动中,属于内存型实例规格的云服务器有内存型r7、内存型r8a、内存型r8y和内存型r8i这几个实例规格,相比于活动内的经济型e和通用算力型u1等实例规格来说,这些实例规格等性能更强,虽然这几个实例规格的云服务器通常处理器与内存的配比为都是1:8,但是他们在处理器、存储、网络、安全等方面等性能并不是一样的,所以他们的适用场景也有着不同。本文为大家介绍内存型r7、r8a、r8y、r8i实例的性能、适用场景的区别以及选择参考。
|
29天前
|
弹性计算 Kubernetes Perl
k8s 设置pod 的cpu 和内存
在 Kubernetes (k8s) 中,设置 Pod 的 CPU 和内存资源限制和请求是非常重要的,因为这有助于确保集群资源的合理分配和有效利用。你可以通过定义 Pod 的 `resources` 字段来设置这些限制。 以下是一个示例 YAML 文件,展示了如何为一个 Pod 设置 CPU 和内存资源请求(requests)和限制(limits): ```yaml apiVersion: v1 kind: Pod metadata: name: example-pod spec: containers: - name: example-container image:
165 1
|
1月前
|
弹性计算
阿里云2核16G云服务器多少钱?亲测ECS内存型r8i租赁价格
阿里云2核16G云服务器,内存型r8i实例1年6折优惠后价格为1901元,月付334.19元,按小时计费0.696221元。更多配置及优惠详情,请访问阿里云ECS页面。
|
1月前
|
存储 弹性计算 固态存储
阿里云服务器ESSD Entry系统盘测评IOPS、IO读写和时延性能参数
ESSD Entry云盘是阿里云推出的新一代云盘,具备高IOPS、低延迟和企业级数据保护能力。适用于开发与测试场景,支持按量付费和包年包月计费模式。99元和199元的ECS经济型e实例和通用算力型u1实例均采用ESSD Entry系统盘,性价比高。详细性能参数和价格请参考阿里云官方页面。
64 0
|
1月前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
322 2
|
3月前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
197 5