Как включить swap / swapfile в оптимизированной для Google контейнере ОС на GCE? - PullRequest
0 голосов
/ 03 октября 2019

Использование оптимизированной ОС для контейнеров на GCE. Микро экземпляр, поэтому баран довольно скудный. Пытался включить подкачку, чтобы предотвратить блокировку из-за 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?

Спасибо

Ответы [ 2 ]

2 голосов
/ 29 октября 2019

В образе COS отключен обмен на диске. Вы можете включить дисковый обмен с помощью

sysctl vm.disk_based_swap=1

В моем облачном хранилище есть следующее:

bootcmd:
- sysctl vm.disk_based_swap=1
- fallocate -l 1G /var/swapfile
- chmod 600 /var/swapfile
- mkswap /var/swapfile
- swapon /var/swapfile
0 голосов
/ 03 октября 2019

Своп не поддерживается в ОС, оптимизированной для контейнеров

Своп эффективно разрушил бы большую часть поведенческой изоляции, которую Google предлагает между контейнерами.

Гарантированные пакеты никогда не требуют замены. Бустабильные стручки должны удовлетворять свои запросы без необходимости замены. Бобы BestEffort не имеют никаких гарантий.

Я настоятельно рекомендую вам использовать более крупный экземпляр, так как f1-micro имеет только 600 МБ ОЗУ, и вам все еще нужно запускать ОС на добавляемом экземпляре вместе с контейнерами

...