CoreOS tmpfs 占用大量内存

CoreOS tmpfs 占用大量内存

我正在使用最新的 CoreOS AMI (ami-0fc25a0b6bd986d03 详细信息) 在一个小的t2.nano实例上。

此实例只有 500MB 内存。不幸的是,CoreOS 立即为 tmpfs 消耗了约 240MB,然后挂载到该 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 似乎需要至少 1GB 才能启动,尽管他们的 GitHub 讨论了从 512MB 到 2GB 的值。我不明白为什么这些“微型操作系统”有如此相对较高的 RAM 需求。作为背景,Debian 在无头安装上最低为 256MB

答案1

这是因为托克斯,它允许您选择系统上所需的 Docker 版本。torcx 将选定的 Docker 映像解压到 tmpfs 中。从技术上讲,可以解决这个问题,例如通过禁用 torcx 并提供您自己的容器运行时,但目前没有任何官方支持的方法可以做到这一点。

相关内容