Updating the documentation will partially remove the confusion.
Heap memory is JVM managed while off-heap is outside JVM and I would define its 
size separately.

In my case, I see memory usage going up to full utilisation on a node where 
full RAM available is 128GB in the following conditions:
taskmanager.heap.mb = 12*1024
taskmanager.memory.off-heap: true
taskmanager.memory.fraction: 0.6

So the memory fraction will be applied to the free memory and in the absence of 
the taskmanager.memory.size parameter, the fraction is defining the off-heap 
size.
Everything else in the memory usage is network buffers I guess 
(taskmanager.network.numberOfBuffers * taskmanager.network.bufferSizeInBytes), 
along with OS cache.

I would like parameters like:
taskmanager.off-heap.size or taskmanager.off-heap.fraction
taskmanager.off-heap.enabled true or false
and same for heap.

Thanks for clarification.

Best,
Ovidiu
 
> On 16 Mar 2016, at 13:43, Fabian Hueske <fhue...@gmail.com> wrote:
> 
> Oh yes, good point! The documentation needs to be updated to something like:
> 
> "The amount of memory (in megabytes) that the task manager reserves on-heap 
> or off-heap (depending on taskmanager.memory.off-heap) for sorting, hash 
> tables, and caching of intermediate results. If unspecified (-1), the memory 
> manager will take a fixed ratio with respect to the size of the task manager 
> JVM as specified by taskmanager.memory.fraction."
> 
> I will open a JIRA to fix the documentation.
> 
> If you do the following
> taskmanager.heap.mb: 4096
> taskmanager.memory.size: 2048
> taskmanager.memory.off-heap: true
> 
> The TaskManager will be started with a 2GB (4096MB-2048MB) JVM and allocate 
> (2048MB) as off-heap memory. Hence, the overall process size will be roughly 
> 4GB. The parameter name "taskmanager.heap.mb" is a bit confusing in case of 
> off-heap memory usage, because it does not define this size of the heap but 
> of the overall process.
> 
> Hope this helps,
> Fabian
> 
> 
> 
> 2016-03-16 12:40 GMT+01:00 Ovidiu-Cristian MARCU 
> <ovidiu-cristian.ma...@inria.fr <mailto:ovidiu-cristian.ma...@inria.fr>>:
> Thanks!
> I will try this one: taskmanager.memory.size. So I should expect this will be 
> the off-heap memory size, right?
> I am using taskmanager.heap.mb=some value, taskmanager.memory.off-heap: true
> Memory usage goes up to 99%.
> 
> The documentation is confusing:
> 
> taskmanager.memory.size: The amount of memory (in megabytes) that the task 
> manager reserves on the JVM’s heap space for sorting, hash tables, and 
> caching of intermediate results. If unspecified (-1), the memory manager will 
> take a fixed ratio of the heap memory available to the JVM, as specified by 
> taskmanager.memory.fraction.  [1]
> 
> [1] 
> https://ci.apache.org/projects/flink/flink-docs-release-1.0/setup/config.html#managed-memory
>  
> <https://ci.apache.org/projects/flink/flink-docs-release-1.0/setup/config.html#managed-memory>
> 
> Best,
> Ovidiu
> 
>> On 16 Mar 2016, at 12:13, Fabian Hueske <fhue...@gmail.com 
>> <mailto:fhue...@gmail.com>> wrote:
>> 
>> Hi Ovidiu,
>> 
>> the parameters to configure the amount of managed memory 
>> (taskmanager.memory.size, taskmanager.memory.fraction) are valid for on and 
>> off-heap memory. 
>> 
>> Have you tried these parameters and didn't they work as expected?
>> 
>> Best, Fabian
>> 
>> 
>> 2016-03-16 11:43 GMT+01:00 Ovidiu-Cristian MARCU 
>> <ovidiu-cristian.ma...@inria.fr <mailto:ovidiu-cristian.ma...@inria.fr>>:
>> Hi,
>> 
>> Is it possible to add a parameter off-heap.size for the task manager 
>> off-heap memory [1]?
>> 
>> It is not possible to limit the off-heap memory size, at least I found 
>> nothing in the documentation.
>> 
>> [1] 
>> https://ci.apache.org/projects/flink/flink-docs-release-1.0/setup/config.html#managed-memory
>>  
>> <https://ci.apache.org/projects/flink/flink-docs-release-1.0/setup/config.html#managed-memory>
>> 
>> Best,
>> Ovidiu
>> 
> 
> 

Reply via email to