如何监控CentOS系统清理效果
监控CentOS系统清理效果的核心是跟踪系统资源(磁盘、内存、CPU)的变化、验证清理操作的成果以及持续观察系统性能的提升。以下是具体方法和工具:
磁盘空间占用是系统清理效果的首要指标,可通过以下命令对比清理前后的变化:
df -h:以人类可读格式(GB/MB)显示各文件系统的磁盘空间使用情况,重点关注/var(日志、缓存)、/tmp(临时文件)、/home(用户文件)等目录所在分区。清理后,这些分区的“Used”值应明显下降。du -sh *:统计当前目录下各子目录/文件的大小,可用于定位大文件或目录(如/var/log下的日志文件)。清理前记录数值,清理后再次运行,若数值减小则说明清理有效。ncdu工具:基于文本的磁盘使用分析工具,提供交互式界面,可直观查看目录树中的大文件,并支持排序(按大小、类型)。安装后运行ncdu /path/to/directory,能快速识别占用空间大的文件。内存清理(如缓存、临时文件)直接影响系统运行速度,可通过以下命令验证:
free -h:显示内存(RAM)和交换分区(Swap)的使用情况。清理内存缓存(如sync; echo 3 > /proc/sys/vm/drop_caches)后,“buff/cache”列的值应下降,“available”列的值应上升。top/htop命令:实时查看内存使用情况,按“M”键按内存占用排序。清理后,占用内存高的进程(如缓存进程)的内存占用应减少。日志文件(如/var/log/messages、/var/log/httpd/access_log)是磁盘空间的主要占用者之一,可通过以下方式验证:
journalctl命令:查看systemd管理的日志大小及清理情况。运行journalctl --disk-usage可查看当前日志占用的磁盘空间;使用journalctl --vacuum-size=100M(保留100MB日志)或journalctl --vacuum-time=3d(保留3天内日志)清理后,再次运行--disk-usage确认空间释放。find命令:查找大日志文件。例如find /var/log -name "*.log" -size +50M可找出大于50MB的日志文件,清理后再次运行应无此类文件或文件大小减小。系统性能的提升是清理效果的最终体现,可通过以下命令观察:
top/htop命令:查看CPU使用率。清理后,若CPU使用率从高位(如80%以上)下降至正常范围(如20%-50%),说明系统负载减轻。vmstat命令:监控系统整体性能(CPU、内存、I/O)。运行vmstat 1 10(每秒采样1次,共10次),重点关注“si”(swap in)、“so”(swap out)列(若数值为0,说明内存充足)、“wa”(I/O等待)列(若数值下降,说明I/O压力减轻)。iotop命令:实时监控磁盘I/O活动。清理后,若大文件的读写操作(如日志写入)减少,“DISK READ”/“DISK WRITE”列的值应下降。若需要长期、自动化的监控,可使用以下工具:
sudo yum install epel-release && sudo yum install netdata && sudo systemctl start netdata。通过编写Shell脚本,定期检查系统资源使用情况并发送告警。例如,以下脚本检查磁盘使用率,若超过80%则发送邮件:
#!/bin/bash
THRESHOLD=80
df -h | grep -vE 'Filesystem|tmpfs|cdrom' | awk '{print $5 " " $1}' | while read output;
do
percent=$(echo $output | cut -d'%' -f1)
partition=$(echo $output | cut -d' ' -f2)
if [ $percent -ge $THRESHOLD ]; then
echo "Disk space usage on $partition is above $THRESHOLD% ($percent%)" | mailx -s "Disk Space Alert" your_email@example.com
fi
done
将脚本添加到cron(如crontab -e添加0 9 * * * /path/to/script.sh),每天上午9点自动运行。
通过以上方法,可从直接指标(磁盘、内存)、**间接性能(CPU、I/O)和持续监控(工具/脚本)**三个维度全面评估CentOS系统清理的效果,及时发现未清理的残留文件或新的空间占用问题。