V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
LeeReamond
V2EX  ›  问与答

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

  •  1
     
  •   LeeReamond · 2022-02-23 08:00:11 +08:00 · 2429 次点击
    这是一个创建于 786 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    注:
    可以修改 mysql 的设置,设置 performance_schema = OFF 可以降低一些内存。
    Suaxi
        5
    Suaxi  
       2022-02-23 09:29:34 +08:00
    之前试过 1G 内存,用 docker 跑 mysql 8.0 ,很难; pg 如果有用到 postgis 插件,数据量大了之后也很占内存
    LeeReamond
        6
    LeeReamond  
    OP
       2022-02-23 11:28:29 +08:00 via Android
    @Ariver 建议重读原标题,我的意思是,如果 docker 主服务占用内存不多,全部服务托管可以提高管理便利性,如果内存占用很多那就无法托管
    sampeng
        7
    sampeng  
       2022-02-23 16:19:28 +08:00
    @LeeReamond docker 最大的问题是会损耗 10-15%的性能,以及 java 在 docker 里面跑非常不友好。举个例子。。大多数 java 的程序平常跑的时候只需要 1-2 个核心的 10-30%。。但是他启动的时候需要 60%。这个时候写 limit 就会特别难受。。
    julyclyde
        8
    julyclyde  
       2022-02-25 11:32:55 +08:00
    @sampeng 啊?有这么高损耗吗?啥原理呢?
    sampeng
        9
    sampeng  
       2022-02-25 14:47:01 +08:00
    @julyclyde 损失 10-15%的性能忽略不计。。。docker 是用来方便管理的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5490 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 03:14 · PVG 11:14 · LAX 20:14 · JFK 23:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.