首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在GCE上的Google容器优化操作系统上启用交换/交换文件?

如何在GCE上的Google容器优化操作系统上启用交换/交换文件?
EN

Stack Overflow用户
提问于 2019-10-03 06:41:21
回答 2查看 1.3K关注 0票数 4

在GCE上使用cos-stable容器优化的操作系统。微实例,所以ram是相当稀疏的。已尝试启用交换以防止在docker拉取过程中由于OOM而锁定,但无法使其工作。

我意识到大多数文件夹都是无状态的,所以我将交换文件放在home下:

代码语言:javascript
复制
sudo fallocate -l 1G /home/user/swapfile
sudo chmod 600 /home/user/swapfile
sudo mkswap /home/user/swapfile

结果如下:

代码语言:javascript
复制
Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
no label, UUID=6e965805-2ab9-450f-aed6-577e74089dbf

但是sudo swapon /home/user/swapfile给出了错误:

代码语言:javascript
复制
swapon: /home/user/swapfile: swapon failed: Invalid argument

有什么办法在COS上开启swap吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-30 04:10:11

COS镜像中关闭了基于磁盘的交换。您可以使用以下命令启用基于磁盘的交换

sysctl vm.disk_based_swap=1

我的cloud-init中有以下内容:

代码语言:javascript
复制
bootcmd:
- sysctl vm.disk_based_swap=1
- fallocate -l 1G /var/swapfile
- chmod 600 /var/swapfile
- mkswap /var/swapfile
- swapon /var/swapfile
票数 10
EN

Stack Overflow用户

发布于 2019-10-03 23:18:14

容器优化的操作系统不支持交换

交换将有效地破坏Google在容器之间提供的大部分行为隔离。

保证的pod永远不应该需要交换。可爆裂的pods应该在不需要交换的情况下满足它们的请求。BestEffort pods不提供任何保证。

我强烈建议您使用更大的实例,因为f1-micro只有600MB内存,而且您仍然需要在添加了容器的实例上运行操作系统

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58210222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档