Quote:
Originally Posted by
DGPickett
Yes, good old shared memory is used by the traditional UNIX IPCs, including semaphores and queues. I am not sure why these have to be pinned. Pinning is usually for peripheral/I/O support or the paranoid.
You can do similar things without shared memory or pinning using mmap() and files. An area of a file can be mmap()'d by all related processes, no root required. The content is durable through boots, too!
Guess I need to write a program to find out definitely what system calls are being used to share memory segments on AIX.
IIRC (if I recall correctly) - shmap()/mmap() - pins a file to memory. And misuse by applications can have a tremendous impact on memory management. And "way back when - AIX 4.1.4 and 4.1.5 if I recall, shmap()/mmap() were null operations on AIX (for POSIX they only need(ed) to be defined ("standards guy" might verify this) - i.e., there was/is no implementation definition. And why a null operation? Because AIX was already caching files in memory by default.
Note: currently (since a patch in AIX 4.2 or 4.3) expected shmap/mmap behavior is implemented in AIX - so also since "way back...".
Again, on AIX - the preferred tool for memory analysis is
svmon.