htop,glances和dstat工具简介
简介:htop,glances以及dstat是三个性能检测工具
一.htop命令:
语法:htop [options]
如图,我们键入htop后就会出现这个界面
左上部分的1,2,3,4表示我的机器是四核的,显示他们的利用情况。还有内存和交换空间使用情况。中间大部分显示是进程的相关情况。右上部分显示当前的任务数,有多少是在运行,以及负载使用情况。
1.交互式命令(直接在终端输入htop后,进入交互式界面,以下的选项都是指按键操作):
(1)u: 过滤仅显示选定用户的进程;
进入上图的界面后,如果按u会出现以下界面
此时我们按上下箭头可以选择用户,现在我选择myuser用户会出现如下情况:
这就是myuser用户当前的所有进程
(2)s: 跟踪选定的进程所发起的系统调用;
如果我们退回初始界面,按上下箭头选择所需的进程,按下s,则会出现该进程所发起的系统调用,如图
(3)l: 显示选定进程所打开的文件;
回到初始界面,按上下箭头选择进程,然后按下l,出现下图:
(4)t: 显示进程的层次结构;
由初始界面按t会出现以下情况
(5)a: 设定进程的cpu亲缘性;(将选定的进程绑定在指定的CPU上)
由初始界面按a,出现以下界面
按上下箭头选择cpu核,我的虚拟机有四个核,可以选的项有1,2,3,4。
2.选项(要求在终端输入htop时所带的参数 ,例如 htop -d ):
(1)-d #: 延迟时长
例每三秒刷一次屏
#htop -d 3
(2)-u USERNAME: 仅显示指定用户的进程;
例如:仅显示myuser用户的进程
#htop -u myuser
出现以下界面
(3)-s COLUMN: 根据指定的字段进行排序;
二.glances:
在终端输入glances后会出现以下界面
这个界面由许多模块组成包括 Network(靠近左边),Disk I/O(靠近左边)Mount(左下) ,进程模块(占大部分),cup,内存等情况在上面显示
1.常用选项:
(1)-b: 以Byte/s为单位显示网卡设备数据交换速率;
(2)-d: 关闭磁盘I/O功能模块;
执行该选项后,以下模块将会消失
(3)-m: 关闭mount功能模块
执行该选项后,以下模块将会消失
(4)-n: 关闭网络功能模块
执行该选项后,以下模块将会消失
(4)-r: 关闭进程列表功能模块
执行该选项后,以下模块将会消失
(5)-t #: 指定延迟时长,默认为3秒;
(6)-1(数字1):单独显示每颗CPU相关负载数据信息;
执行该选项后,会出现如下界面,显示每颗cpu的相关信息
2.glances支持远程模式,即可以以C/S模式工作:
(1)Server: 以监听模式启动glances;
(2)Client: 以远程模式启动glances,远程连入指定服务器,并Server上的相关性能数据;
服务模式:
glances -s -B IPADDR
-B: 用于指明监听的本地地址;
客户端模式:
glances -c IPADDR
-c: 用于连入的服务器的地址;
三.dstat: 具有vmstat, iostat, netstat and ifstat四款工具的功能,功能非常强大
1.语法:dstat [-afv] [options..] [delay [count]]
2.常用选项:
(1)-c: 显示cpu性能指标相关的统计数据;
执行dstat -c后出现如下信息
其中:usr,sys,idl,wai,hiq,siq 分别是 user, system,idle, wait, hardware interrupt, software interrupt
(2)-d: 显示disk相关的速率数据;
执行dstat -d后出现如下信息
(3)-g: 显示page相关的速率数据;
执行dstat -g后出现如下信息
(4)-i: 显示interrupt相关的速率数据;
执行dstat -i后出现如下信息
(5)-l: 显示load average相关的统计数据;
执行dstat -l后出现如下信息
(6)-m: 显示memory相关的统计数据;
执行dstat -m后出现如下信息
(6)-n: 显示网络收发数据的速率;
执行dstat -n后出现如下信息
(7)-p: 显示进程相关的统计数据,
执行dstat -p后出现如下信息
(8)-r: io请求的速率;
执行dstat -r后出现如下信息
(9)-s: 显示swap的相关数据
执行dstat -s后出现如下信息
(10)-y: 显示系统相关的数据,包括中断和进程切换;
执行dstat -y后出现如下信息
(11)--top-cpu:显示最占用CPU的进程;
执行dstat --top-cpu后出现如下信息
(12)--top-bio:显示最消耗block io的进程;
执行dstat --top-bio后出现如下信息
(13)--top-io:最占用io的进程;
执行dstat --top-io后出现如下信息
(14)--top-mem:显示最占用内存的进程;
执行dstat --top-mem后出现如下信息
(15)--ipc: 显示进程间通信相关的速率数据;
执行dstat --ipc后出现如下信息
(16)--raw: 显示raw套接的相关的数据;
(17)--tcp: 显示tcp套接字的相关数据;
执行dstat --tcp后出现如下信息
(18)--udp: 显示udp套接字的相关数据;
执行dstat --udp后出现如下信息
(19)--unix: 显示unix sock接口相关的统计数据;
(20)--socket:
(21)-a: 相当于执行-cdngy
执行dstat -a后出现如下信息