3.3.1 svmon
The svmon command provides information about the virtual memory usage by the kernel and user processes in the system at any given time. For example, to see
svmon
The command prints out segment information sorted according to values in the Inuse field, which shows the number of virtual pages in the segment that are mapped into the process address space. Segments of type work with a blank description field belong to user processes. If the LPage is set to Y, the segment contains large pages. These segments always have 65536 in the Inuse, Pin, and Virtual fields because this is the number of 4KB pages in the 256MB segment. In other words, large pages are mapped into the process address space with a granularity of 256MB even if a process is using a small fraction of it. A segment can have either large pages or small pages, but not both.
Vsid | Esid | Type | Description | LPage | Inuse | Pin | Pgsp | Virtual |
101810 | - | work |
| Y | 65536 | 65536 | 0 | 65536 |
161836 | - | work |
| Y | 65536 | 65536 | 0 | 65536 |
1e09de | - | work kernel heap | - | 30392 | 92 | 0 | 30392 | |
9e0 | - | work kernel heap | - | 26628 | 20173 | 0 | 26628 | |
190899 | - | work mbuf pool | - | 15793 | 15793 | 0 | 15793 | |
20002 | - | work page table area | - | 7858 | 168 7690 | 7858 | ||
0 | - | work kernel segment | - | 6394 | 3327 | 953 | 6394 | |
70b07 | - | work other kernel segments | Y | 4096 | 4096 | 0 | 4096 | |
c0b0c | - | work other kernel segments | Y | 4096 | 4096 | 0 | 4096 | |
1b00bb | - | work vmm software hat | - | 4096 | 4096 | 0 | 4096 | |
a09aa | - | work loader segment | - | 3074 | 0 | 0 | 3074 |
Memory overhead associated with HPS communication buffers allocated in support of MPI processes and IP is shown in the map as other kernel segments. Unlike user segments with large pages, these segments have just one large page or 4096 4KB pages. The segment named mbuf pool indicates a
To see a segment allocation map organized by process, type the following command as root:
svmon
The output is sorted according to the aggregate Inuse value for each process. This is useful in finding virtual memory demands for all processes on the node. The virtual segment ID (Vsid) is a unique segment ID that is listed in more than one process when processes share data (for example, if multiple MPI tasks use shared memory or program text).
Pid | Command | Inuse | Pin | Pgsp | Virtual |
| Mthrd LPage |
| |
381118 | sppm | 448221 | 3687 | 2675 | 449797 | Y | Y | N |
|
pshpstuningguidewp040105.doc |
|
|
|
|
|
| Page 11 |