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

本贴最后更新于 2287 天前,其中的信息可能已经时移世易

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 切换是否固定只显示当前的连接;

后 记

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


  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    946 引用 • 943 回帖
  • 运维

    互联网运维工作,以服务为中心,以稳定、安全、高效为三个基本点,确保公司的互联网业务能够 7×24 小时为用户提供高质量的服务。

    149 引用 • 257 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...