Clarification on Rhel Memory utilization.
Hi Team,
I need clarification on Rhel Memory utilization.
I have a java application with MySQL that runs on a Rhel 7 server with physical memory(RAM) allocated as 12GB where I would see the normal utilization at the start as below.
sys> free -h
total used free shared buff/cache available
Mem: 11G 7.8G 1.6G 9.0M 2.2G 3.5G
Swap: 0B 0B 0B
Over a period of time say >6month, I could see the RAM utilization is almost full, and available space is very less but still, the application continues to work fine without any issues.
sys> free -h
total used free shared buff/cache available
Mem: 11G 11G 134M 17M 411M 240M
Swap: 0B 0B 0B
sys> free -h
total used free shared buff/cache available
Mem: 11G 11G 145M 25M 373M 204M
Swap: 0B 0B 0B
I referred to linuxatemyram where it suggested the below point.
Warning signs of a genuine low memory situation that you may want to look into:
• available memory (or "free + buffers/cache") is close to zero
• swap used increases or fluctuates.
• dmesg | grep oom-killer shows the OutOfMemory-killer at work
From the above points, I don't see any OOM issue at the application level but I see MySQL occupies huge memory apart from that overall application runs fine and the swap was also disabled. so neglecting the two points.
One point which troubles me was available memory is less than zero where I need a clarification.
I have the same application running on large scale at 64GB and 128 GB RAM system where I could see the same behaviour
1) Does it mean I need to upgrade the RAM when available memory goes less or It's ok to be with existing Memory since we don't face any issues as of now?
2) On what basis the RAM memory should be increased? Do we have any recommendations/guidelines that need to follow for RAM memory allocation?