I am currently trying to install an Oracle database (11g or 12c) on a virtualized opensuse, within the guides that I followed they request to modify the memory variables in the file /etc/sysctl.conf
the variables are kernel.shmmax kernel.shmmin
and kernel.shmall
, the guide suggests placing the values
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
However, it seems that these values depend on the physical memory of the machine (in my case 4GB for the virtual one) since when executing with the values of the guide when creating the Oracle database, an error occurs.
According to the 4GB of physical memory that the virtual one has, what would be the optimal values for these variables?
Following this guide https://docs.oracle.com/database/121/LADBI/app_manual.htm#LADBI7866
View the content of these three files and you will see the current configuration. /proc/sys/kernel/shmmni /proc/sys/kernel/shmall or /proc/sys/kernel/shmmax
Then it is a matter of counting in bytes according to the percentage.
shmall
40 percent of the size of physical memory in pages Note: If the server supports multiple databases, or uses a large SGA, then set this parameter to a value that is equal to the total amount of shared memory, in 4K pages, that the system can use at one time.
/proc/sys/kernel/shmall
shmmax
Half the size of physical memory in bytes See My Oracle Support Note 567506.1 for additional information about configuring shmmax.
/proc/sys/kernel/shmmax
shmmni 4096 /proc/sys/kernel/shmmni