如何更改App Engine灵活应用中共享存储器文件夹/dev/shm
的大小?
默认情况下,它设置为64m,太低而无法运行许多应用程序(例如Chrome)。我看不到任何改变它的方法。如果您可以访问Docker Run命令,则有多种方法可以更改它,但是在启动App Engine灵活应用时,我们没有这样的访问。
a:否。
不幸的是,Appengine不可能(现在?)。超过少数人遇到了这个问题。由于某种原因,/dev/shm的容器默认值是疯狂的。
...但是还有其他选项
如果您要运行的进程具有配置其使用的TMPF的位置的能力,则可以创建一个TMPF,然后将其指向此处。铬不能这样做。
选项1
如果要将容器部署到Google Cloud,一个选项是使用容器引擎。然后,您可以将TMPFS卷安装到这样的吊舱中:
spec:
volumes:
- name: dshm
emptyDir:
medium: Memory
containers:
- image: gcr.io/project/image
volumeMounts:
- mountPath: /dev/shm
name: dshm
kubernetes的学习曲线相当陡峭,但它可以使您在/dev/shm上开开限制。
选项2
有一个新功能,可以使您可以部署容器来计算引擎,但是目前在Alpha中,您需要申请将您的项目列入白名单以使用此功能。
选项3
当然,您可以通过使用COS(容器优化OS)创建GCE实例来以更手动的方式部署容器来进行GCE
Speedplane的评论更新
选项#4
如果目标是在应用程序引擎上运行一个完整的浏览器,则新版本的Firefox在Docker中无头部运行。
这是我从Google支持中收到的答案(支持ID 13757624):
我知道您是否有可能增加 App Engine Flex中的/DEV/SHM的大小。
不幸的是,这是不可能的。由于flex是管理VM的 保持默认值。您可以尝试手动创建一个命令 在您的Dockerfile上,通过" sudo"更改共享缓存 没有保证,所以我不能说它可能起作用,仍然值得 鉴于您正在使用自定义运行时,请尝试尝试,否则没有 其他方式。