linux系统性能监控工具--htop与dstat介绍

目录

一、htop工具使用简介

二、dstat工具使用简介

此博文针对linux系统介绍两款常用系统性能监控软件的基本使用,对于Linux系统我们一般要监控的对象有进程、cpu、内存、磁盘IO、swap、网卡等。

(一)htop工具使用简介

htop是一个比top更为易用,功能更强大的交互式进程查看器,是一个免费的,遵循GPL协定的,针对于Linux的进程查看器。还能实现在监控界面中对某一个进程发送信号,比如杀死一个进程等,也能调整一个进程的优先级等功能。先来一张htop运行时的图片。

htop的安装非常简单,在centos系统上只要配置好epel源,直接"yum -y install htop"即可,注意看上图中红框部份,通过这些快捷键我们就可以轻松掌握htop的基本使用方法,现整理一些常用的htip的使用方法。

1.1、怎样调整htop输出的排序标准

默认时htop是以cpu的使用率为标准进行从大到小的排列,如果你想以内存的使用率、或以共享内存大小、或以占用cpu时间片为标准来排序,那可以这样来操作。

按下“F6”键,出现下图中的第一图,再选择你所期望排序的标准,我这里选择了“MEM%”,再回车确定即可,如下图中的第二张图。

1.2、怎样对指定的进程进行监控

按下“F4”键,启用过虑功能,在输入框里输入你想要监控的进程名称,我这里以nginx为例,如下图所示。

这样就可以监控你指定的进程了,再按下回车,再按下“F5”键,还可以查看进程之间的关系,如下图所示:

从上图可以看出6个worker进程是由一个master进程fork出来的。那这里又怎么返回到默认打开时的窗口呢?再按下“F4”后,注意左下方的提示信息,再按下“Esc”后返回,只不过是按两下。

1.3、怎样定位到指定进程

用第二种过虑方法也能定位到指定的进程,只不过第二种方法显示出来的进程只有你指定的进程,如果你只是想查看一下一个进程的基本信息,比如查看一下它的PID号是多少,那就不用采用过虑器的方式去查看了。直接用“Search”功能即可,操作方法为在htop的主界面按下“F3”(直接按下“/”这个键也可以,即问号所在键),在输入框输入你想定位的进程名即可,以nginx为例,如下图:

如果你指定的进程名称有多个,还可以断续按“F3”键进行查找。

1.4、利用htop调整进程的nice值

比如我想增加nginx的master进程的优先级,那我们要把master进程的nice值调小,那先在htop界面中先定位到nginx的master进程,再按下“F7”,按一次nice值就减去1,如果想增加nice值,那就按“F8”键。补充一点,nice值的范围是(-20,19),值越小,进程的优先级越高。结果如如下图所示:

1.5、利用htop向进程传递信号

通过htop可以向一个进程发送信号,比如你发现一个可疑进程,你可以直接杀掉它,即向进程发送“SIGKILL”信号,如果你想让一个进程重新启动一下,那可以向它发送“SIGHUP”信号等。以nginx为例,先定位到nginx,再按下“F9”键,再选择你要发送的信号,回车即可。仔细看了下,一共有32个信号。

htop的基本使用就到这里,更多的功能需要我们在实践中去挖掘。

(二)dstat工具使用简介

dstat是一个多用途的系统资源统计工具,能打印出cpu、内存、磁盘、进程、网络、内存页等各种各样资源的状态统计信息,功能非常全面的系统监控工具。以centos系统上直接使用“yum -y install dstat”进行安装。

语法为:

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

-afv:是三个可先参数,可以自己测试一下每个参数的不同

option:是可先的众多选项

delsy:是指定采集频率

count:采集次数

这里介绍一些常用的options:

-c, --cpu   打开cpu的监控状态

-d, --disk  打开对磁盘的监控

-g, --page  打开对页面状态的监控

-n, --net    打开对网络的监控

-y, --sys   打开对系统内核活动的监控,主要是系统接受的中断和上下文切换的次数

-a, --all   这个选项相当于-cdgny这两个选项,是dstat默认的工作选项

-t, --time  这个选项可以把数据采集时的时间也一起输出

--tcp    打开对tcp状态的监控,包括处理listen,established,syn等状态的数量

--output file   指定监控输出信息保存为csv的文件

还有一些与插件相关的选项,有些插件需要自己安装,但有些则可直接使用,这里介绍几个比较常用的:

--top-bio :显示出最占用块级别IO的进程

--top-cpu:显示出最消耗cpu的进程

--top-io:显示出最占io的进程

--top-mem :显示出最消耗内存的进程

dstat的选项太多,这里只列出少数的一部份,可以man dstat进行查看。

1.1、dstat以默认选项输出

[[email protected] software]# dstat
----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw
  0   0  99   0   0   0|  13k 5050B|   0     0 |   0     6B|  37    45
  0   0 100   0   0   0|   0     0 |  60B  826B|   0     0 |  21    30
  0   0 100   0   0   0|   0     0 |  60B  346B|   0     0 |  16    31
  0   0 100   0   0   0|   0     0 |  60B  346B|   0     0 |  16    30
  0   1  99   0   0   0|   0     0 |  60B  346B|   0     0 |  17    29
  0   0 100   0   0   0|   0     0 |  60B  346B|   0     0 |  18    35
  0   0 100   0   0   0|   0     0 |  60B  346B|   0     0 |  15    27
  0   0 100   0   0   0|   0     0 |  60B  346B|   0     0 |  17    32
  0   0 100   0   0   0|   0     0 |  60B  346B|   0     0 |  19    31
  1   1  99   0   0   0|   0    16k|  60B  346B|   0     0 |  99    97

直接运行dstat时,默认是以“-cndgy”选项并频率为1秒输出监控信息,现对上边的输出做一个简单的解释。

----total-cpu-usage----:表示是系统中全部cpu的一个使用情况统计

usr sys idl wai hiq siq| :分别表示用户进程所用cpu的占比,内核进程所用cpu的占比,cpu空闲状态的比例,cpu等待io时间所占比例,cpu接受硬中断的次数,cpu接受软中断的次数。

-dsk/total- :表示系统中全部磁盘状态信息的输出

read  writ :分别表示全部磁盘发生读请求的数据量,全部磁盘发生写请求的数据量;

-net/total-  :表示系统中全部网卡的状态信息

recv  send :分别表示全部网卡收到的数据量,全部网卡发送报文的数据量

---paging-- :表示内存页面使用情况

--system--  :表示打开系统级的监控,包括中断和上下文切换

in: 每秒产生的中断次数

cs::每秒产生的上下文切换次数

1.2、找出占用系统资源最高的进程

[[email protected] software]# dstat -t --top-cpu --top-io --top-mem
----system---- -most-expensive- ----most-expensive---- --most-expensive-
  date/time   |  cpu process   |     i/o process      |  memory process
10-06 18:46:38|sshd: [email protected]|bash         51k 1503B|mysqld      95.0M
10-06 18:46:39|                |sshd: [email protected] 491B  532B|mysqld      95.0M
10-06 18:46:40|                |sshd: [email protected] 184B  228B|mysqld      95.0M
10-06 18:46:41|dd            19|dd           73M   72M|mysqld      95.0M
10-06 18:46:42|flush-8:0    0.5|bash        100M  100M|mysqld      95.0M
10-06 18:46:43|                |sshd: [email protected] 191B  244B|mysqld      95.0M
10-06 18:46:44|                |sshd: [email protected] 184B  228B|mysqld      95.0M
10-06 18:46:45|sshd: [email protected]|sshd: [email protected] 184B  228B|mysqld      95.0M
10-06 18:46:46|                |sshd: [email protected] 191B  244B|mysqld      95.0M
10-06 18:46:47|jbd2/sda2-8  0.5|sshd: [email protected] 184B  228B|mysqld      95.0M
10-06 18:46:48|                |sshd: [email protected] 191B  244B|mysqld      95.0M
10-06 18:46:49|                |sshd: [email protected] 184B  228B|mysqld      95.0M
10-06 18:46:50|dd           6.5|dd           93M   92M|mysqld      95.0M
10-06 18:46:51|dd           6.0|dd         7168k 8192k|mysqld      95.0M

这样就比较容易的找出系统中占用资源的最高的进程,在查找服务器性能瓶颈时非常有用。

时间: 2024-08-08 02:55:21

linux系统性能监控工具--htop与dstat介绍的相关文章

Linux系统性能监控工具

Linux 系统性能监控 1 htop [[email protected] ~]# htop   1  [||                                       2.1%]     Tasks: 51, 73 thr; 1 running   2  [|                                        0.3%]     Load average: 0.00 0.02 0.00    Mem[|||||||||||||||||||||||

Linux系统性能监控工具nmon

一.简介 nmon 工具可以帮助在一个屏幕上显示所有重要的性能优化信息,并动态地对其进行更新.这个高效的工具可以工作于任何哑屏幕.telnet 会话.甚至拨号线路.另外,它并不会消耗大量的 CPU 周期,通常低于百分之二.在更新的计算机上,其 CPU 使用率将低于百分之一.使用哑屏幕,在屏幕上对数据进行显示,并且每隔两秒钟对其进行更新.然而,您可以很容易地将这个时间间隔更改为更长或更短的时间段.如果您拉伸窗口,并在X Windows.VNC.PuTTY 或类似的窗口中显示这些数据,nmon 工具

unix、linux下的系统性能监控工具nmon

一.nmon是一款很好的unix.linux下的系统性能监控工具. 引自百度知道: nmon 工具可以帮助在一个屏幕上显示所有重要的性能优化信息,并动态地对其进行更新.这个高效的工具可以工作于任何哑屏幕.telnet 会话.甚至拨号线路.另外,它并不会消耗大量的 CPU 周期,通常低于百分之二.在更新的计算机上,其 CPU 使用率将低于百分之一. 使用哑屏幕,在屏幕上对数据进行显示,并且每隔两秒钟对其进行更新.然而,您可以很容易地将这个时间间隔更改为更长或更短的时间段.如果您拉伸窗口,并在 X

CentOS6.6中htop、dstat和glances监控工具的基础用法

环境说明:Vmware11+CentOS6.6 一.htop htop 是一个 Linux 下的交互式的进程浏览器,可以用来替换Linux下的top命令. #htop直接启动htop命令,启动界面如下,在此界面上我们可以查看进程运行的相关信息 说明: 1.在此图片中,显示了内存.交换分区.进程数.负载均衡等信息1和2表示cpu每个核心的使用率 Mem表示内存占用率 Swp表示交换分区占用率 Tasks表示进程总数,当前运行进程数 Load average表示每5.10.15分钟的负载均衡 Upt

Htop – Linux进程监控工具

Htop 是一个非常高级的交互式的实时linux进程监控工具. 它和top命令十分相似,但是它具有更丰富的特性,例如用户可以友好地管理进程,快捷键,垂直和水平方式显示进程等等. Htop是一个第三方工具,它不包含在linux系统中,你需要使用YUM包管理工具去安装它. 一,以rpm包方式安装htop 1,配置yum源 -------------- For RHEL/CentOS 7 -------------- # wget http://pkgs.repoforge.org/rpmforge-

[转帖]全能冠军:Linux系统性能和使用活动监控工具 sysstat

全能冠军:Linux系统性能和使用活动监控工具 sysstat https://linux.cn/article-4025-1.html 作者: Kuldeep Sharma 译者: LCTT cvsher | 2014-10-16 14:20   评论: 4 收藏: 6 分享: 1 Sysstat是一个非常方便的工具,它带有众多的系统资源监控工具,用于监控系统的性能和使用情况.我们在日常使用的工具中有相当一部分是来自sysstat工具包的.同时,它还提供了一种使用cron表达式来制定性能和活动

25个Linux性能监控工具

一段时间以来,我们在网上向读者介绍了如何为Linux以及类Linux操作系统配置多种不同的性能监控工具.在这篇文章中我们将罗列一系列使用最频繁的性能监控工具,并对介绍到的每一个工具提供了相应的简介链接,大致将其划分为两类,基于命令行的和提供图形化接口的. 一.基于命令行的性能监控工具 1.dstat - 多类型资源统计工具 该命令整合了vmstat,iostat和ifstat三种命令.同时增加了新的特性和功能可以让你能及时看到各种的资源使用情况,从而能够使你对比和整合不同的资源使用情况.通过不同

你值得拥有:25个Linux性能监控工具

http://os.51cto.com/art/201412/460698_all.htm 2014-12-19 10:55 译者:andyxue Linux中国 字号:T | T 在这篇文章中我们将罗列一系列使用最频繁的性能监控工具,并对介绍到的每一个工具提供了相应的简介链接,大致将其划分为两类,基于命令行的和提供图形化接口的. AD:51CTO 网+ 第十二期沙龙:大话数据之美_如何用数据驱动用户体验 一段时间以来,我们在网上向读者介绍了如何为Linux以及类Linux操作系统配置多种不同的

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

友情提醒:文件涉及到的实验平台为vmware workstation 10 + Centos 6.6 X86_64,所述命令请谨慎使用. Centos linux中自带了很多进程查看管理工具,诸如:ps ,top,vmstat除了这些之外还有很多提供类似功能的工具程序,这其中有三款高大上的工具 htop/glances/dstat.今天就来认识一下他们. 工具一,htop:令人惊艳的类top工具 htop是款类似于top的工具,但是htop提供的功能却是top望尘莫及. 1.安装 htop非系统