服务器的输出显示以下内容:
# 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 不足而失败。