Назад | Перейти на главную страницу

CoreOS использует большое количество оперативной памяти для tmpfs

Я использую последнюю версию CoreOS AMI (ami-0fc25a0b6bd986d03 подробности) на маленьком t2.nano пример.

У этого экземпляра всего 500 МБ памяти. К сожалению, CoreOS сразу потребляет ~ 240 МБ для tmpfs, который затем монтируется в /tmp как показано ниже. Кажется, это полностью съедает мою shared память и я не могу запускать контейнеры. Есть ли способ уменьшить его размер? Или, возможно, каким-то образом смонтировать / tmp в корневую файловую систему?

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

$ free -h
              total        used        free      shared  buff/cache   available
Mem:          479Mi       232Mi       7.0Mi       199Mi       238Mi        34Mi
Swap:            0B          0B          0B

$ df -h
Filesystem       Size  Used Avail Use% Mounted on
devtmpfs         219M     0  219M   0% /dev
tmpfs            240M     0  240M   0% /dev/shm
tmpfs            240M  488K  240M   1% /run
tmpfs            240M     0  240M   0% /sys/fs/cgroup
/dev/xvda9        14G  2.8G  9.9G  22% /
/dev/mapper/usr  985M  791M  143M  85% /usr
none             240M  200M   41M  84% /run/torcx/unpack
tmpfs            240M     0  240M   0% /media
tmpfs            240M     0  240M   0% /tmp
/dev/xvda6       108M  112K   99M   1% /usr/share/oem
/dev/xvda1       127M   53M   74M  42% /boot
tmpfs             48M     0   48M   0% /run/user/500

Изменить: возможно, актуально, RancherOS, по-видимому, требует минимум 1 ГБ для запуска, хотя их GitHub обсуждает значения от 512 МБ до 2 ГБ. Мне непонятно, почему эти «крошечные ОС» имеют такие относительно высокие потребности в оперативной памяти. Для контекста минимальный размер Debian составляет 256 МБ при автономной установке.

Это из-за torcx, который позволяет вам выбрать нужную версию Docker в системе. torcx распаковывает выбранный образ Docker в файл tmpfs. Это технически возможно обойти, например отключив torcx и предоставив собственную среду выполнения контейнера, но официально не поддерживаемых способов сделать это.