在GCE上使用cos-stable容器优化的操作系统。微实例,所以ram是相当稀疏的。已尝试启用交换以防止在docker拉取过程中由于OOM而锁定,但无法使其工作。
我意识到大多数文件夹都是无状态的,所以我将交换文件放在home下:
sudo fallocate -l 1G /home/user/swapfile
sudo chmod 600 /home/user/swapfile
sudo mkswap /home/user/swapfile结果如下:
Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
no label, UUID=6e965805-2ab9-450f-aed6-577e74089dbf但是sudo swapon /home/user/swapfile给出了错误:
swapon: /home/user/swapfile: swapon failed: Invalid argument有什么办法在COS上开启swap吗?
发布于 2019-10-30 04:10:11
COS镜像中关闭了基于磁盘的交换。您可以使用以下命令启用基于磁盘的交换
sysctl vm.disk_based_swap=1
我的cloud-init中有以下内容:
bootcmd:
- sysctl vm.disk_based_swap=1
- fallocate -l 1G /var/swapfile
- chmod 600 /var/swapfile
- mkswap /var/swapfile
- swapon /var/swapfile发布于 2019-10-03 23:18:14
容器优化的操作系统不支持交换
交换将有效地破坏Google在容器之间提供的大部分行为隔离。
保证的pod永远不应该需要交换。可爆裂的pods应该在不需要交换的情况下满足它们的请求。BestEffort pods不提供任何保证。
我强烈建议您使用更大的实例,因为f1-micro只有600MB内存,而且您仍然需要在添加了容器的实例上运行操作系统
https://stackoverflow.com/questions/58210222
复制相似问题