原文链接:https://mp.weixin.qq.com/s/TvfzIy4uXHPOFQ1h5Q4KWg

建议点击原文链接查看

续上篇分享的【性能测试工具】,今天整理了常用的系统监控工具,当然有特殊业务情况也可以自己自研系统监控工具,没有编程能力的小伙伴们就多利用好简单的工具也可以达到很好的效率,不过linux中本来就自带了很多进程查看管理工具,诸如:ps ,top,vmstat除了这些之外还有很多提供类似功能的工具程序,本节分享的这三款瑞士军刀,我认为还算方便的工具htop/glances/dstat。

小巧工具【1】

htop是Linux系统中的一个互动的进程查看器,与Linux传统的top比较的话,htop更人性化并且还支持鼠标操作!但是htop提供的功能却是top望尘莫及。

说明:

从上面的截图中可以看到,htop命令输出总共分成了五个展示区:

(1)CPU状态区域

(2)整体状态区域

(3)内存状态区域

(4)进程状态区域

(5)管理控制区域

管理控制台:

F1: 查看htop说明

F2: htop设定:提供了许多自定义选项

F3: 搜索进程,提供了易用的方式来搜索进程

F4: 进程过滤器

F5: 显示属性结构,提供了进程的树状视图查看功能

F6: 折叠或展开(新版本里的),或选择排序方式(旧版本里的)

F7: 减少nice值,提高进程优先级

F8: 增加nice值,降低进程优先级

F9: 可对进程传递信号:让你很容易地在 htop 窗口内给一个进程发送任意的信号

F10: 退出

另:通过空格键来设置颜色标注进程条目:要标注某个进程条目,需要做的就是选中此条目,然后按下‘空格’键,所以通过此方法,你就能很轻松地追踪想查看的进程。

命令行选项:

除了上面介绍的一些热键,htop 还提供了很有用的命令行选项。下面是其中一部分:

-s 选项 : 按指定的列排序。例如,htop -s PID 命令会按 PID 列的大小排序来显示。

-u 选项 : 显示指定的用户的进程信息列表。例如,htop -u himanshu 命令会只显示出用户名为 himanshu 的相关进程。

-d 选项 : 设置刷新的延迟时间。例如,htop -d 100 命令会使输出在1秒后才会刷新(参数 -d 的单位是10微秒)。

这就是htop,一款人性化的类top工具,超赞赞!!!更多使用帮助,请自行man htop查阅。

小巧工具【2】

Linux中比Top颜值更高的系统监控工具Glances,由 Python 编写跨平台命令行系统监视工具。

(1)囊括系统监控对象广:能够对:CPU,内存,磁盘I/O,网卡网络流量,系统负载,文件系统等提供监控。

(2)监控界面中显示对象可自定义,可对监控对象显示值自定义。

(3)对现实终端屏幕没有特殊要求。

(4)支持C/S工作模式,1V1监控远程主机数据。

(5)可将监控数据输出至文件,且可自定义文件的格式为html或者cvs。

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:

命令启动:glances -s

Define the password for the Glances server

Password:

Password (confirm):

Glances server is running on 0.0.0.0:61209

当 Glances 服务器启动后,到本地执行下面的命令来指定服务器IP地址或主机名的链接:

glances -c -P Glances服务器的IP地址

下面是一些在使用服务器/客户端模式时需知道的点:

在服务器模式,你可以通过 -B 地址 来设置绑定地址,也可以通过 -p 端口 来绑定监听的 TCP 端口

在客户端模式,你可以通过同样的 -p 端口 来指定服务器端口

默认的绑定地址是 0.0.0.0,但这么做会监听所有网络接口的指定端口

在服务器/客户端模式下,限制的阀值将由服务器的设置决定

你也可以在命令行下用过 -P 密码 的方式来为服务器端设置一个密码

glances 的高级应用:

glances 的结果输出方法

1.输出 HTML 格式文件,首先安装相关软件包

pip-Python install Jinja2

glances -o HTML -f /var/www/html

下面可以使用浏览器输入网址: http://localhost/glances.html

2.输出 csv 格式

该文件采用逗号分隔值(CSV)的格式,并且可以将其直接导入到电子表格中。

glances -o CSV -f /home/cjh/glances.csv

下面使用 libreoffice 的 calc 工具打开 csv 格式文件

libreoffice --calc %U /tmp/glances.csv

这就是glances,又是一款比top好用的工具,超赞赞!!!更多使用帮助,请自行man glances查阅。

小巧工具【3】

最后出场的是dstat了,它是款强大的命令行系统数据收集展示工具,是一个用来替换vmstat、iostat、netstat、nfsstat和ifstat这些命令的工具,是一个全能系统信息统计工具。既可以在同一个界面中显示cpu,内存,磁盘,网卡数据这些对象的信息,也可通过不同的参数,一次展示某个对象的信息,还可找出占用对象最多的进程。

常见选项:

-c:显示CPU系统占用,用户占用,空闲,等待,中断,软件中断等信息。

-C:当有多个CPU时候,此参数可按需分别显示cpu状态,例:-C 0,1 是显示cpu0和cpu1的信息。

-d:显示磁盘读写数据大小。

-D hda,total:include hda and total。

-n:显示网络状态。

-N eth1,total:有多块网卡时,指定要显示的网卡。

-l:显示系统负载情况。

-m:显示内存使用情况。

-g:显示页面使用情况。

-p:显示进程状态。

-s:显示交换分区使用情况。

-S:类似D/N。

-r:I/O请求情况。

-y:系统状态。

--ipc:显示ipc消息队列,信号等信息。

--socket:用来显示tcp udp端口状态。

-a:此为默认选项,等同于-cdngy。

-v:等同于 -pmgdsc -D total。

--output 文件:此选项也比较有用,可以把状态信息以csv的格式重定向到指定的文件中,以便日后查看。例:dstat --output /root/dstat.csv & 此时让程序默默的在后台运行并把结果输出到/root/dstat.csv文件中。

dstat --list可以查看dstat能使用的所有参数

语法:

dstat [-afv] [options..] [delay [count]]

直接使用dstat,默认使用的是-cdngy参数,分别显示cpu、disk、net、page、system信息,默认是1s显示一条信息。可以在最后指定显示一条信息的时间间隔,如dstat 5是没5s显示一条,dstat 5 10表示没5s显示一条,一共显示10条。

实例:

如想监控swap,process,sockets,filesystem并显示监控的时间:

dstat -tsp --socket --fs

----system---- ----swap--- ---procs--- ------sockets------ --filesystem-

date/time | used free|run blk new|tot tcp udp raw frg|files inodes

26-07 09:23:48| 0 0 | 0 0 0.0|104 8 5 0 0| 704 6488

26-07 09:23:49| 0 0 | 0 0 0|104 8 5 0 0| 704 6488

26-07 09:23:50| 0 0 | 0 0 0|104 8 5 0 0| 704 6489

26-07 09:23:51| 0 0 | 0 0 0|104 8 5 0 0| 704 6489

26-07 09:23:52| 0 0 | 0 0 0|104 8 5 0 0| 704 6489

26-07 09:23:53| 0 0 | 0 0 0|104 8 5 0 0| 704 6489

若要将结果输出到文件可以加--output filename:

dstat -tsp --socket --fs --output /tmp/ds.csv

----system---- ----swap--- ---procs--- ------sockets------ --filesystem-

date/time | used free|run blk new|tot tcp udp raw frg|files inodes

26-07 09:25:31| 0 0 | 0 0 0.0|104 8 5 0 0| 736 6493

26-07 09:25:32| 0 0 | 0 0 0|104 8 5 0 0| 736 6493

26-07 09:25:33| 0 0 | 0 0 0|104 8 5 0 0| 736 6493

26-07 09:25:34| 0 0 | 0 0 0|104 8 5 0 0| 736 6493

26-07 09:25:35| 0 0 | 0 0 0|104 8 5 0 0| 736 6494

26-07 09:25:36| 0 0 | 0 0 0|104 8 5 0 0| 736 6494

这样生成的csv文件可以用excel打开,然后生成图表。

这就是datat,也是超赞赞!!!

Htop/Glances/Dstat性能测试系统监控工具领域的瑞士军刀的更多相关文章

  1. 进程管理工具htop/glances/dstat的使用

    进程管理工具htop/glances/dstat的使用 Linux中进程的相关知识 1.什么是进程呢? 通俗的来说进程是运行起来的程序.唯一标示进程的是进程描述符(PID). 2.进程的分类 1)根据 ...

  2. linux系统监控工具glances

    glances linux系统自带了很多系统性能监控工具,如top,vmstat,iftop等等,还有一款监视工具glances,它能把其他几个监控的指标都集于一身.Glances是一个相对比较新的系 ...

  3. 系统监控工具glances

      glances是一款由python开发的系统监控工具,可以实时查看CPU.内存.网络.IO.进程.磁盘空间使用率的使用情况,并且支持三种运行模式,个人感觉比top命令使用更便捷: 安装glance ...

  4. 非常实用的Linux 系统监控工具

    随着互联网行业的不断发展,各种监控工具多得不可胜数.这里列出网上最全的监控工具.让你可以拥有超过80种方式来管理你的机器.在本文中,我们主要包括以下方面: 命令行工具 网络相关内容 系统相关的监控工具 ...

  5. linux学习-系统监控工具

    系统监控工具 come from:https://blog.csdn.net/free050463/article/details/82842273top.free.vmstat.iostat.pma ...

  6. 系统管理员都要知道的 30 个 Linux 系统监控工具

    1. top - 进程活动监控命令 top 命令会显示 Linux 的进程.它提供了一个运行中系统的实时动态视图,即实际的进程活动.默认情况下,它显示在服务器上运行的 CPU 占用率最高的任务,并且每 ...

  7. linux 系统信息展示 htop glances conky psensor

    htop glances conky psensor htop glances 只能在终端内展示. htop 使用系统自带程序包管理程序就可以安装 glances github地址:https://g ...

  8. 高并发&性能优化(二)------系统监控工具使用

    上一篇主要从总体介绍了高并发&性能优化的相关思路和方法,本篇主要介绍系统监控工具. [CPU查看工具] ------top命令(性能) 进入top命令后,按1即可看到每核CPU的运行指标与详细 ...

  9. 管理员必备的Linux系统监控工具

    管理员必备的Linux系统监控工具 #1: top - 进程活动 top提供一个当前运行系统实时动态的视图, 也就是正在运行进程.在默认情况下,显示系统 中CPU使用率最高的任务,并每5秒钟刷新一次. ...

随机推荐

  1. [软件共享]将数据库中的数据导出为SQL脚本

    可以直接将数据库中的数据导出为脚本,并可以自己设置过滤条件.使用方法很简单,不在多说了.下面是软件截图.123 下载:http://files.cnblogs.com/pw/mssql2.rar

  2. mac OS 安装 Eclipse

    安装Eclipse前先确认你的Mac上是否已安装Java运行环境.进入终端,输入"java -version",如果返回了java版本号则说明已安装 访问Eclipse官方首页ht ...

  3. CodeForces - 1047CEnlarge GCD(这题很难,快来看题解,超级详细,骗浏览量)

    C. Enlarge GCD time limit per test1 second memory limit per test256 megabytes inputstandard input ou ...

  4. POJ 1330 Nearest Common Ancestors(裸LCA)

    Nearest Common Ancestors Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 39596   Accept ...

  5. Java——深入理解Java异常体系

    该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 前言: Java的基 ...

  6. S - Making the Grade POJ - 3666 结论 将严格递减转化成非严格的

    S - Making the Grade POJ - 3666 这个题目要求把一个给定的序列变成递增或者递减序列的最小代价. 这个是一个dp,对于这个dp的定义我觉得不是很好想,如果第一次碰到的话. ...

  7. Python 爬取豆瓣电影Top250排行榜,爬虫初试

    from bs4 import BeautifulSoup import openpyxl import re import urllib.request import urllib.error # ...

  8. Publishing and Deployment >> Publishing to IIS 翻译

    Publishing to IIS  发布到IIS 2017/1/18 18 min to read Contributors  Supported operating systems 支持的操作系统 ...

  9. 【Linux系列汇总】小白博主的嵌入式Linux实战快速进阶之路(持续更新)

    我把之前在学习嵌入式Linux和工作中遇到问题和相关经验等,一起整理到这里,方便自己查阅和学习,温故而知新,如果能帮助到您,请帮忙点个赞: 本文的宗旨 嵌入式Linux 的项目通常需要一个团队来开发, ...

  10. Mysql常用sql语句(22)- insert 插入数据

    测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 终于讲完基础的查询语句了...这篇讲的就是插入数 ...