原文链接: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. C++操作Kafka使用Protobuf进行跨语言数据交互

    C++操作Kafka使用Protobuf进行跨语言数据交互 Kafka 是一种分布式的,基于发布 / 订阅的消息系统.主要设计目标如下: 以时间复杂度为 O(1) 的方式提供消息持久化能力,即使对 T ...

  2. GPTL—练习集—006树的遍历

    #include<bits/stdc++.h> using namespace std; typedef int daTp;//datatype typedef struct BTNode ...

  3. 【K8S】K8S部署Metrics-Server服务

    写在前面 在新版的K8S中,系统资源的采集均使用Metrics-Server服务,可以通过Metrics-Server服务采集节点和Pod的内存.磁盘.CPU和网络的使用率等信息. 读者可参考< ...

  4. 小老板,我300M的网,网速很慢怎么办?

    首先考虑是不是DNS的问题: 我们先测试一下! 一.Google的DNS: 8.8.8.8 丢包严重 PASS但是扶墙的时候是必备的,如果有扶墙的需求的话可以备用. 二.百度DNS 180.76.76 ...

  5. 一个epoll的简单例子

    epoll事件机制的触发方式有两种:LT(电平触发)和ET(边沿触发) EPOLLIN事件: 内核中的socket接收缓冲区 为空(低电平) 内核中的socket接受缓冲区 不为空(高电平) EPOL ...

  6. spring mvc 实现文件上传

    例:用户注册提交一个头像文件 第一步,创建项目 ,导入jar包 做文件上传除了要导入spring常规的jar包外,还要导入commons-fifileupload和commons-io这两个jar包. ...

  7. CSS 块元素、内联元素、内联块元素三者的区别与转换

    三种元素 块元素 内联元素 内联块元素 元素之间的转换 三种元素 元素就是标签,布局中常用的有三种标签,块元素.内联元素.内联块元素. 了解这三种元素的特性,才能熟练的进行页面布局. 块元素 块元素, ...

  8. # C#学习笔记(一)——准备工作

    C#学习笔记(一)--准备工作 目录 C#学习笔记(一)--准备工作 1.1 下载安装.NET框架 1.2 创建源代码 1.3 一些基本名称 1.4 简单的命名建议 1.1 下载安装.NET框架 .N ...

  9. .NET Core接入ElasticSearch 7.5

    写在前面 最近一段时间,团队在升级ElasticSearch(以下简称ES),从ES 2.2升级到ES 7.5.也是这段时间,我从零开始,逐步的了解了ES,中间也踩了不少坑,所以特地梳理和总结一下相关 ...

  10. DNSlog注入学习

    之前一直有看到过DNSlog这个字眼,但一直没有好好去了解一下,最近又接触到了刚好来深入学习下 0x01 什么是DNSlog 我们都知道DNS就是将域名解析为ip,用户在浏览器上输入一个域名A.com ...