当cache缓存占用太大,服务起不来,需要查看清理缓存
执行
free -m
或者
free -h
,查看缓存
root@iZuf69hjyg1f5yaol020twZ:~# free -m
total used free shared buff/cache available
Mem: 15095409710584241310731
Swap: 000
root@iZuf69hjyg1f5yaol020twZ:~# free -h
total used free shared buff/cache available
Mem: 14Gi 4.0Gi 10Gi 2.0Mi 414Mi 10Gi
Swap: 0B 0B 0B
**📋 释放缓存区内存的方法(
请注意,以下操作需要root权限
)**
建议在清理缓存之前先备份重要数据,以免发生意外情况。
- 清理磁盘缓存- 刷新文件系统缓存,将缓存中的数据写入磁盘。
sync
- 清理页缓存。这将清除页缓存中的数据,但不会清除目录项和inode缓存。echo1> /proc/sys/vm/drop_caches 或者 sysctl -w vm.drop_caches=1
- 清理目录项和inode缓存echo2> /proc/sys/vm/drop_caches 或者 sysctl -w vm.drop_caches=2
- 命令清理页缓存、目录项和inode缓存echo3> /proc/sys/vm/drop_caches 或者 sysctl -w vm.drop_caches=3
- 清理Swap缓存:- 如果系统启用了Swap分区,可以通过禁用和启用Swap来清理Swap缓存。首先,使用
swapoff
命令禁用Swap分区:sudo swapoff -a
。然后,再使用swapon
命令重新启用Swap分区:sudo swapon -a
。 - 清理DNS缓存:- 不同的Linux发行版可能使用不同的DNS解析器,因此清理DNS缓存的方法也不尽相同。以下是一些常见的方法: - 在大多数发行版中,可以使用
systemd-resolve
命令清理DNS缓存:sudo systemd-resolve --flush-caches
。- 如果使用dnsmasq作为本地DNS缓存服务器,可以使用以下命令清理缓存:sudo systemctl restart dnsmasq
。
请注意,清理缓存可能会导致一些性能下降,因为系统需要重新加载数据。只有在特定情况下(如系统性能问题或特定应用程序需要刷新缓存)才建议清理缓存。在正常情况下,Linux会自动管理缓存以提供最佳性能。
版权归原作者 AloneMou 所有, 如有侵权,请联系我们删除。