cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Memory Resources Exhausted raise conditions

jcamps
Advisor

Hi all,

 

what are the exact conditions when Dynatrace raises the Memory Resources Exhausted problem for a process? Where can I view the conditions for every Dynatrace problem?

 

Regards, Josep Maria

5 REPLIES 5

ChadTurner
Guru

You can view the resource exhaustion from the problem page or even at that particular hosts page. 

Memory health 

Host pages include two memory-related metrics for your hosts, Memory used and Page faults. Both measurements and other factors, are used to correlate and calculate host high memory incidents.

  • Memory used
    Percentage of total RAM used by processes. RAM used by system caches and buffers isn't included in this metric. Dynatrace calculates memory usage as:
    memory_used = total_memory_size - (free_memory + active_memory + inactive_memory + reclaimamble_memory)

  • Page faults
    Number of major page faults per second. Major page faults involve loading a page from disk, thereby adding disk latency to the interrupted program’s execution.

Additional performance measurements for virtualized hosts

Virtualized hosts show additional measurements related to virtual machine memory usage. These metrics, along with other measurements, are used to detect memory saturation incidents.

  • Memory compressed
    The rate of memory compression or decompression. Virtual machine management platforms use memory compression to reduce memory usage. Memory compression saves memory but requires additional CPU cycles. Content that had been previously compressed must be decompressed before it can be used by a virtual machine.

  • Memory swapped
    Rate at which memory is swapped from disk into active memory, and vice-versa, from active memory to disk.

-Chad

jcamps
Advisor

Hi @ChadTurner ,

 

I think your detailed explanation is related to "Memory saturation" (host problem) but not to "Memory Resources Exhausted" (process problem), it's possible?

 

Regards, Josep Maria

Exhausted Memory can happen at both levels. if a Host has 50 GB of memory and a process or processes use up all 50 GB then an alert will be raised at the host level stating that Memory is exhausted on Host X. 

 

If you have a process say Java that is allocated to use 3 GB of memory, and that processes uses all of the 3 GB it is allowed/allocated to use then yes an exhaustion alert will be raised and more likely even crash which would then be in the collected crash logs. Meanwhile the host is running fine at 10 GB memory consumed with 40 GB still free. 

 

Exhaustion can happen at all levels. 

-Chad

jcamps
Advisor

Thanks! But what are the exact conditions checked by Dynartace in order to trigger the "Memory Resources Exhausted" problem for a Java process?

 

Regards! Josep Maria

The check would be basically How much Memory is being used, vs how much is allowed. Much like 6 GB being used - 8 GB allowed = 2 GB remaining. or 6 GB used - 6 GB allowed = Memory Exhausted.  

-Chad