当前位置:首页>Linux>Linux系统监控不求人:这些自带工具让你秒变运维高手

Linux系统监控不求人:这些自带工具让你秒变运维高手

  • 2026-08-27 14:24:33
Linux系统监控不求人:这些自带工具让你秒变运维高手

Linux系统自带了多种监控工具,以下是主要工具的使用方法:

一、实时监控工具(无需安装)

1. top - 进程监控

# 直接运行top# 常用操作# P - 按CPU使用率排序# M - 按内存使用率排序# k - 终止进程# q - 退出# 1 - 显示所有CPU核心
2. htop - 增强版top(需安装)
# Ubuntu/Debian安装sudo apt updatesudo apt install htop# RHEL/Rocky/CentOS安装dnf install epel-releasesudo dnf install htop  # 或 yum install htop# 运行htop
3. vmstat - 系统性能统计
# 每2秒刷新一次vmstat 2# 查看10次后停止vmstat 2 10
4. iostat - 磁盘I/O监控
# 安装(通常已包含在sysstat包中)sudo apt install sysstat      # Ubuntu/Debiansudo dnf install sysstat      # RHEL/Rocky# 每2秒显示一次iostat 2# 显示详细信息iostat -x 2
5. free - 内存使用情况
# 以人类可读格式显示free -h# 每2秒刷新watch -n 2 free -h
6. df - 磁盘空间使用
# 查看磁盘使用情况df -h# 查看inode使用情况df -i
7. netstat/ss - 网络连接监控
# 查看所有TCP连接netstat -tunlp# 使用ss(更现代的替代品)ss -tunlp# 查看网络统计netstat -s
二、实时监控组合命令
一键监控脚本

# 安装必要工具

# 安装必要工具watch -n 2 "echo '=== CPU ===' && top -bn1 | head -20 && echo '' && echo '=== 内存 ===' && free -h && echo '' && echo '=== 磁盘 ===' && df -h"
推荐日常监控组合
# 终端1: CPU和进程htop# 终端2: 磁盘I/Oiostat -x 2# 终端3: 网络连接watch -n 2 'ss -tunlp'# 终端4: 系统日志journalctl -f
三、常见监控场景
服务器性能慢排查:
1. top          # 查看CPU和内存2. iostat -x 1  # 检查磁盘I/O3. sar -n DEV 1 # 检查网络流量4. dmesg | tail # 查看系统错误
内存不足排查:
free -hps aux --sort=-%mem | head -10cat /proc/meminfo
磁盘占用排查:
df -hdu -sh /* | sort -hrlsof | grep deleted
五、性能监控脚本
创建简单监控脚本
# 创建监控脚本sudo nano /usr/local/bin/system-monitor.sh
脚本内容:
#!/bin/bashecho "=== 系统监控报告 $(date) ==="echo ""echo "--- CPU使用率 ---"top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print "CPU使用率: " 100 - $1"%"}'echo ""echo "--- 内存使用 ---"free -h | grep Mem | awk '{print "总内存: "$2" | 已用: "$3" | 可用: "$7}'echo ""echo "--- 磁盘使用 ---"df -h | grep -E '^/dev/' | awk '{print $1": "$5" 已用"}'echo ""echo "--- 网络连接数 ---"echo "TCP连接数: $(ss -t | wc -l)"echo "ESTABLISHED: $(ss -t state established | wc -l)"echo ""echo "--- 负载平均 ---"uptime | awk -F'load average:' '{print $2}'
赋予执行权限并运行:
sudo chmod +x /usr/local/bin/system-monitor.sh/usr/local/bin/system-monitor.sh

设置定时监控(cron)

# 编辑crontabcrontab -e# 添加每5分钟执行一次,结果写入日志 这是示例根据自己的实际需求来定*/5 * * * * /usr/local/bin/system-monitor.sh >> /var/log/system-monitor.log 2>&1

最新文章

随机文章