我知道 -XX:NewSize 是 JVM 的参数。 我的意思是说,Flink 并没有自动地去设置 JVM 的这个参数,你是从哪里看到这个参数被设置成了 2442764288 的呢?
Thank you~ Xintong Song On Thu, Jan 2, 2020 at 10:03 AM pengchenglin <[email protected]> wrote: > 这个是jdk的参数,可以通过flink的env.java.opts配置 > > 发件人: Xintong Song > 发送时间: 2020-01-02 09:54 > 收件人: user-zh > 主题: Re: flink内存分配的问题 > 我不确定你说的 -XX:NewSize=2442764288 是从哪里看到的,据我所知 flink 似乎没有设置这个参数。另外你用的 flink > 版本是哪个版本? > > Thank you~ > > Xintong Song > > > > On Tue, Dec 31, 2019 at 8:52 PM cs <[email protected]> wrote: > > > 谢谢您的回答,我还有个问题想请教下 > > 当tm的内存超过一定大小,-XX:NewSize的大小都是一样的 > > 例如tm设置15G -XX:NewSize=2442764288 > > tm设置20G 新生代还是 -XX:NewSize=2442764288 > > 这是为什么呢? > > > > > > > > > > ------------------ 原始邮件 ------------------ > > 发件人: "Xintong Song"<[email protected]>; > > 发送时间: 2019年12月31日(星期二) 晚上6:10 > > 收件人: "user-zh"<[email protected]>; > > > > 主题: Re: flink内存分配的问题 > > > > > > > > FLINK TM 中是用到了大量的堆外内存的,除了通常意义的 JVM 的栈空间、方法区等堆外开销外,还包括网络 buffer、batch > > 缓存、RocksDB等。 > > > > > 默认配置是相对保守,为了保证大多数情况下预留出足够的堆外内存。具体是否设置过大了,要看具体运行的作业的情况。可以尝试通过配置'containerized.heap-cutoff-ratio'进行调整。 > > > > 另外,即将发布的flink 1.10版本中对TM的内存计算进行了优化,不再采用cutoff而是根据用途列出了更具体的配置项,欢迎试用 > > > > Thank you~ > > > > Xintong Song > > > > > > > > On Tue, Dec 31, 2019 at 5:53 PM cs <[email protected]> wrote: > > > > > taskmanager的内存设置为15G但实际的heap只有10G > > > 看了tm内存分配的源码1.计算cutoff(15GB * 0.25) 2.计算heap大小(heap计算的入参是15GB - > > cutoff大小) > > > 3.计算offheap大小(offheap的大小等于15GB-heap大小) > > > offheap就是最终的-XX:MaxDirectMemorySize的大小 > > > 想请教下MaxDirectMemorySize的大小有必要设置这么大吗? >
