1G 内存的虚拟机,跑了个 ubuntu 系统,上面还有 mysql ,感觉内存有些捉襟见肘了,干什么都不方便。想知道有没有大佬观察过 docker 主服务占用内存的情况,是否将 mysql 等等所有服务全迁移到 docker 里会用起来更方便一些
1
Ariver 2022-02-23 08:12:24 +08:00
呃,docker 并没有节省内存的功能。
|
2
des 2022-02-23 08:38:44 +08:00 via iPhone
塞到 docker 并不会节省你的内存
不过你可以试试换成 Postgres ,据说这个比较省内存 |
3
plko345 2022-02-23 08:40:34 +08:00 via Android 1
好像至少会占 100 多 M ,有的服务器上更多,可能和容器数量有关,现在有 podman 什么的,可以不需要用 docker daemon
|
4
vicalloy 2022-02-23 09:18:29 +08:00
mysql 的默认配置非常耗内存,刚启动的内存占用就要近 400M 。
相对来说 postgresql 的内存占用率要低很多,小内存可以考虑用 postgresql 。 注: 可以修改 mysql 的设置,设置 performance_schema = OFF 可以降低一些内存。 |
5
Suaxi 2022-02-23 09:29:34 +08:00
之前试过 1G 内存,用 docker 跑 mysql 8.0 ,很难; pg 如果有用到 postgis 插件,数据量大了之后也很占内存
|
6
LeeReamond OP @Ariver 建议重读原标题,我的意思是,如果 docker 主服务占用内存不多,全部服务托管可以提高管理便利性,如果内存占用很多那就无法托管
|
7
sampeng 2022-02-23 16:19:28 +08:00
@LeeReamond docker 最大的问题是会损耗 10-15%的性能,以及 java 在 docker 里面跑非常不友好。举个例子。。大多数 java 的程序平常跑的时候只需要 1-2 个核心的 10-30%。。但是他启动的时候需要 60%。这个时候写 limit 就会特别难受。。
|
10
gosky 137 天前
command: mysqld --skip-performance-schema --skip-mysqlx --innodb-buffer-pool-size=64M
可以节省一部分内存 |