Hi geeks,
We have many RHEL servers being used only for BIND DNS no other application on these servers.Mainly two RHEL version are being used RHEL 5&6.
It is observed that memory utilization on RHEL 6 machine remains high and RHEL 6 systems keep on increasing the memory gradually whereas we have set the Bind max cache size at 2GB.
After lot of investigation and google searching it is discovered that running process memory utilization is not high like check the below stats
Code:
$ free -m
total used free shared buffers cached
Mem: 7857 7574 283 0 483 2731
-/+ buffers/cache: 4359 3498
Swap: 8191 13 8178
Here system is using 4359MB acutal RAM.
If I check the RSS memory usage of all running process
Code:
]$ ps -e --format rss | awk 'BEGIN{c=0} {c+=$1} END{print c/1024}'
1917.84
It is less the 2GB.
If we check the kernel memory usage ( Slab)
Code:
]$ cat /proc/meminfo | grep Slab
Slab: 1024312 kB
It is around 1GB
By consulting RHEL 6 documentation , it is found they have enable by default Transparent Huge Pages (AnonHugePages). So if we check the
Code:
]$ cat /proc/meminfo |grep AnonHugePages
AnonHugePages: 1728512 kB
Now I have two question
1- Does these AnonHugePages memory utilization is separate or it is included under used memory of processes ( RSS memory of all running proccess in system)
2- If our Total memory in system 8GB or less , should we disable the AnonHugePages or keep it enable ?
After few weeks or months system start using swap memory and performance degraded.So we have to reboot the machine.