如何在App Engine中灵活地更改/ dev / shm的大小
如何在App Engine Flexible应用程序中更改共享内存文件夹/dev/shm
的大小?
默认情况下,它被设置为64M,太低而无法运行多个应用程序(例如,chrome)。 我没有看到任何改变它的方法。 如果您有权访问docker run命令 ,则有方法可以更改它,但启动应用程序引擎灵活应用程序时,我们没有此类访问权限。
答:不。
不幸的是,这是不可能的(但?)与appengine。 这个问题已经不止一个人了。 出于某种原因,/ dev / shm的容器默认是非常小的。
…但还有其他的select
如果你想运行的进程能够configuration它使用的tmpfs的位置,那么你可以创build一个tmpfs,并简单地指向它。 铬不能做到这一点。
选项1
如果你想部署一个容器谷歌云,一个选项是使用容器引擎 。 然后,您可以像这样安装一个tmpfs卷给你的豆荚:
spec: volumes: - name: dshm emptyDir: medium: Memory containers: - image: gcr.io/project/image volumeMounts: - mountPath: /dev/shm name: dshm
Kubernetes的学习曲线相当陡峭,但它可以让你取消/ dev / shm上的限制。
选项2
有一个新function可以让你将容器部署到计算引擎 ,但是它目前是alpha版本,你需要申请才能将你的项目列入白名单来使用这个function。
选项3
当然,您可以通过使用COS(容器优化的操作系统)创build一个GCE实例,以更加手动的方式将容器部署到GCE中,
从飞机的评论更新
选项#4
如果目标是在应用引擎上灵活地运行一个完整的浏览器,那么在Docker中,新版本的Firefox将无处不在运行。
这是我从Google支持(支持ID 13757624)收到的答案:
我知道,如果可以在App Engine Flex中增加/ dev / shm的大小,您已经查询过。
不幸的是,这是不可能的。 由于Flex是被pipe理的虚拟机,所以维护默认值。 你可以尝试在你的dockerfile上手动创build一个命令来通过“sudo”来改变共享caching,但是不能保证,所以我不能说它可能会工作,如果你使用的是自定义运行时,那么还是值得一试。别无退路。