[ https://issues.apache.org/jira/browse/FLINK-2235?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14596099#comment-14596099 ]
Maximilian Michels commented on FLINK-2235: ------------------------------------------- Actually, I think the explanation is simple. The doc string for Runtime.maxMemory(): {noformat} * Returns the maximum amount of memory that the Java virtual machine will * attempt to use. If there is no inherent limit then the value {@link * java.lang.Long#MAX_VALUE} will be returned. {noformat} So it returned {{Long.MAX_VALUE}} because it found "no inherent limit". As a quick fix, I would simply check if the returned value is equal to {{Long.MAX_VALUE}} and then simply use {{Runtime.freeMemory()}} instead of {{Runtime.maxMemory() - Runtime.totalMemory() + Runtime.freeMemory()}}. > Local Flink cluster allocates too much memory > --------------------------------------------- > > Key: FLINK-2235 > URL: https://issues.apache.org/jira/browse/FLINK-2235 > Project: Flink > Issue Type: Bug > Components: Local Runtime, TaskManager > Affects Versions: 0.9 > Environment: Oracle JDK: 1.6.0_65-b14-462 > Eclipse > Reporter: Maximilian Michels > Priority: Minor > > When executing a Flink job locally, the task manager gets initialized with an > insane amount of memory. After a quick look in the code it seems that the > call to {{EnvironmentInformation.getSizeOfFreeHeapMemoryWithDefrag()}} > returns a wrong estimate of the heap memory size. > Moreover, the same user switched to Oracle JDK 1.8 and that made the error > disappear. So I'm guessing this is some Java 1.6 quirk. -- This message was sent by Atlassian JIRA (v6.3.4#6332)