Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: Shared memory
"J.D. Fagan" <jdfagan_at_fcicom.com> writes:
>
> Here's content of my /etc/system file for Solaris 2.6:
>
> set shmsys: shminfo_shmmax = 209,715,200
> set shmsys: shminfo_shmseg = 300
> set semsys: seminfo_semmns = 4000
> set semsys: seminfo_semmni = 210
> set rlim_fd_max = 1024
> set rlim_fd_cur = 1024
>
> Does this mean my shared memory space is equal to 206 mb * 300 = 62.914 gb?
>
> And if I only have 0.5 gb of physical RAM, would this be a bad thing for the
> OS? The reason I ask is that Oracle 7.3.2.2 installer apparently modified
> these values to these settings. But they are way over their recommended
> documented values.
>
A process can get multiple areas of shared memory; each time it requests more shared memory a new shared memory *segment* is attached to its address space. Every shared memory segment in the system at any one time has a unique identifier.
With that in mind:
shmsys:shminfo_shmmax
The maximum size a single shared memory segment can be. An application can request less than this (the request won't be rounded up to this value) but cannot request more in a single segment. An application could get two independent segments both within this limit but together over this limit.
shmsys:shminfo_shmmin
The minimum size of a single shared memory segment. Usually best left at the default of 1 byte (when reflected in your address space I guess this will be rounded up to one page).
shmsys:shminfo_shmseg
The maximum number of shared memory segments that a single process can have. Each must be within the shmmin/shmmax limits.
shmsys:shminfo_shmmni
The maximum number of shared memory identifiers in the entire system; in other words, the maximum total number of uniqie shared memory segments that can exist across all processes (two processes sharing the same segment obviously don't count)
Gavin Received on Wed Feb 11 1998 - 00:00:00 CST
![]() |
![]() |