Linux 系统采用了一种高效的内存管理策略,主要包含以下几个部分:
Linux 的设计理念是"空闲的内存就是浪费的内存",因此会尽可能利用可用内存来缓存数据以提高性能。
free -h
输出示例:
total used free shared buff/cache available
Mem: 15Gi 4.2Gi 1.3Gi 123Mi 9.5Gi 10Gi
Swap: 2.0Gi 0.0Gi 2.0Gi
sync && echo 1 > /proc/sys/vm/drop_caches
sync && echo 2 > /proc/sys/vm/drop_caches
sync && echo 3 > /proc/sys/vm/drop_caches
swapoff -a && swapon -a
如果需要永久修改内存相关参数,可以编辑 /etc/sysctl.conf
文件:
# 降低 swappiness (减少使用swap的倾向,0-100,值越小越倾向使用物理内存)
vm.swappiness = 10
# 提高 vfs_cache_pressure (提高回收cache的倾向,默认100)
vm.vfs_cache_pressure = 150
应用修改:
sysctl -p
记住,Linux 的内存管理机制通常比人工干预更高效,手动释放缓存应作为最后手段而非常规操作。