top
, htop
, mpstat
, vmstat
free -m
, vmstat
, /proc/meminfo
iostat
, iotop
, dstat
iftop
, nload
, vnstat
df -h
, du -sh *
实时监控:
top
/htop
- 进程监控glances
- 综合监控工具nmon
- 性能监控工具日志监控:
tail -f /var/log/messages
journalctl -f
(systemd系统)logwatch
- 日志分析工具#!/bin/bash
# 简单监控脚本示例
# CPU使用率
cpu_usage=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}')
# 内存使用
mem_total=$(free -m | awk '/Mem:/ {print $2}')
mem_used=$(free -m | awk '/Mem:/ {print $3}')
# 磁盘空间
disk_usage=$(df -h / | awk '/\// {print $5}')
echo "CPU使用率: ${cpu_usage}%"
echo "内存使用: ${mem_used}MB/${mem_total}MB"
echo "根分区使用: ${disk_usage}"
top
或htop
找出高CPU进程strace -p <PID>
跟踪进程系统调用perf top
进行性能分析free -m
查看内存使用情况vmstat 1
查看交换分区使用ps aux --sort=-%mem | head
查看内存占用高的进程iostat -x 1
查看磁盘I/O状态iotop
查看I/O高的进程/var/log/messages
是否有磁盘错误ping
测试基本连通性traceroute
检查路由路径netstat -tulnp
查看端口监听tcpdump
抓包分析/var/log/messages
- 通用系统消息/var/log/syslog
- 系统日志(基于Debian)/var/log/auth.log
- 认证日志/var/log/kern.log
- 内核日志/var/log/dmesg
- 启动消息grep -i "error" /var/log/messages
- 搜索错误tail -n 100 /var/log/syslog
- 查看最后100行journalctl --since "2023-01-01" --until "2023-01-02"
- 按日期筛选awk '/pattern/ {print $1}' /var/log/file
- 提取特定字段yum update
或apt-get upgrade
logrotate
配置日志轮转/etc/sysctl.conf
配置管理工具:
监控自动化:
日志集中管理:
通过系统化的监控和标准化的故障排除流程,可以显著提高Linux系统的稳定性和运维效率。