我从 Debian 10 升级到了 12(从 10->11->12),我注意到在我的服务器(具有 2GB RAM)上,mysql 时不时会 OOM 终止(在 Debian 10 中,我没有遇到任何 OOM 问题)。我计划添加更多 RAM(它是云中的虚拟专用服务器),但我还注意到默认情况下 Debian 尚未创建交换分区/文件:

free -h
               total        used        free      shared  buff/cache   available
Mem:           1.9Gi       804Mi       139Mi       6.0Mi       1.1Gi       1.1Gi
Swap:             0B          0B          0B

我还有其他装有 Ubuntu 的服务器,并且默认定义了交换分配(我不记得添加过它)。这不是 Debian 的默认设置吗?

现在我愿意添加交换分区,但我发现的大多数教程都创建交换文件,而分区是推荐的。你们能给出一些关于如何创建交换分区的说明吗?以及交换分区的大小应该是多少(我的 SDD 有 40GB)?

谢谢


最佳答案
1

一些参考资料:

  1. 在您的存储中创建一个“Linux swap”类型的分区(使用 fdisk)。
    fdisk /dev/sdX

    -> p > n > p > 1 > t > 1 > 82 > w

请务必小心,不要删除系统数据,并在“空白”空间中创建它。

  1. 将分区初始化为交换分区:

    mkswap /dev/sdX1

  2. 启用交换到交换分区:

    swapon /swapfile

此外,你可以考虑通过在 /etc/fstab 中添加以下内容使其在重启后保持不变:/dev/sdX1 swap swap defaults 0 0