Swap分区

  Swap分区(交换分区)是服务器内存不足时的应急机制,但其配置与使用存在诸多误区,不合理设置可能导致服务器性能骤降,甚至引发服务崩溃。多数运维默认按内存1.5倍配置Swap,这种一刀切的方式并不适配所有场景。

  Swap的核心作用是当物理内存耗尽时,将部分闲置进程内存置换到硬盘,释放物理内存供活跃进程使用。但硬盘读写速度远低于内存,过度依赖Swap会导致系统卡顿,因此Swap配置需结合服务器用途调整:内存小于8GB的轻量应用服务器,Swap可配置为内存的1-1.5倍;内存8-32GB的中型服务器,Swap配置为内存的0.5-1倍;内存大于32GB的高性能服务器,若应用优化良好,可配置1-4GB Swap用于应急,无需按比例配置。

  使用Swap常见误区需规避:一是认为Swap越大越好,过大Swap会导致系统优先使用Swap,忽视物理内存,降低运行效率;二是完全禁用Swap,虽可避免Swap带来的性能损耗,但物理内存耗尽时会直接触发OOM,导致核心进程被杀;三是Swap分区放置在机械硬盘,建议将Swap创建在SSD分区,提升内存置换速度。

  可通过sysctl命令调整Swap使用策略,设置vm.swappiness参数(取值0-100),值越低表示系统越倾向于使用物理内存,高并发服务建议设置为10-20,平衡性能与应急需求。