swapoff 失败:无法分配内存

swapoff 失败:无法分配内存

服务器的输出显示以下内容:

 # free -h
             total       used       free     shared    buffers     cached
Mem:          7.7G       7.6G       123M       156K       1.8M       248M
-/+ buffers/cache:       7.3G       373M
Swap:           9G       4.9G       5.1G

我试图关闭交换但无法做到!

#swapoff /dev/dm-1
swapoff: /dev/dm-1: swapoff failed: Cannot allocate memory

然后,为了解决这个问题,我做了:
步骤1:我尝试创建一个新的交换文件:/home/swap,大小为 2G:

# dd if=/dev/zero of=/home/swap bs=1024 count=2097152
# mkswap /home/swap
# swapon /home/swap

**步骤 2:**我尝试禁用主交换因为我已经创建了一个新的交换文件:/home/swap(但再次出现错误)

# swapoff /dev/dm-1
swapoff: /dev/dm-1: swapoff failed: Cannot allocate memory

当我尝试查看新创建的交换文件是否实际正在使用交换时:它什么也没有显示!为什么??

# swapon -s
Filename                                Type            Size    Used    Priority
/dev/dm-1                               partition       8388604 5129864 -1
/home/swap                              file            2097148 0       -2

上述问题有解决办法吗?

答案1

您的 RAM 不足。您的机器之所以能够存活,是因为您使用了交换文件(即使用硬盘驱动器作为额外的伪 RAM),但 Kubernetes 不支持此功能,因此它尝试关闭此功能,但由于 RAM 不足而失败。

相关内容