V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
hansonwang99
V2EX  ›  程序员

一文详解 Linux 系统常用监控工具

  hansonwang99 ·
hansonwang99 · 2018-09-18 06:39:37 +08:00 · 7833 次点击
这是一个创建于 2289 天前的主题,其中的信息可能已经有所发展或是发生改变。

Profile

本文共 1329 字,阅读大约需要 3 分钟 !


概 述

本文主要记录一下 Linux 系统上一些常用的系统监控工具,非常好用。正所谓磨刀不误砍柴工,花点时间总结一下是值得的!

注: 本文首发于 My Personal Blog,欢迎光临 小站

本文内容脑图如下: 本文内容脑图


top 命令

top 命令我想大家都挺熟悉吧! Linux 下的 top 命令有点类似于 Windows 下的任务管理器,能够实时动态地监控并显示系统中各个进程的资源占用状况,是 Linux 下常用的性能监控和分析工具。

一个常见的 top 命令的执行视图如下:

top 命令视图

下面我们详细在图中标注出每个指标的含义,认真看图对比理解吧(必要时可保存该图备查哦):

top 命令视图中各项指标详解

怎么样,理解起来够直观了吧,至于 top 命令的其他一些带参数用法自行 help 吧,太多了,不再赘述了!


htop 命令

htop 是 Linux 下一个交互式的进程浏览器,可以完全替代上一小节中所讲的 top 命令,与 top 命令对比,htop 命令有如下优点:

  • 直接支持鼠标点击操作( 就问你 6 不 6 !)
  • 画面可以水平垂直滚动,更像一个窗口
  • 可以跟踪进程,显示进程打开的文件
  • 支持进程的树状图显示
  • 支持按照名称查找进程

总之可视化方面做得 66 的,我们来体验一下:

htop

就该图来说,分成三部分:

  • 顶部是资源使用情况概览,这进度条看着就挺酷炫
  • 中间是进程表,和 top 命令的类似
  • 下面是操作指引和快捷键清晰明了

我们接下来再来看一些图形化的操作:

  • 进程树状图

htop 进程树状图

  • 鼠标点击各种指标来排序

htop 支持鼠标点击

  • 跟踪进程功能

htop 进程跟踪功能

htop 进程跟踪功能


iotop 命令

iotop 是用来监控硬盘 IO 的使用情况,UI 界面和 top 类似,其中包括 PID、用户、I/O、进程 等相关信息。

Linux 下系统自带的 IO 统计工具如 iostat,nmon 等大多数是只能统计到 per 设备的读写情况,如果你想知道每个进程是如何使用 IO 的就比较麻烦,使用 iotop 命令可以很方便的查看。

iotop 命令


iftop 命令

iftop 是 Linux 系统的流量和带宽监控工具,可用于查看实时的网络流量、监控 TCP/IP 连接等,也是非常有用的!

我们来做一下实验,命令执行后效果如下:

iftop 效果视图

iftop 效果视图

iftop 命令常用的参数如下,这里做个小规模总结:

  • -i 设定监测的网卡,如:# iftop -i eth1
  • -B 以 bytes 为单位显示流量 (默认是 bits),如:# iftop -B
  • -n 使 host 信息默认直接都显示 IP,如:# iftop -n
  • -N 使端口信息默认直接都显示端口号,如: # iftop -N
  • -F 显示特定网段的进出流量,如 # iftop -F 10.10.1.0/24# iftop -F 10.10.1.0/255.255.255.0
  • -h( display this message ),帮助,显示参数信息
  • -p 使用这个参数后,中间的列表显示的本地主机信息,出现了本机以外的 IP 信息;
  • -b 使流量图形条默认就显示;

再来总结一下,进入 iftop 视图画面后的一些操作命令 (注意大小写):

  • h切换是否显示帮助;
  • n切换显示本机的 IP 或主机名;
  • s切换是否显示本机的 host 信息;
  • d切换是否显示远端目标主机的 host 信息;
  • t切换显示格式为 2 行 /1 行 /只显示发送流量 /只显示接收流量;
  • N切换显示端口号或端口服务名称;
  • S切换是否显示本机的端口信息;
  • D切换是否显示远端目标主机的端口信息;
  • p切换是否显示端口信息;
  • P切换暂停 /继续显示;
  • b切换是否显示平均流量图形条;
  • T切换是否显示每个连接的总流量;
  • l打开屏幕过滤功能,输入要过滤的字符,比如 ip,按回车后,屏幕就只显示这个 IP 相关的流量信息;
  • L切换显示画面上边的刻度;刻度不同,流量图形条会有变化;
  • j或按k可以向上或向下滚动屏幕显示的连接记录;
  • 123可以根据右侧显示的三列流量数据进行排序;
  • <根据左边的本机名或 IP 排序;
  • >根据远端目标主机的主机名或 IP 排序;
  • o切换是否固定只显示当前的连接;

后 记

由于能力有限,若有错误或者不当之处,还请大家批评指正,一起学习交流!



47 条回复    2018-09-19 14:27:06 +08:00
beginor
    1
beginor  
   2018-09-18 08:02:29 +08:00 via Android
不错不错,果断收藏了
wusir
    2
wusir  
   2018-09-18 08:05:41 +08:00
很好很好,期待更多
wyzerg
    3
wyzerg  
   2018-09-18 08:07:28 +08:00
老哥,果然是运维功底深厚~收藏了,楼主好人,好人一生平安~
lrh3321
    4
lrh3321  
   2018-09-18 08:13:50 +08:00
不错不错
zhoudaiyu
    5
zhoudaiyu  
   2018-09-18 08:14:47 +08:00 via iPhone
让我想起了面试时候被 top 支配的恐惧
E1n
    6
E1n  
   2018-09-18 08:16:07 +08:00 via Android
感谢!学习一下
GGGG430
    7
GGGG430  
   2018-09-18 08:25:29 +08:00 via iPhone
我补充一个,dstatt -lcmnd 可以全局查看系统情况,不像以上命令只能系统显示较为片面的一部分
GGGG430
    8
GGGG430  
   2018-09-18 08:26:09 +08:00 via iPhone
@GGGG430 dstat
WEAlex
    9
WEAlex  
   2018-09-18 08:37:21 +08:00 via Android
厉害了。。。
looseChen
    10
looseChen  
   2018-09-18 08:38:53 +08:00
mark
oeagut
    11
oeagut  
   2018-09-18 08:41:00 +08:00 via iPhone
感谢分享,学习到了
seramat
    12
seramat  
   2018-09-18 08:48:00 +08:00
很好,收藏
Leigg
    13
Leigg  
   2018-09-18 08:50:48 +08:00 via iPhone
文首什么显示器来的???
loobert
    14
loobert  
   2018-09-18 09:01:01 +08:00 via iPhone
支持好文
supercaizehua
    15
supercaizehua  
   2018-09-18 09:08:18 +08:00
第一个桌面的图太骚了
linxl
    16
linxl  
   2018-09-18 09:08:37 +08:00
奈斯 感谢分享
PythonAnswer
    17
PythonAnswer  
   2018-09-18 09:11:20 +08:00 via iPhone
排版好,逻辑强,点赞
rockpk008
    18
rockpk008  
   2018-09-18 09:12:15 +08:00 via Android
刚在公众号拜读了
liuxu
    19
liuxu  
   2018-09-18 09:21:00 +08:00   ❤️ 1
现在 V2EX 的用户 linux 水准这么低了么?这就文章还拜读了?
airyland
    20
airyland  
   2018-09-18 09:26:35 +08:00   ❤️ 3
看前面回复特意看了下是链接是不是 V2EX。。
BingoXuan
    21
BingoXuan  
   2018-09-18 09:30:34 +08:00 via Android
@liuxu 当作给新手更友好的教程就好了
isCyan
    22
isCyan  
   2018-09-18 09:40:27 +08:00 via Android
@liuxu 水贴太多了,像这种不带广告的稍微有点技术内容的都很少见,所以...
rayjoy
    23
rayjoy  
   2018-09-18 09:52:57 +08:00
技术贴不多见啊。
wyzerg
    24
wyzerg  
   2018-09-18 10:18:14 +08:00
@liuxu 有意思哈,您瞧不起这,觉得没水准,那您出个高 linux 水准的文章,我们也来您这拜读下~
hansonwang99
    25
hansonwang99  
OP
   2018-09-18 10:51:50 +08:00
感谢大家的支持
bigmouthhaile
    26
bigmouthhaile  
   2018-09-18 10:57:47 +08:00 via Android
虽然是初级的,不过写的蛮好;建议楼主可以搞搞 zabbix 或 prometheus 这方面自动化监控系统硬件的教程
nonkr
    27
nonkr  
   2018-09-18 11:18:05 +08:00 via iPhone
收藏了,再复习复习
marvinGet
    28
marvinGet  
   2018-09-18 11:38:40 +08:00
感谢
saltxy
    29
saltxy  
   2018-09-18 12:02:07 +08:00
收藏了
dangluren
    30
dangluren  
   2018-09-18 13:39:15 +08:00
师兄,文章可以转载吗
Dkngit
    31
Dkngit  
   2018-09-18 14:00:55 +08:00
mark
lfzyx
    32
lfzyx  
   2018-09-18 14:15:07 +08:00
看到 195 人收藏 我 TM 惊呆了
hansonwang99
    33
hansonwang99  
OP
   2018-09-18 14:18:24 +08:00
@dangluren 可以的,但请注明出处
MOONYANYI
    34
MOONYANYI  
   2018-09-18 14:29:29 +08:00
棒棒哒,mark
tiiis
    36
tiiis  
   2018-09-18 14:52:03 +08:00
我想问问图片中的显示器~.~
huieh
    37
huieh  
   2018-09-18 15:54:16 +08:00
第一个桌面的图太骚了
wyzerg
    38
wyzerg  
   2018-09-18 16:43:35 +08:00
@liuxu 没有~你发的 google 连接也没办法翻墙,看不到
f4nyc
    39
f4nyc  
   2018-09-18 16:49:57 +08:00 via iPhone
还以为是说 zabbix 这些……
artandlol
    40
artandlol  
   2018-09-18 16:57:25 +08:00
没有 nettop,ctop,docker top,docker stats ?
artandlol
    41
artandlol  
   2018-09-18 16:59:15 +08:00
netatop
liuxu
    42
liuxu  
   2018-09-18 18:40:38 +08:00
@wyzerg

哦,原来 google 都不能访问,你什么水平清楚了。

https://www.v2ex.com/t/362252?p=2
wyzerg
    43
wyzerg  
   2018-09-18 18:49:20 +08:00
@liuxu 是啊~~我水平不高哈哈~ 您看不起这那的,还那句话,发个高端的文章在 V2,我们也来拜读下,今天的水平不高不代表明天哦~
liuxu
    44
liuxu  
   2018-09-18 19:04:12 +08:00
@wyzerg

我在 v2 几年回复过很多技术贴,想看可以自己去翻。
zhou00
    45
zhou00  
   2018-09-19 08:05:52 +08:00 via Android
支持大佬,三个命令不够看,还有嘛还有嘛😂
fhefh
    46
fhefh  
   2018-09-19 09:10:42 +08:00
@hansonwang99 楼主 显示器是哪个型号的~ 嘿嘿~
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3425 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 47ms · UTC 04:49 · PVG 12:49 · LAX 20:49 · JFK 23:49
Developed with CodeLauncher
♥ Do have faith in what you're doing.