V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
hansonwang99
V2EX  ›  程序员

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

  hansonwang99 ·
hansonwang99 · Sep 18, 2018 · 8689 views
This topic created in 2790 days ago, the information mentioned may be changed or developed.

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

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

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

我在 v2 几年回复过很多技术贴,想看可以自己去翻。
zhou00
    45
zhou00  
   Sep 19, 2018 via Android
支持大佬,三个命令不够看,还有嘛还有嘛😂
fhefh
    46
fhefh  
   Sep 19, 2018
@hansonwang99 楼主 显示器是哪个型号的~ 嘿嘿~
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2949 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 120ms · UTC 12:24 · PVG 20:24 · LAX 05:24 · JFK 08:24
♥ Do have faith in what you're doing.