该服务器是否启用了交换?应该启用吗?

该服务器是否启用了交换?应该启用吗?

我们让系统管理员在 digitalocean 配置了几个服务器。在我看来,这台服务器上似乎没有启用交换分区,但我已经很久没有做过这样的事情了。这是一个 rails 应用程序,出现这种情况的唯一原因是我们遇到了内存不足错误。交换分区是否仍被视为现代 (3.2.13 rails 应用程序) 的最佳实践?我想是的。是否有一个简单的解决方法可以从命令行创建交换分区(主机有 2GB 的 RAM)?不是要求这样做,但希望得到一些指导。

我很乐意升级到 1GB 内存的服务器,每月只需多花 5 美元。

部署@x1:~$ sudo fdisk -l

磁盘 /dev/sda:42.9 GB,42949672960 字节,255 个磁头,63 个扇区/磁道,
5221 个磁柱,共计 83886080 个扇区 单位 = 扇区 1 * 512 =
512 字节扇区大小(逻辑/物理):512 字节/512 字节 I/O
大小(最小/最佳):512 字节 / 512 字节 磁盘标识符:0x00000000

磁盘 /dev/sda 不包含有效的分区表  
部署@x1:~$

我还应该担心最后一行不包含有效的分区表吗?

答案1

您可以随时通过运行以下命令来检查交换是否已启用:

swapon -s

(看man swapon了解详情。

这列出了当前启用的所有交换。如果运行该命令后没有输出,则表示交换未启用。大多数情况下,Ubuntu 系统只有一个交换分区,没有启用任何交换文件;如下所示:

ek@Kip:~$ swapon -s
Filename                Type        Size            Used         Priority
/dev/sda7               partition   4194300         1499712     -1

至于sudo fdisk -l告诉你Disk /dev/sda doesn't contain a valid partition table,这通常不会引起担忧。(特别是,这并不意味着没有启用交换。)

fdisk不支持某些构造——它不会将使用 LVM 或软件 RAID (md) 的磁盘识别为具有有效分区表。LVM 在服务器上非常常见。当您看到此警告时fdisk -l,请parted -l改为运行:

sudo parted -l

parted更有可能识别和报告此类构造。

相关内容