在 Linux 系统中,可以通过以下方法安全地清除内存缓存、缓冲区和交换空间。请注意,这些操作通常不需要手动执行,系统会自动管理内存资源。但在特殊情况下(如测试或性能调优),可以按需操作:
sync; echo 1 > /proc/sys/vm/drop_caches
sync
:确保所有未写入磁盘的数据先被保存echo 1
:仅清除 PageCachesync; echo 2 > /proc/sys/vm/drop_caches
sync; echo 3 > /proc/sys/vm/drop_caches
swapoff -a && swapon -a
sync; echo 2 > /proc/sys/vm/drop_caches # 包含缓冲区清除
sudo
或 root 用户执行。/etc/sysctl.conf
:
bash
vm.drop_caches = 1
然后运行 sysctl -p
生效。free -h
观察 buff/cache
和 swap
字段的变化。
sysctl
命令sysctl -w vm.drop_caches=1
通过以上方法,你可以按需管理 Linux 系统的内存使用。