Linux系统清理提升性能全攻略
临时文件(如/tmp、/var/tmp目录下的文件)是系统运行过程中产生的无用数据,长期积累会占用大量磁盘空间。可通过以下命令快速清理:
sudo rm -rf /tmp/* /var/tmp/*(谨慎使用,避免删除正在使用的临时文件);systemd-tmpfiles(通过/etc/tmpfiles.d/配置自动清理规则)、tmpwatch(按访问时间自动删除旧文件)。包管理器(如APT、YUM)会缓存下载的软件包和元数据,占用/var/cache/apt/archives(Debian/Ubuntu)或/var/cache/yum(CentOS/RHEL)目录空间。清理方法:
sudo apt clean(删除所有缓存包)、sudo apt autoclean(仅删除旧版本缓存);sudo yum clean all(清理YUM缓存)。/var/cache目录的空间释放出来,尤其适合磁盘空间有限的系统。sudo apt autoremove(Debian/Ubuntu)或sudo yum autoremove(CentOS/RHEL)删除不再需要的依赖包,避免其占用磁盘空间和系统资源;若需彻底清除配置文件,可添加--purge参数(如sudo apt autoremove --purge)。/boot分区空间。通过uname -r查看当前内核版本,dpkg --list | grep linux-image(Debian/Ubuntu)或rpm -qa | grep kernel(CentOS/RHEL)列出所有内核,卸载旧版本(如sudo apt remove --purge linux-image-5.15.0-30-generic),最后执行sudo update-grub更新引导加载项。日志文件(如/var/log目录下的syslog、auth.log、kern.log)会随系统运行不断增长,占用大量空间。清理方法:
journalctl命令清理旧日志:sudo journalctl --vacuum-time=7d(删除7天前的日志)、sudo journalctl --vacuum-size=100M(限制日志大小为100MB);find /var/log -type f -name "*.log" -mtime +30 -exec rm -f {} \;(删除30天前的.log文件);gzip /var/log/*.log(减少日志文件体积)。/var/log分区满导致的系统故障。deadline、固态硬盘用noop),通过echo deadline > /sys/block/sda/queue/scheduler(将sda替换为实际磁盘设备名)设置;tune2fs -o journal_data_writeback /dev/sda1(将/dev/sda1替换为实际分区)开启Writeback模式,提升写入性能;不必要的启动项和服务会在系统启动时自动运行,占用CPU和内存资源。优化方法:
systemctl list-unit-files --state=enabled(列出所有启用服务);sudo systemctl disable servicename(如sudo systemctl disable bluetooth禁用蓝牙服务);sudo systemctl stop servicename(停止后不会自动启动)。sudo sync; sudo echo 3 > /proc/sys/vm/drop_caches命令清理页面缓存(不影响正在运行的程序),释放内存供其他进程使用;swappiness参数控制内核使用交换分区(Swap)的倾向(默认值为60,值越高越易使用Swap)。编辑/etc/sysctl.conf文件,添加vm.swappiness=10(降低Swap使用率),执行sudo sysctl -p使设置生效;/etc/security/limits.conf文件,添加* soft nofile 65536、* hard nofile 65536(普通用户最大打开文件数设为65536)。docker system prune -a命令清理无用容器、镜像、网络和构建缓存,释放磁盘空间。/home目录、数据库文件),避免误删导致数据丢失;