有关 docker 主服务会占用多少内存

2022-02-23 08:00:11 +08:00
 LeeReamond

1G 内存的虚拟机,跑了个 ubuntu 系统,上面还有 mysql ,感觉内存有些捉襟见肘了,干什么都不方便。想知道有没有大佬观察过 docker 主服务占用内存的情况,是否将 mysql 等等所有服务全迁移到 docker 里会用起来更方便一些

2634 次点击
所在节点    问与答
10 条回复
Ariver
2022-02-23 08:12:24 +08:00
呃,docker 并没有节省内存的功能。
des
2022-02-23 08:38:44 +08:00
塞到 docker 并不会节省你的内存
不过你可以试试换成 Postgres ,据说这个比较省内存
plko345
2022-02-23 08:40:34 +08:00
好像至少会占 100 多 M ,有的服务器上更多,可能和容器数量有关,现在有 podman 什么的,可以不需要用 docker daemon
vicalloy
2022-02-23 09:18:29 +08:00
mysql 的默认配置非常耗内存,刚启动的内存占用就要近 400M 。
相对来说 postgresql 的内存占用率要低很多,小内存可以考虑用 postgresql 。

注:
可以修改 mysql 的设置,设置 performance_schema = OFF 可以降低一些内存。
Suaxi
2022-02-23 09:29:34 +08:00
之前试过 1G 内存,用 docker 跑 mysql 8.0 ,很难; pg 如果有用到 postgis 插件,数据量大了之后也很占内存
LeeReamond
2022-02-23 11:28:29 +08:00
@Ariver 建议重读原标题,我的意思是,如果 docker 主服务占用内存不多,全部服务托管可以提高管理便利性,如果内存占用很多那就无法托管
sampeng
2022-02-23 16:19:28 +08:00
@LeeReamond docker 最大的问题是会损耗 10-15%的性能,以及 java 在 docker 里面跑非常不友好。举个例子。。大多数 java 的程序平常跑的时候只需要 1-2 个核心的 10-30%。。但是他启动的时候需要 60%。这个时候写 limit 就会特别难受。。
julyclyde
2022-02-25 11:32:55 +08:00
@sampeng 啊?有这么高损耗吗?啥原理呢?
sampeng
2022-02-25 14:47:01 +08:00
@julyclyde 损失 10-15%的性能忽略不计。。。docker 是用来方便管理的
gosky
130 天前
command: mysqld --skip-performance-schema --skip-mysqlx --innodb-buffer-pool-size=64M
可以节省一部分内存

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/835804

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX