Linux系统常用监控工具

Linux系统常用监控工具


概述

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

top命令

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

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

Linux系统常用监控工具_第1张图片

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

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

  • VIRT:virtual memory usage 虚拟内存

    1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等

    2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量

  • RES:resident memory usage 常驻内存

    1、进程当前使用的内存大小,但不包括swap out

    2、包含其他进程的共享

    3、如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反

    4、关于库占用内存的情况,它只统计加载的库文件所占内存大小

  • SHR:shared memory 共享内存

    1、除了自身进程的共享内存,也包括其他进程的共享内存

    2、虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小

    3、计算某个进程所占的物理内存大小公式:RES – SHR

    4、swap out后,它将会降下来

htop命令

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

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

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

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

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

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

  • 进程树状图


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


  • 跟踪进程功能
    选中某一个进程,按S键即可利用strace追踪进程系统调用

iotop命令

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

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

Linux系统常用监控工具_第2张图片

iftop

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

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

Linux系统常用监控工具_第3张图片

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可以向上或向下滚动屏幕显示的连接记录;
  • 按 1或 2或 3可以根据右侧显示的三列流量数据进行排序;
  • 按 <根据左边的本机名或 IP排序;
  • 按 >根据远端目标主机的主机名或 IP排序;
  • 按 o切换是否固定只显示当前的连接;

参考:

https://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483877&idx=1&sn=113867c83c0cecf5781a9e1a7f91bdd1&chksm=fdded721caa95e37f757660e7f14775ac55e4a72f9c24b119af7ef83ca7587ceb53f22298c99&mpshare=1&scene=23&srcid=0918nOcF9VJUcKtaBUzUBFun

你可能感兴趣的:(Linux系统常用监控工具)