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)频率,若频繁交换需调整配置。参考来源: