You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by 吴先生 <15...@163.com> on 2023/03/02 11:14:31 UTC
Flink内存问题
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.
请问:
该如何排查及优化
| |
吴先生
|
|
15951914547@163.com
|
回复: Flink内存问题
Posted by 吴先生 <15...@163.com>.
感谢,我看下
| |
吴先生
|
|
15951914547@163.com
|
---- 回复的原邮件 ----
| 发件人 | Weihua Hu<hu...@gmail.com> |
| 发送日期 | 2023年3月3日 10:37 |
| 收件人 | <us...@flink.apache.org> |
| 主题 | Re: Flink内存问题 |
Hi,
针对问题 2, 可以增加下列环境变量来排除 Glibc 的问题,详情可以参考[1]
containerized.master.env.MALLOC_ARENA_MAX: 1
containerized.taskmanager.env.MALLOC_ARENA_MAX: 1
[1]
https://nightlies.apache.org/flink/flink-docs-master/docs/deployment/memory/mem_trouble/
Best,
Weihua
On Thu, Mar 2, 2023 at 8:10 PM 吴先生 <15...@163.com> wrote:
Hi,
目前分析问题应该在堆外,大概率是managed和overhead这两部分,这两部分的内存分配比例都是默认配置,通过网上的相关资料来看有两种解决方案:
1、调大managed和overhead这两块的内存比例,
问题:调整多大合适?是否调整之后还会持续增长
2、还有另一种说法是glibc内存分配器有个64M的问题引起(这里可有深入研究),替换为jemalloc可避免
问题:有具体的知道方案吗
| |
吴先生
|
|
15951914547@163.com
|
---- 回复的原邮件 ----
| 发件人 | Shammon FY<zj...@gmail.com> |
| 发送日期 | 2023年3月2日 19:24 |
| 收件人 | <us...@flink.apache.org> |
| 主题 | Re: Flink内存问题 |
Hi
如果有搜集metrics,可以根据metrics查看一下是哪部分内存上涨导致container被kill掉;然后将上涨比较快的container内存dump一下,查看具体是哪些对象占用内存比较多
Best,
Shammon
On Thu, Mar 2, 2023 at 7:14 PM 吴先生 <15...@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.
请问:
该如何排查及优化
| |
吴先生
|
|
15951914547@163.com
|
Re: Flink内存问题
Posted by Weihua Hu <hu...@gmail.com>.
Hi,
针对问题 2, 可以增加下列环境变量来排除 Glibc 的问题,详情可以参考[1]
containerized.master.env.MALLOC_ARENA_MAX: 1
containerized.taskmanager.env.MALLOC_ARENA_MAX: 1
[1]
https://nightlies.apache.org/flink/flink-docs-master/docs/deployment/memory/mem_trouble/
Best,
Weihua
On Thu, Mar 2, 2023 at 8:10 PM 吴先生 <15...@163.com> wrote:
> Hi,
> 目前分析问题应该在堆外,大概率是managed和overhead这两部分,这两部分的内存分配比例都是默认配置,通过网上的相关资料来看有两种解决方案:
> 1、调大managed和overhead这两块的内存比例,
> 问题:调整多大合适?是否调整之后还会持续增长
> 2、还有另一种说法是glibc内存分配器有个64M的问题引起(这里可有深入研究),替换为jemalloc可避免
> 问题:有具体的知道方案吗
>
>
> | |
> 吴先生
> |
> |
> 15951914547@163.com
> |
> ---- 回复的原邮件 ----
> | 发件人 | Shammon FY<zj...@gmail.com> |
> | 发送日期 | 2023年3月2日 19:24 |
> | 收件人 | <us...@flink.apache.org> |
> | 主题 | Re: Flink内存问题 |
> Hi
>
>
> 如果有搜集metrics,可以根据metrics查看一下是哪部分内存上涨导致container被kill掉;然后将上涨比较快的container内存dump一下,查看具体是哪些对象占用内存比较多
>
> Best,
> Shammon
>
>
> On Thu, Mar 2, 2023 at 7:14 PM 吴先生 <15...@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.
> 请问:
> 该如何排查及优化
>
>
> | |
> 吴先生
> |
> |
> 15951914547@163.com
> |
>
回复: Flink内存问题
Posted by 吴先生 <15...@163.com>.
Hi,
目前分析问题应该在堆外,大概率是managed和overhead这两部分,这两部分的内存分配比例都是默认配置,通过网上的相关资料来看有两种解决方案:
1、调大managed和overhead这两块的内存比例,
问题:调整多大合适?是否调整之后还会持续增长
2、还有另一种说法是glibc内存分配器有个64M的问题引起(这里可有深入研究),替换为jemalloc可避免
问题:有具体的知道方案吗
| |
吴先生
|
|
15951914547@163.com
|
---- 回复的原邮件 ----
| 发件人 | Shammon FY<zj...@gmail.com> |
| 发送日期 | 2023年3月2日 19:24 |
| 收件人 | <us...@flink.apache.org> |
| 主题 | Re: Flink内存问题 |
Hi
如果有搜集metrics,可以根据metrics查看一下是哪部分内存上涨导致container被kill掉;然后将上涨比较快的container内存dump一下,查看具体是哪些对象占用内存比较多
Best,
Shammon
On Thu, Mar 2, 2023 at 7:14 PM 吴先生 <15...@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.
请问:
该如何排查及优化
| |
吴先生
|
|
15951914547@163.com
|
Re: Flink内存问题
Posted by Shammon FY <zj...@gmail.com>.
Hi
如果有搜集metrics,可以根据metrics查看一下是哪部分内存上涨导致container被kill掉;然后将上涨比较快的container内存dump一下,查看具体是哪些对象占用内存比较多
Best,
Shammon
On Thu, Mar 2, 2023 at 7:14 PM 吴先生 <15...@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.
> 请问:
> 该如何排查及优化
>
>
> | |
> 吴先生
> |
> |
> 15951914547@163.com
> |