插件窝 干货文章 Linux系统中常用的系统监视工具

Linux系统中常用的系统监视工具

示例 监控 磁盘 内存 926    来源:    2025-04-18

Linux系统提供了丰富的系统监视工具,用于实时监控和分析系统性能、资源使用情况以及进程活动。以下分类介绍常用工具及其典型应用场景:


一、实时系统监控工具

  1. top

    • 动态查看进程资源占用(CPU、内存等)
    • 快捷键:M(按内存排序)、P(按CPU排序)、q退出
    • 替代方案:htop(彩色界面,支持鼠标操作)
  2. htop

    • 增强版top,支持树状视图、进程过滤、批量操作
    • 安装:sudo apt install htop(Debian/Ubuntu)
  3. glances

    • 综合监控工具(CPU/内存/磁盘/网络/传感器温度)
    • 支持Web界面:glances -w
    • 安装:pip install glances

二、硬件资源监控

  1. vmstat

    • 报告虚拟内存、CPU上下文切换、磁盘IO
    • 示例:vmstat 1(每秒刷新)
  2. iostat(sysstat包)

    • 监控磁盘I/O和CPU使用率
    • 示例:iostat -dx 2(每2秒显示设备详情)
  3. sar(sysstat包)

    • 历史性能数据收集与分析
    • 示例:sar -u(查看CPU历史使用率)
  4. nmon

    • 交互式监控CPU、内存、磁盘、网络等
    • 支持导出为CSV:nmon -f -s 5 -c 10

三、内存监控

  1. free

    • 查看内存和Swap使用情况
    • 常用参数:free -h(人类可读格式)
  2. smem

    • 按进程统计实际内存占用(PSS/USS)
    • 示例:smem -uk

四、磁盘与文件系统

  1. df

    • 磁盘空间使用情况
    • 示例:df -hT(显示文件系统类型)
  2. du

    • 目录空间占用分析
    • 示例:du -sh /var/log(统计日志目录大小)
  3. iotop

    • 监控进程磁盘I/O实时流量
    • 需root权限:sudo iotop

五、网络监控

  1. iftop

    • 实时网络带宽监控(按连接排序)
    • 安装:sudo apt install iftop
  2. nload

    • 分设备显示网络流量图
    • 示例:nload eth0
  3. netstat/ss

    • 查看网络连接和端口状态
    • 推荐使用ssss -tulnp(替代netstat
  4. tcpdump

    • 抓包分析网络流量
    • 示例:tcpdump -i eth0 port 80

六、进程与日志分析

  1. ps

    • 查看进程快照
    • 常用组合:ps aux --sort=-%cpu
  2. lsof

    • 列出被打开的文件/网络连接
    • 示例:lsof -i :22(查看SSH相关文件)
  3. journalctl(Systemd系统)

    • 查看系统日志
    • 示例:journalctl -u nginx --since "1 hour ago"

七、高级/图形化工具

  1. Nagios/Zabbix

    • 企业级分布式监控系统(需单独部署)
  2. Prometheus + Grafana

    • 时序数据监控与可视化(适合云环境)
  3. bpytop

    • Python编写的现代化资源监视器(支持主题定制)

使用技巧

  • 组合命令watch -n 1 'df -h; free -h'(每秒刷新磁盘和内存)
  • 日志轮转:配合logrotate管理监控日志
  • 告警设置:通过cron+脚本监控阈值(如CPU>90%时发邮件)

根据需求选择工具:快速诊断用htop/glances,深度分析用sar/nmon,网络问题用iftop/tcpdump