Hi,
目前分析问题应该在堆外,大概率是managed和overhead这两部分,这两部分的内存分配比例都是默认配置,通过网上的相关资料来看有两种解决方案:
1、调大managed和overhead这两块的内存比例,
问题:调整多大合适?是否调整之后还会持续增长
2、还有另一种说法是glibc内存分配器有个64M的问题引起(这里可有深入研究),替换为jemalloc可避免
问题:有具体的知道方案吗


| |
吴先生
|
|
15951914...@163.com
|
---- 回复的原邮件 ----
| 发件人 | Shammon FY<zjur...@gmail.com> |
| 发送日期 | 2023年3月2日 19:24 |
| 收件人 | <user-zh@flink.apache.org> |
| 主题 | Re: Flink内存问题 |
Hi

如果有搜集metrics,可以根据metrics查看一下是哪部分内存上涨导致container被kill掉;然后将上涨比较快的container内存dump一下,查看具体是哪些对象占用内存比较多

Best,
Shammon


On Thu, Mar 2, 2023 at 7:14 PM 吴先生 <15951914...@163.com> wrote:

Hi,
Flink版本:1.12
部署模式:on yarn per-job
开发方式:DataStream Api
状态后端:RocksDB
Job逻辑为一个15分钟的窗口计算,任务在运行一段时间后会出现内存使用超限,container被yarn
kill的现象,目前有不少任务都会存在类似问题:
Closing TaskExecutor connection container_e02_1654567136606_1034_01_000012
because: [2023-03-02 08:12:44.794]Container
[pid=11455,containerID=container_e02_1654567136606_1034_01_000012] is
running 745472B beyond the 'PHYSICAL' memory limit. Current usage: 8.0 GB
of 8 GB physical memory used; 10.0 GB of 40 GB virtual memory used. Killing
container.
请问:
该如何排查及优化


| |
吴先生
|
|
15951914...@163.com
|

回复