(转)glances用法
借鉴:https://www.ibm.com/developerworks/cn/linux/1304_caoyq_glances/index.html
glances 可以为 Unix 和 Linux 性能专家提供监视和分析性能数据的功能,其中包括:
- CPU 使用率
- 内存使用情况
- 内核统计信息和运行队列信息
- 磁盘 I/O 速度、传输和读/写比率
- 文件系统中的可用空间
- 磁盘适配器
- 网络 I/O 速度、传输和读/写比率
- 页面空间和页面速度
- 消耗资源最多的进程
- 计算机信息和系统资源
glances 工具可以在用户的终端上实时显示重要的系统信息,并动态地对其进行更新。这个高效的工具可以工作于任何终端屏幕。另外它并不会消耗大量的 CPU 资源,通常低于百分之二。glances 在屏幕上对数据进行显示,并且每隔两秒钟对其进行更新。您也可以自己将这个时间间隔更改为更长或更短的数值。glances 工具还可以将相同的数据捕获到一个文件,便于以后对报告进行分析和绘制图形。输出文件可以是电子表格的格式 (.csv) 或者 html 格式。
两种方法安装 glances
通常可以有两种方法安装 glances。第一种是通过编译源代码的方式,这种方法比较复杂另外可能会遇到软件包依赖性问题。还有一种是使用特定的软件包管理工具来安装 glances,这种方法比较简单。本文使用后者,需要说明的是在 CentOS 特定的软件包管理工具来安装。glances 要首先配置 EPEL repo,然后使用 pip 工具安装 glances。
pip 软件包简介
通常 Linux 系统管理员有两种方式来安装一个 Python 的软件包:一种是通过系统的包管理工具(如 apt-get)从系统的软件仓库里安装,一种是通过 Python 自己的包管理工具(如 easy_install 或者 pip)从 Python Cheese Shop 中下载安装。笔者推荐使用 pip。pip 是一个可以代替 easy_install 的安装和管理 Python 软件包的工具,是一个安装 Python 库很方便的工具,功能类似 YUM。注意 CentOS 和 Fedora 下安装 Python-pip 后,关键字不是 pip 而是 pip-Python。
首先配置 EPEL repo
如果既想获得 RHEL 的高质量、高性能、高可靠性,又需要方便易用(关键是免费)的软件包更新功能,那么 Fedora Project 推出的 EPEL(Extra Packages for Enterprise Linux ,http://fedoraproject.org/wiki/EPEL)正好适合你。它是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。装上了 EPEL,就像在 Fedora 上一样,可以通过 yum install package-name,随意安装软件。安装使用 EPEL 非常简单:
|
1
2
3
4
5
6
7
8
9
10
|
#wget http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL-6 #rpm --import RPM-GPG-KEY-EPEL-6 #rm -f RPM-GPG-KEY-EPEL-6 #vi /etc/yum.repos.d/epel.repo # create new [epel] name=EPEL RPM Repository for Red Hat Enterprise Linux baseurl=http://ftp.riken.jp/Linux/fedora/epel/6/$basearch/ gpgcheck=1 enabled=0 |
使用 pip 安装 glances
这里介绍一下安装过程:首先使用 YUM 安装 pip 工具,然后使用 pip 工具安装 glances 和用来显示系统温度的相关软件。
|
1
2
|
#yum --enablerepo=epel install Python Python-pip Python-devel gcc # pip-Python install glances |
安装 lm_sensors 软件
lm_sensors 的软件可以帮助我们来监控主板、CPU 的工作电压、风扇转速、温度等数据。这些数据我们通常在主板的 BIOS 也可以看到。当我们可以在机器运行的时候通过 lm_sensors 随时来监测着 CPU 的温度变化,可以预防呵保护因为 CPU 过热而会烧掉。lm_sensors 软件监测到的数据可以被 glances 调用并且显示 。
|
1
2
|
# yum install lm_sensors # pip-Python install PySensors |
glances 使用方法
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
glances 是一个命令行工具包括如下命令选项:-b:显示网络连接速度 Byte/ 秒-B @IP|host :绑定服务器端 IP 地址或者主机名称-c @IP|host:连接 glances 服务器端-C file:设置配置文件默认是 /etc/glances/glances.conf -d:关闭磁盘 I/O 模块-e:显示传感器温度-f file:设置输出文件(格式是 HTML 或者 CSV)-m:关闭挂载的磁盘模块-n:关闭网络模块-p PORT:设置运行端口默认是 61209 -P password:设置客户端 / 服务器密码-s:设置 glances 运行模式为服务器-t sec:设置屏幕刷新的时间间隔,单位为秒,默认值为 2 秒,数值许可范围:1~32767 -h : 显示帮助信息-v : 显示版本信息 |
glances 工作界面如图 1
图 1.glances 工作界面
glances 工作界面的说明 :
在图 1 的上部是 CPU 、Load(负载)、Mem(内存使用)、 Swap(交换分区)的使用情况。在图 1 的中上部是网络接口、Processes(进程)的使用情况。通常包括如下字段:
|
1
2
3
4
5
6
7
8
9
10
11
|
VIRT: 虚拟内存大小RES: 进程占用的物理内存值%CPU:该进程占用的 CPU 使用率%MEM:该进程占用的物理内存和总内存的百分比PID: 进程 ID 号USER: 进程所有者的用户名TIME+: 该进程启动后占用的总的 CPU 时间IO_R 和 IO_W: 进程的读写 I/O 速率NAME: 进程名称NI: 进程优先级S: 进程状态,其中 S 表示休眠,R 表示正在运行,Z 表示僵死状态。 |
在图 1 的中下部是传感器检测到的 CPU 温度。
在图 1 的下部是磁盘 I/O 的使用情况。
另外 glances 可以使用交互式的方式运行该工具,用户可以使用如下快捷键:
|
1
2
3
4
5
6
7
8
9
10
11
12
|
h : 显示帮助信息q : 离开程序退出c :按照 CPU 实时负载对系统进程进行排序m :按照内存使用状况对系统进程排序i:按照 I/O 使用状况对系统进程排序p: 按照进程名称排序d : 显示磁盘读写状况 w : 删除日志文件l :显示日志s: 显示传感器信息f : 显示系统信息1 :轮流显示每个 CPU 内核的使用情况(次选项仅仅使用在多核 CPU 系统) |
glances 的高级应用
glances 的结果输出方法
让 glances 输出 HTML 格式文件,首先安装相关软件包
|
1
2
|
# pip-Python install Jinja2 # glances -o HTML -f /var/www/html |
下面可以使用 Firefox 浏览器输入网址: http://localhost/glances.html,结果如图 2。
图 2.输出 HTML 格式文件
输出 csv 格式
该文件采用逗号分隔值(CSV)的格式,并且可以将其直接导入到电子表格中。
|
1
|
# glances -o CSV -f /home/cjh/glances.csv |
下面使用 libreoffice 的 calc 工具打开 csv 格式文件(如图 3)
|
1
|
#libreoffice --calc %U /tmp/glances.csv |
图 3.使用 libreoffice 的 calc 工具打开 csv 格式文件
glances 服务器 / 客户端工作方式
glances 支持服务器/客户端工作方式,可以实现远程监控。首先假设
服务器 IP 地址:10.0.2.14
客户端 IP 地址:10.0.2.15
确保二者都已经安装好 glances 软件包。
首先在服务器端启动;
|
1
2
|
# glances -s -B 10.0.2.15 glances server is running on 10.0.2.15:61209 |
可以看到 glances 使用的端口号是 61209,所以用户需要确保防火墙打开这个端口。
下面在客户端使用如下命令连接服务器如图 4:
|
1
|
# glances – c 10.0.2.15 |
图 4.客户端连接服务器
注意图 4 的左下角显示“Connected to 10.0.2.15”>表示客户端已经连接服务器成功。
通过 glances 输出颜色了解系统性能
图 5.是 glances 的一个输出界面
绿色表示性能良好,无需做任何额外工作;(此时 CPU 使用率、磁盘空间使用率和内存使用率低于 50%,系统负载低于 0.7)。
蓝色表示系统性能有一些小问题,用户应当开始关注系统性能;(此时 CPU 使用率、磁盘空间使用率和内存使用率在 50%-70% 之间,系统负载在 0.7-1 之间)。
品红表示性能报警,应当采取措施比如备份数据;(此时 CPU 使用率、磁盘空间使用率和内存使用率在 70%-90% 之间,,系统负载在 1-5 之间)。
红色表示性能问题严重,可能宕机;(此时 CPU 使用率、磁盘空间使用率和内存使用率在大于 90%,系统负载大于 5)
(转)glances用法的更多相关文章
- linux glances的基本使用
一.Glances介绍 glances 是一款用于 Linux.BSD 的开源命令行系统监视工具,它使用 Python 语言开发,能够监视 CPU.负载.内存.磁盘 I/O.网络流量.文件系统.系统温 ...
- ansible之二:模块用法
一:ansible远程执行命令 [root@ansible ~]# ansible test -m shell -a "date" >> 2016年 08月 02日 星 ...
- 一些有用的工具,iftop,iotop,htop,glances
一些有用的工具: yum install glances -y资源监控工具GLANCESglances 可以为 Unix 和 Linux 性能专家提供监视和分析性能数据的功能,其中包括:CPU 使用率 ...
- EditText 基本用法
title: EditText 基本用法 tags: EditText,编辑框,输入框 --- EditText介绍: EditText 在开发中也是经常用到的控件,也是一个比较必要的组件,可以说它是 ...
- jquery插件的用法之cookie 插件
一.使用cookie 插件 插件官方网站下载地址:http://plugins.jquery.com/cookie/ cookie 插件的用法比较简单,直接粘贴下面代码示例: //生成一个cookie ...
- Java中的Socket的用法
Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...
- [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法
一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...
- python enumerate 用法
A new built-in function, enumerate() , will make certain loops a bit clearer. enumerate(thing) , whe ...
- [转载]Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
本文对Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法进行了详细的总结,需要的朋友可以参考下,希望对大家有所帮助. 详细解读Jquery各Ajax函数: ...
随机推荐
- 笔记 - C#从头开始构建编译器 - 1
视频与PR:https://github.com/terrajobst/minsk/blob/master/docs/episode-01.md 作者是 Immo Landwerth(https:// ...
- JVM锁优化以及区别
偏向所锁,轻量级锁都是乐观锁,重量级锁是悲观锁. 首先简单说下先偏向锁.轻量级锁.重量级锁三者各自的应用场景: 偏向锁:只有一个线程进入临界区: 轻量级锁:多个线程交替进入临界区: 重量级锁:多个线程 ...
- css中哪些属性会脱离文档流
一共有三个属性会使元素脱离文档流: (1)浮动 (2)绝对定位 (3)固定定位 元素脱离文档流会导致父元素高度塌陷,要修复高度塌陷问题,可以将子元素与父元素放在同一个BFC中
- body onload()事件和table insertRow()、tr insertCell()
onload事件: 定义和用法: onload 事件会在页面或图像加载完成后立即发生. onload 通常用于 <body> 元素,在页面完全载入后(包括图片.css文件等等.)执行脚本代 ...
- Java 之 打印流
打印流 1.概述 平常在控制台打印输出,是调用 print 方法和 println 方法完成的,这两个方法都来自于 java.io.PrintStream 类,该类能够方便地打印各种数据类型的值,是一 ...
- MySQL 数据库的高可用性分析
MySQL数据库是目前开源应用最大的关系型数据库,有海量的应用将数据存储在MySQL数据库中.存储数据的安全性和可靠性是生产数据库的关注重点.本文分析了目前采用较多的保障MySQL可用性方案. MyS ...
- Opencv---零碎记录
OpenCV支持CPU和OpenCL推断,但OpenCL只支持Intel自家GPU,Satya设置了CPU推断模式(cv.dnn.DNN_TARGET_CPU) https://docs.opencv ...
- 用BCB 画 Code128 B模式条码
//--------------------------------------------------------------------------- #include <vcl.h> ...
- Mysql DELETE 不能使用别名? 是我不会用!
今天碰到一个sql问题,就是在delete中加了别名,导致报错了:"[Err] 1064 - You have an error in your SQL syntax; ..." ...
- 安装pytest
1.安装pytest 2.执行一个用例 进入测试用例目录下,运行以test开头的一个用例. 执行成功. 备注:1.其实测试函数或方法只要以test开头就可以被运行的2.测试文件的名字,其实可以是任意的 ...