ISM is touted as a performance-enhancing feature that can be used on systems that use shared memory.
- Lets application share the same real-memory segment
- Locks pages in memory, thus preventing them from being paged out to disk.
- Shares PTEs (page table entries) among processes, thus fewer lookups are needed in the address translation tables.
- Uses 4 MB page size, thus decreasing the number of address translations
Determining if an application uses ISM
- Find PID of process
ps -ef | grep ...
- pmap -x PID
If the thrid column shows a significant number of kilobytes for the corresponding row where the application name is found, then the application uses shared memory.
- Start the crash utility
Command p finds the slot number in the first column.
-f slot # (step 2): Address spaces for this process are shown. The sixth column lists the segment driver used to map this segment into the address space.
If the driver used by this application is segvn_ops, the application does not use ISM. If the driver used is segspt_shm, this application is using ISM.
ISM is enabled by default on Solaris. In order to disable it, the following parameters have to be set in the