Default values of shmal, shmmax and shmmni

  • Thread starter Thread starter Spiros85
  • Start date Start date
S

Spiros85

I read this article where it presents some ways to calculate the shmall and shmmax.

My distro is Oracle Linux and I wanted to find out the initial amount of memory my distro uses in order to calculate those values.

The first step was to take a look at the values contained at /etc/sysctl.conf
[root@server ~]# sysctl -a | grep shm
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
kernel.shmmni = 4096

Second I used 'ipcs -lm' command
[root@server ~]# ipcs -lm

------ Shared Memory Limits --------
max number of segments = 4096 -----> shmmni (It is expressed in Pages)
max seg size (kbytes) = 67108864 -----> shmmax (It is expressed in Kbytes)
max total shared memory (kbytes) = 17179869184 -----> shmall (It is exressed in Kbytes)
min seg size (bytes) = 1

According to the article I posted, if you want to find shmall for 11GBs of memory you have to do the following mathematical equation:
(11*1024*1024*1024)/4096

By given the values of 'ipcs -lm' command, I wanted to verify the values contained to '/etc/sysctl.conf'
shmall = (17179869184/4096)*1024 = 4294967296
shmmax = 67108864*1024 = 68719476736

Let's find the value of 'shmmax' from 'shmall'
shmmax = (17179869184/1024)*4096 = 68719476736 (This is the value in '/etc/sysctl.conf')
68719476736/1024 = 67108864 ----> (This is the value in Kbytes displayed by 'ipcs -lm')

So based on the upon information to find out the initial amount of RAM used to calculate those values, I did:
((4294967296*4096)/1024*1024*1024) = 16384

That means my Oracle Linux does this calculations for 16384 Gbs? :confused:

Thanks In advance

Continue reading...
 
Back
Top