Linux系统缓存清理步骤
导读:Linux系统缓存清理步骤 1. 清理前准备:查看内存与缓存状态 在清理缓存前,建议先通过以下命令了解系统内存使用情况,确认是否需要清理: free -h:以易读格式(GB/MB)显示内存总量、已用内存、空闲内存及缓存(buffers/c...
Linux系统缓存清理步骤
1. 清理前准备:查看内存与缓存状态
在清理缓存前,建议先通过以下命令了解系统内存使用情况,确认是否需要清理:
free -h
:以易读格式(GB/MB)显示内存总量、已用内存、空闲内存及缓存(buffers/cache)占用情况。vmstat 1
:每秒更新一次系统虚拟内存统计信息,包括内存使用、进程状态、缓存变化等。top
/htop
:实时显示进程内存占用排名,帮助识别内存消耗大的进程(如htop
需安装,命令:sudo apt install htop
)。
2. 清理页面缓存(PageCache)
页面缓存用于加速文件读取,清理后系统会重新从磁盘加载常用文件到缓存。
命令:
sudo sync &
&
sudo echo 1 >
/proc/sys/vm/drop_caches
sync
:将未写入磁盘的缓存数据同步到磁盘,避免数据丢失。echo 1 > /proc/sys/vm/drop_caches
:仅清理页面缓存。
3. 清理目录项(dentry)与inode缓存
目录项缓存(dentry)和inode缓存用于加速文件查找(如ls
、cd
命令),清理后可释放用于存储文件路径和索引的内存。
命令:
sudo sync &
&
sudo echo 2 >
/proc/sys/vm/drop_caches
echo 2 > /proc/sys/vm/drop_caches
:仅清理dentry和inode缓存。
4. 清理所有缓存(页面+目录项+inode)
若需一次性清理所有类型的缓存,可使用以下命令:
sudo sync &
&
sudo echo 3 >
/proc/sys/vm/drop_caches
echo 3 > /proc/sys/vm/drop_caches
:同时清理页面缓存、dentry缓存和inode缓存(最常用)。
5. 清理包管理器缓存
包管理器的缓存(如APT、YUM)会存储下载的安装包,长期积累会占用大量磁盘空间:
- Debian/Ubuntu(APT):
sudo apt-get clean # 清理所有下载的安装包 sudo apt-get autoclean # 清理旧的安装包(仅保留当前版本的缓存)
- RHEL/CentOS(YUM/DNF):
sudo yum clean all # 清理YUM缓存(包括下载的安装包、元数据) sudo dnf clean all # 清理DNF缓存(Fedora/RHEL 8+)
6. 清理用户级缓存
用户主目录下的缓存文件(如浏览器缓存、应用程序临时文件)也会占用空间:
- 清理临时文件:
sudo rm -rf /tmp/* # 清理系统临时目录(需root权限) rm -rf ~/.cache/* # 清理当前用户的缓存(如浏览器、软件缓存) rm -rf ~/.local/share/Trash/* # 清理回收站的文件
- 图形化工具:
- BleachBit(跨平台):支持清理缓存、日志、剪贴板等,安装命令:
- Debian/Ubuntu:
sudo apt install bleachbit
- RHEL/CentOS:
sudo yum install bleachbit
- 运行后选择“清理”即可。
- Debian/Ubuntu:
- Ubuntu Cleaner(专为Ubuntu设计):清理APT缓存、缩略图、未使用的包,安装命令:
sudo add-apt-repository ppa:gerardpuig/ppa sudo apt update sudo apt install ubuntu-cleaner
- BleachBit(跨平台):支持清理缓存、日志、剪贴板等,安装命令:
7. 定时自动清理(可选)
若需定期自动清理缓存,可将命令添加到cron
作业中:
- 编辑
crontab
:sudo crontab -e
- 添加以下行(每天凌晨2点清理所有缓存):
0 2 * * * root sync & & echo 3 > /proc/sys/vm/drop_caches
注意事项
- 性能影响:清理缓存会导致系统重新加载数据,短期内可能降低性能(如文件读取变慢),建议在低峰时段(如深夜)执行。
- 生产环境谨慎操作:频繁清理缓存会影响系统稳定性,若系统频繁出现内存不足,应优先考虑扩容内存或优化应用程序(如减少内存泄漏)。
- 数据安全:
sync
命令可避免数据丢失,但仍需避免在文件写入过程中清理缓存(如数据库备份时)。 - 永久生效配置:若需永久开启某类缓存清理,可编辑
/etc/sysctl.conf
文件,添加对应参数(如vm.drop_caches=3
),然后执行sudo sysctl -p
生效(需谨慎,可能影响系统性能)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux系统缓存清理步骤
本文地址: https://pptw.com/jishu/734033.html