Linux中基于命令行的性能监控工具:dstat、top、netstat、vmstat、htop、ss、glances

1、dstat – 多类型资源统计工具(需配置epel源)

该命令整合了vmstat,iostat和ifstat三种命令。同时增加了新的特性和功能可以让你能及时看到各种的资源使用情况,从而能够使你对比和整合不同的资源使用情况。通过不同颜色和区块

布局的界面帮助你能够更加清晰容易的获取信息。它也支持将信息数据导出到cvs格式文件中,从而用其他应用程序打开,或者导入到数据库中。你可以用该命令来监控cpu,内存和网络状态随着

时间的变化。

简介:
dstat - versatile tool for generating system resource statistics
格式:
dstat [-afv] [options..] [delay [count]]
选项:
-c: 显示cpu相关信息
-C #,#,...,total
-d: 显示disk相关信息
-D total,sda,sdb,...
-g:显示page相关统计数据
-m: 显示memory相关统计数据
-n: 显示network相关统计数据
-p: 显示process相关统计数据
-r: 显示io请求相关的统计数据
-s: 显示swapped相关的统计数据
--top-cpu:显示最占用CPU的进程
--top-io: 显示最占用io的进程
--top-mem: 显示最占用内存的进程
--top-latency: 显示延迟最大的进程
- -raw:显示裸套接字
- -socket:套接字
- -ipc:进程间通信信息

实例1:显示cpu、进程、内存、io线程以及swap等相关信息

实例2:显示tcp、udp协议和raw和socket套接字以及进程间通信的信息

实例3:显示系统中cpu和io线程以及内存使用的情况

2、top – 经典的Linux任务管理工具

作为一个广为人知的Linux工具,top是大多数的类Unix操作系统任务管理器。它可以显示当前正在运行的进程的列表,用户可以按照不同的条件对该列表进行排序。它主要显示了系统进程对CPU和

内存的使用状况。top可以快速检查是哪个或哪几个进程挂起了你的系统。你可以在这里看到top使用的例子。 你可以在终端输入top来运行它并进入到交互模式:

简介:
top - display Linux processes
格式:
top -hv|-bcHiOSs -d secs -n max -u|U user -p pid -o fld -w [cols]
交互模式的一些快捷操作:
全局命令: <回车/空格> ?, =, A, B, d, G, h, I, k, q, r, s, W, Z
统计区的命令: l, m, t, 1
任务区的命令:
外观: b, x, y, z 内容: c, f, H, o, S, u 大小: #, i, n 排序: <, >, F, O, R
色彩方案: <Ret>, a, B, b, H, M, q, S, T, w, z, 0 - 7
窗口命令: -, _, =, +, A, a, G, g, w

实例1:

top命令个参数具体含义:

top – 13:26:57 up  1:38,  2 users,  load average: 0.00, 0.01, 0.04

13:26:57:当前时间

1:38:运行时长

2 users:登录当前系统上的用户数

load average: 0.00, 0.01, 0.04:平均负载(等待运行的队列长度的负载)

Tasks: 367 total,   1 running, 366 sleeping,   0 stopped,   0 zombie

Tasks:任务

367 total:一共运行367进程

1 running:1个处于运行

366 sleeping:366个进程睡眠

0 stopped:0个停止

0 zombie:0个僵死

%Cpu(s):  0.0 us,  0.1 sy,  0.0 ni, 99.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st

%Cpu:cpu占用百分比

0.0 us:用户空间占用的百分比

0.1 sy:内核空间占用时间的百分比

0.0 ni:对nice调整占用的内存百分比

99.9 id:空闲百分比

0.0 wa:等待IO完成所消耗的百分比

0.0 hi:处理硬件中断所占用的百分比

0.0 si:处理软件中断所占用的百分比

0.0 st:被偷走的百分比(虚拟化程序)

KiB Mem :  1868688 total,  1328280 free,   127580 used,   412828 buff/cache

KiB Mem:内存空间占用,以KB为单位:

1868688 total:总内存空间

1328280 free:剩余内存空间

127580 used:已用内存空间

412828 buff/cache:用于缓存和缓冲的内存空间

KiB Swap:  2097148 total,  2097148 free,        0 used.  1564488 avail Mem

KiB Swap:swap空间占用,以KB为单位

2097148 total:总空间

2097148 free:剩余空间

0 used:已用空间

698100 avail Mem :有效swap大小

栏位信息简介

us:用户空间

sy:内核空间

ni:调整nice时间

id:空闲

wa:等待IO时间

hi:硬中断

si:软中断(模式切换)

st:虚拟机偷走的时间

实例2:

敲m键:可以将内存使用率用|||显示 或者白空格显示

实例3:

敲t键:可以禁用显示硬盘及cpu相关消息

实例4:

敲k键:终止指定的进程

实例5:

敲q键:退出top界面

3、netstat – 显示开放的端口和连接(以centos 6 操作)

它是Linux管理员使用来显示各种网络信息的工具,如查看什么端口开放和什么网络连接已经建立以及何种进程运行在该连接之上。同时它也显示了不同程序间打开的Unix套接字的信息。作为大多数

Linux发行版本的一部分,netstat的许多命令在 netstat和它的不同输出中有详细的描述。最为常用的如下:

简介:
netstat - Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships
格式:
netstat [--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [--all|-a] [--numeric|-n] [--extend|-e[--extend|-e]] [--program|-p]
选项:
-t: tcp协议相关
-u: udp协议相关
-w: raw socket相关
-l: 处于监听状态
-a: 所有状态
-n: 以数字显示IP和端口;
-e:扩展格式
-p: 显示相关进程及PID 常用组合:
-tan, -uan, -tnl, -unl, -tunlp

实例1:以数字显示tcp协议的ip和端口

实例2:以数字显示tcp、udp协议的ip和端口以及相关进程及PID

4、vmstat – 虚拟内存统计信息

vmstat是虚拟内存(virtual memory statistics)的缩写,作为一个内存监控工具,它收集和显示关于内存,进程,终端和分页和I/O阻塞的概括信息。作为一个开源程序,它可以在大部分Linux发行版本

中找到,包括Solaris和FreeBSD。它用来诊断大部分的内存性能问题和其他相关问题。

简介:
vmstat - Report virtual memory statistics
格式:
vmstat [options] [delay [count]]

实例1:

procs r:等待运行的进程的个数  b:处于不可中断睡眠态的进程个数;(被阻塞的队列的长度);
memory swpd: 交换内存的使用总量  free:空闲物理内存总量
buffer:用于buffer的内存总量  cache:用于cache的内存总量
swap si:数据进入swap中的数据速率(kb/s) so:数据离开swap中的数据速率(kb/s)
io bi:从块设备读入数据到系统的速率;(kb/s)  bo: 保存数据至块设备的速率
system in: interrupts, 中断速率  cs: context switch, 进程切换速率
cpu us:用户空间  sy:内核空间  id:空闲
wa:等待IO时间  st:虚拟机偷走的时间

5、Htop – 更加友好的top(需配置epel源安装)

Htop基本上是一个top改善版本,它能够以更加多彩的方式显示更多的统计信息,同时允许你采用不同的方式进行排序,它提供了一个用户友好的接口。

简介:
htop - interactive process viewer
格式:
htop [-dChusv]
选项:
-d #: 指定延迟时间;
-u UserName: 仅显示指定用户的进程;
-s COLOMN: 以指定字段进行排序; 子命令:
s: 跟踪选定进程的系统调用;
l: 显示选定进程打开的文件列表;
a:将选定的进程绑定至某指定CPU核心;
t: 显示进程树

实例1:

6、ss – 网络管理的现代替代品

ss是iproute2包的一部分。iproute2是用来替代一整套标准的Unix网络工具组件,它曾经用来完成网络接口配置,路由表和管理ARP表任务。ss工具用来记录套接字统计信息,它可以显示类似netstat一

样的信息,同时也能显示更多TCP和状态信息。

简介:
ss - another utility to investigate sockets
格式:
ss [options] [ FILTER ]
选项:
-t: tcp协议相关
-u: udp协议相关
-w: 裸套接字相关
-x:unix sock相关
-l: listen状态的连接
-a: 所有
-n: 数字格式
-p: 相关的程序及PID
-e: 扩展的信息
-m:内存用量
-o:计时器信息 常用组合:
-tan, -tanl, -tanlp, -uan

实例1:以数字格式显示所有的tcp协议链接

实例2:以数字形式显示所有的tcp、udp协议的链接以及端口

7、Glances – 是一个由 Python 编写,使用 psutil 库来从系统抓取信息的基于 curses 开发的跨平台命令行系统监视工具。 通过 Glances,我们可以监视 CPU,平均负载,内存,网络流量,磁盘 I/O,

其他处理器 和 文件系统 空间的利用情况。(需配epel源安装)

简介:
glances - A cross-platform curses-based monitoring tool
格式:
glances [-bdehmnrsvyz1] [-B bind] [-c server] [-C conffile] [-p port] [-P password] [--password] [-t refresh] [-f file] [-o output]
选项:
-b: 以Byte为单位显示网卡数据速率;
-d: 关闭磁盘I/O模块;
-f /path/to/somefile: 设定输入文件位置;
-o {HTML|CSV}:输出格式;
-m: 禁用mount模块
-n: 禁用网络模块
-t #: 延迟时间间隔
-1:每个CPU的相关数据单独显示; 内建命令:
a Sort processes automatically l Show/hide logs
c Sort processes by CPU% b Bytes or bits for network I/O
m Sort processes by MEM% w Delete warning logs
p Sort processes by name x Delete warning and critical logs
i Sort processes by I/O rate 1 Global CPU or per-CPU stats
d Show/hide disk I/O stats h Show/hide this help screen
f Show/hide file system stats t View network I/O as combination
n Show/hide network stats u View cumulative network I/O
s Show/hide sensors stats q Quit (Esc and Ctrl-C also work)

实例1:直接输入"glances"命令,可以监视 CPU,平均负载,内存,网络流量,磁盘 I/O,其他处理器 和 文件系统 空间的利用情况

实例2:C/S模式下运行glances命令

服务模式:"glances -s -B IPADDR" (IPADDR: 指明监听于本机哪个地址)(Tips:需关掉防火墙或者开启相应的端口)

客户模式:"glances -c IPADDR" (IPADDR:要连入的服务器端地址)

CentOS 7上的性能监控工具的更多相关文章

  1. SkyWalking分布式系统应用程序性能监控工具-上

    概述 微服务系统监控三要素 现在系统基本都是微服务架构,对于复杂微服务链路调用如下问题如何解决? 一个请求经过了这些服务后其中出现了一个调用失败的问题,如何定位问题发生的地方? 如何计算每个节点访问流 ...

  2. 180601-MySql性能监控工具MyTop

    文章链接:https://blog.hhui.top/hexblog/2018/06/01/180601-MySql性能监控工具MyTop/ mysql 性能监控小工具之 mytop 参考: How ...

  3. Spotlight性能监控工具的配置及使用

    这是我离线整理资料里的内容,大概是2012年时候开始使用此性能监控工具的,直到至今,接触到几个性能监控工具里,还是美国quest公司生产的Spotlight此产品相对比较牛! 我也不知道现在发展到能支 ...

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

    一.基于命令行的性能监控工具 1.dstat - 多类型资源统计工具 该命令整合了vmstat,iostat和ifstat三种命令.同时增加了新的特性和功能可以让你能及时看到各种的资源使用情况,从而能 ...

  5. 如何在CentOS 7上安装Percona服务器

    在这篇文章中我们将了解关于 Percona 服务器,一个开源的MySQL,MariaDB的替代品.InnoDB的数据库引擎使得Percona 服务器非常有吸引力,如果你需要的高性能,高可靠性和高性价比 ...

  6. 深入理解JVM—性能监控工具

    (转自:http://yhjhappy234.blog.163.com/blog/static/31632832201222691738865/) 我们知道,在JVM编译期和加载器,甚至运行期已经做了 ...

  7. 25个Linux性能监控工具

    一段时间以来,我们在网上向读者介绍了如何为Linux以及类Linux操作系统配置多种不同的性能监控工具.在这篇文章中我们将罗列一系列使用最频繁的性能监控工具,并对介绍到的每一个工具提供了相应的简介链接 ...

  8. (转载)Java自带的GUI性能监控工具Jconsole以及JisualVM简介

    原文链接:http://blog.csdn.net/chendc201/article/details/22905503 1 Jconsole 1.1 简介以及连接 JConsole是一个基于JMX的 ...

  9. JProfiler - Java的性能监控工具

    简介 JProfiler是一款Java的性能监控工具.可以查看当前应用的对象.对象引用.内存.CPU使用情况.线程.线程运行情况(阻塞.等待等),同时可以查找应用内存使用得热点,即:哪个对象占用的内存 ...

随机推荐

  1. Visual Studio 2013中的“Browser Link”

    前几天,参加了,VS13的新特性的讲座,回来便试了一下, 默认Html会引用如下脚本: <!-- Visual Studio Browser Link --> <script typ ...

  2. 统计重1到n的正整数中1的个数

    问题: 给定一个十进制正整数N,写下从1开始,到N的所有整数,然后数一下其中出现的所有“1”的个数. 例如:N= 2,写下1,2.这样只出现了1个“1”. N= 12,我们会写下1, 2, 3, 4, ...

  3. 总结C++中取成员函数地址的几种方法

    这里, 我整理了4种C++中取成员函数地址的方法, 第1,2,4种整理于网上的方法, 第3种cdecl_cast是我自己想到的. 其中, 第4种(汇编)的方法不能在VC6上编译通过. 推荐使用第1,2 ...

  4. 淘宝ued - 前端智勇大闯关(第三季)答案(更新)

    淘宝ued - 前端智勇大闯关(第三季)答案(更新) 下午在微博上看到了淘宝智勇大闯关第三季的信息,感觉挺有意思的,于是就尝试做了下.附上题目地址: http://ued.campus.alibaba ...

  5. iOS 开发问题集锦(三)

    iOS 开发问题集锦(三) 介于群里大部分童鞋都是新手,为了大家能够更好的提问,并且提的问题能更好的得到回答,下面写几点提问时的注意事项: 1.认真对待你的问题,在提问题前有过认真的思考: 2.先在 ...

  6. MVC3.0+knockout.js+Ajax 实现简单的增删改查

    MVC3.0+knockout.js+Ajax 实现简单的增删改查 自从到北京入职以来就再也没有接触MVC,很多都已经淡忘了,最近一直在看knockout.js 和webAPI,本来打算采用MVC+k ...

  7. TOGAF架构开发方法(ADM)之架构变更管理阶段

    TOGAF架构开发方法(ADM)之架构变更管理阶段 1.10 架构变更管理(Architecture Change Management) 企业架构开发方法各阶段——架构变更管理 1.10.1 目标 ...

  8. new和instanceof的内部机制

    new和instanceof的内部机制 首先我们来看看obj = new o()这条语句发生了什么: var obj = (function(){ var obj = {}; obj.__proto_ ...

  9. HNCU1324:算法2-2:有序线性表的有序合并(线性表)

    http://hncu.acmclub.com/index.php?app=problem_title&id=111&problem_id=1324 题目描述 已知线性表 LA 和 L ...

  10. 【Unity 3D】教程(1)建立场景

    1.新建一个地形 在菜单中选择Terrain,新建一个地形 接下来在右边的“编辑高度”中,用笔刷绘出地形高度,如图: 2.地形纹理 接下来我们给地形贴上纹理,纹理资源我们使用unity自带的, 在Pr ...