Linux Swap最佳配置需结合系统内存大小、应用场景及性能需求,核心要点如下:
物理内存大小 | 推荐Swap大小 | 场景说明 |
---|---|---|
≤2GB | 2倍物理内存(至少4GB) | 小内存设备必备,避免频繁OOM |
2GB~8GB | 等于物理内存 | 平衡模式,应对常规负载 |
8GB~64GB | 4GB~8GB(或按需调整) | 大内存场景,仅作应急缓冲 |
>64GB | 禁用或1GB~4GB | 依赖OOM Killer,减少磁盘I/O |
swappiness
(核心参数)
# 临时生效
sudo sysctl vm.swappiness=10
# 永久生效
echo "vm.swappiness=10" >> /etc/sysctl.conf
sudo sysctl -p
vfs_cache_pressure
创建Swap文件(如4GB):
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
永久生效:
echo '/swapfile none swap sw 0 0' >> /etc/fstab
free -h
或vmstat 1
观察si/so
(Swap In/Out)频率,若频繁交换需调整配置。参考来源: