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

标签 swapfile google-container-os

在 GCE 上使用 cos-stable 容器优化的操作系统。微型实例因此 ram 非常稀疏。尝试启用交换以防止在 docker pull 期间由于 OOM 而锁定,但无法使其工作。

我意识到大多数文件夹都是无状态的,所以我将交换文件放在 home 下:
sudo fallocate -l 1G /home/user/swapfilesudo chmod 600 /home/user/swapfilesudo 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 上启用交换?

谢谢

最佳答案

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

关于swapfile - 如何在 GCE 上的 Google 容器优化操作系统上启用交换/交换文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58210222/

相关文章:

docker - 在Google Cloud实例上独立安装kubelet永久磁盘

android - 对启用交换 (swapon) 的 Android 设备的性能进行基准测试

kubernetes - 容器优化的OS k8s节点丢失了google-ip-forwarding-daemon.service IP

bash - 检查 bash 中是否存在交换空间

docker - COS 的/var/lib/docker 卷的 inode 不足

docker - COS : How do I restart a container that has a new image?

google-container-os - 有没有办法在 Google Container Optimized OS 上为 docker 日志指定文件大小限制?

digital-ocean - 在 CoreOS 云配置中执行命令(例如添加交换)

linux - Dotnet Core 将不会使用交换