若系统频繁内存不足、响应迟缓或被OOM Killer终止,说明物理内存紧张且Swap配置不合理;需依次检查Swap状态、创建Swap文件、调整swappiness、禁用无效Swap、配置多设备优先级。

如果系统在运行过程中频繁出现内存不足、响应迟缓甚至进程被 OOM Killer 终止的现象,则可能是物理内存资源紧张且 Swap 交换分区配置不合理所致。以下是针对 Swap 交换分区进行设置与调优的具体操作步骤:
一、确认当前 Swap 状态
了解系统当前是否启用了 Swap、其类型(文件或分区)、大小及使用率,是后续调优的前提。通过系统命令可快速获取这些信息。
1、执行 swapon --show 查看已启用的 Swap 设备及其优先级、类型和大小。
2、运行 free -h 观察总 Swap 容量与已用容量,确认是否处于高占用状态。
3、使用 cat /proc/swaps 验证 Swap 文件或分区的挂载路径与优先级数值。
二、创建基于文件的 Swap 空间
当系统未分配 Swap 或现有 Swap 容量过小,且无法新增物理分区时,可安全地创建一个 Swap 文件作为补充。该方法无需重启,适用于大多数现代 Linux 发行版。
1、使用 fallocate -l 2G /swapfile 快速分配一块 2GB 的空闲磁盘空间(可根据实际内存规模调整,如 4GB 或 8GB)。
2、执行 chmod 600 /swapfile 设置严格权限,防止非 root 用户读取敏感页数据。
3、运行 mkswap /swapfile 将该文件格式化为 Swap 类型。
4、输入 swapon /swapfile 立即启用该 Swap 文件。
5、向 /etc/fstab 追加一行 /swapfile none swap sw 0 0,确保重启后自动挂载。
三、调整 Swap 使用倾向性(swappiness)
swappiness 是内核参数,控制内存页换出到 Swap 的积极程度,取值范围为 0–100。数值越低,内核越倾向于保留页面在物理内存中;过高则导致过早换出,影响性能。
1、查看当前值:执行 cat /proc/sys/vm/swappiness。
2、临时修改为 10(适用于桌面或通用服务器):运行 sysctl vm.swappiness=10。
这款 AI 智能翻译外贸多语言保健品化妆品独立站源码是zancms专为外贸化妆品企业量身定制。它由 zancms 外贸独立站系统 基于化妆品出口企业的独特需求进行研发设计,对各类智能产品企业的出口业务拓展同样大有裨益。其具备显著的语言优势,采用英文界面呈现,且内置智能 AI 翻译功能,在获得商业授权后更可开启多语言模式,充分满足不同地区用户的语言需求,并且整个网站的架构与布局完全依照国外用户的阅读
3、永久生效:向 /etc/sysctl.conf 添加 vm.swappiness=10 行,并执行 sysctl -p 重载配置。
4、对于内存充足(≥32GB)且运行延迟敏感服务(如数据库、实时计算)的系统,可设为 vm.swappiness=1,仅在极端内存压力下启用 Swap。
四、禁用并移除无效 Swap 设备
当存在多个 Swap 分区或文件、部分已损坏或不再需要时,应先安全停用再删除,避免因残留配置引发挂载失败或启动错误。
1、列出所有 Swap:执行 swapon --show=NAME,TYPE,SIZE,USED,PRIORITY。
2、停用指定设备:运行 swapoff /dev/sdb2 或 swapoff /swapfile_old。
3、确认已卸载:再次执行 swapon --show,确保目标设备不再显示。
4、删除 Swap 文件:执行 rm /swapfile_old;若为独立分区,需从 /etc/fstab 中彻底删除对应条目。
五、配置多 Swap 设备优先级
系统支持同时启用多个 Swap 设备,内核依据优先级(priority)决定写入顺序。高优先级设备优先使用,有助于将频繁访问的 Swap 数据集中在高速存储(如 NVMe SSD)上,而低速设备(如 HDD)作为后备。
1、停用全部 Swap:执行 swapoff -a。
2、为高速设备启用高优先级:运行 swapon -p 100 /dev/nvme0n1p3。
3、为低速设备启用低优先级:执行 swapon -p 10 /dev/sdc1。
4、验证优先级设置:使用 swapon --show=priority 确认各设备优先级已正确应用。
5、在 /etc/fstab 中对应行末尾添加 pri=100 或 pri=10 参数,确保重启后持久生效。









