• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Aliberter
V2EX  ›  程序员

jvm 某个组件设置的使用堆外内存,但是 jvm 又部署在 docker 里,那这个堆外内存此时到底是什么?

  •  
  •   Aliberter · Feb 10, 2022 · 3051 views
    This topic created in 1730 days ago, the information mentioned may be changed or developed.

    是还会被限制在 docker 内的内存,还是会使用上物理机( docker 宿主机)的内存?

    9 replies  •  2022-02-16 16:15:49 +08:00
    cweijan
    cweijan
    Feb 10, 2022❤️1
    1
    肯定会被 Docker 设置的内存限制, 堆外内存只是申请不受 JVM 限制的内存, 如果系统内存不足, 那也申请不了.
    Tenlearn
    Tenlearn
    Feb 10, 2022
    2
    docker
    tanxnative
    tanxnative
    Feb 10, 2022❤️1
    3
    可以理解为: 使用容器的部分内存,堆外内存 != 超出 cgroup 的限制的内存
    F281M6Dh8DXpD1g2
    F281M6Dh8DXpD1g2
    Feb 10, 2022
    4
    docker 哪有自己的内存....
    ikas
    ikas
    Feb 10, 2022❤️3
    5
    新版本的 jdk8 或者更高的版本已经内置了容器支持..
    具体可以搜索 -XX:+UseContainerSupport -XX:MaxRAMPercentage 了解更多
    wzcloud
    wzcloud
    Feb 10, 2022❤️1
    6
    "堆外"内存是相对 JVM 的堆来说的,其实是容器的"内存",堆内存+堆外内存不能超过容器的内存限制.
    个人理解.
    SmiteChow
    SmiteChow
    Feb 11, 2022
    7
    禁止套娃
    Rorysky
    Rorysky
    Feb 11, 2022
    8
    docker 本身资源隔离 了 网络 内存 cpu 分片
    qingshuang
    qingshuang
    Feb 16, 2022
    9
    印象里 jdk8 为了支持 docker 专门做了次升级 之后才能识别出 docker 的内存限制
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2102 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 49ms · UTC 02:43 · PVG 10:43 · LAX 18:43 · JFK 21:43
    ♥ Do have faith in what you're doing.