如何调试Flink应用程序的内存和垃圾回收?

Ori*_*iol 5 debugging memory-management apache-flink

我正在使用Flink 1.1.4并添加flink-conf.yaml了内存调试的配置参数,如内存和性能调试中所述:

taskmanager.debug.memory.startLogThread: true
taskmanager.debug.memory.logIntervalMs: 1000
Run Code Online (Sandbox Code Playgroud)

重新启动Flink后,我看到新的参数已添加到作业管理器界面,但我无法看到任何新日志.

关于我可能缺少什么的任何想法?

Den*_*din 0

看来这个问题已经在这个邮件列表中解决了

关键摘录,包括确认准确设置已成功测试的摘录:

这才是正确的做法。日志记录必须至少为 INFO 并且参数“taskmanager.debug.memory.startLogThread”设置为 true。日志输出应位于“org.apache.flink.runtime.taskmanager.TaskManager”下。

您在日志中看到该类的其他输出吗?

确保在更改配置文件后重新启动了 TaskManager 进程。

其他人只是使用内存记录和精确描述的设置 - 它有效。

可能存在一些混淆,您可能正在查看错误的日志文件,或者可能在不同的配置中设置 a 值...

如何启动flink集群?如果它是一个独立集群并且您不使用共享目录,那么您将在运行任务管理器的计算机上找到任务管理器的日志。如果您使用 YARN,那么您可以激活日志聚合,以便在作业完成后轻松检索日志。