Jump to content

Featured Replies

Posted

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...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...