dropdown menu

svmon - RAM

Statistics reported by svmon are expressed in terms of pages. A page is a 4K block of virtual memory while a frame is a 4K block of real memory.

These parameters show the number of both the working and persistent pages in RAM.

svmon -G    shows global memory reports (in 4K page sizes)
               size       inuse        free         pin     virtual
memory      4096000     2423149     1672851      803943     1734262
pg space    2097152      103815

               work        pers        clnt       other
pin          665509           0          99      138335
in use      1711933           0      711216

PageSize   PoolSize      inuse       pgsp        pin    virtual
s   4 KB          -    2284685     103815     731591    1595798
m  64 KB          -       8654          0       4522       8654

    size  - size of real memory in 4k pages (in kbytes=4096000 * 4)
    inuse - size of used memory in 4k pages (total memory minus free)
    free  - amount of memory on the free list in 4k pages (free RAM)
    pin   - amount of memory pinned in RAM in 4k pages (pinned memory is always resident in RAM and cannot be paged out)
  virtual - memory needed to execute the programs on the system (for non-filesystem cache) (same as avm in vmstat)

pg space
    size  - size of paging space
    inuse - number of paging space pages used

pin (subset of real memory containing pinned pages (665509+0+99+138335=803943))
    work - number of working pages pinned in RAM (processes ...)
    pers - number of persistent pages pinned in RAM (JFS)
    clnt - number of client pages pinned in RAM (JFS2/NFS/GPFS)
   other - could not find the meaning :(

in use (subset of real memory in use (1711933+0+711216=2423149))
    work - number working pages in RAM (processes ...)
    pers - number persistent pages in RAM (JFS)
    clnt - number client pages in RAM (JFS2/NFS/GPFS)

PageSize (details of 4KB 64KB 16MB pages) (2286685+16*8654=2423149)
   Inuse - size of used memory of the given PageSize pages
    Pgsp - size of used paging space of the given PageSize pages
    Pin  - size of pinned memory of the given PageSize pages
 virtual - size in memory for non-fs cache of the given PagesSize pages

The different values are expressed in the PageSize pages unit.

In the below case 885*16MB is reserved but nothing is using it (inuse=0)
    PageSize   PoolSize      inuse       pgsp        pin    virtual
    s   4 KB          -    4289065       9348     804589    3562062
    m  64 KB          -      10536          0       8102      10536
    L  16 MB        885          0          0        885          0

This could be checked with vmo as well:   
vmo -a|egrep "lgpg_regions|lgpg_size"
    lgpg_regions = 885
    lgpg_size = 16777216    <-16MB

IBM recommendation was to turn this off:
vmo -r -o lgpg_size=0 -o lgpg_regions=0     <--we did a reboot after that

The large (16MB) and supreme pages (16 GB) need to be configured manually, while the small (4k) and medium (64K) sizes are preconfigured by default. When you install an AIX system, the small and medium pages will be active. How these page sizes are used is determined by AIX. When a process needs memory AIX will assign automatically the best memory page size regarding small and medium pages. The biggest performance advantage that large memory pages have over the small- or medium-sized pages is that they’re nonpageable. This means they’re "pinned" pages, which are exempt from page outs to disks.


svmon -P 278620
     Pid Command          Inuse      Pin     Pgsp  Virtual 64-bit Mthrd LPage
  278620 shm_lgpg64       13781    11319     1083    13769      Y     N     Y
     PageSize      Inuse        Pin       Pgsp    Virtual
         4 KB       5589       3127       1083       5577
        16 MB          2          2          0          2

This process uses 13781 pages in real memory. 11319 frames are pinned.
The number of pages reserved or used in paging space is 1083.


     Pid Command          Inuse      Pin     Pgsp  Virtual 64-bit Mthrd  16MB
 2781436 oracle        14086839    65566  1784541 14122372      Y     N     N

16MB N: it means this process does not use the 16MB pages, N=no


  1. Hi,
    use the below command to find the top 15 process with details.

    svmon -Pt15 | perl -e 'while(<>){print if($.==2||$&&&!$s++);$.=0 if(/^-+$/)}'

    1. Hi, thanks for this really nice command :-)

  2. apart from above command you can use svmon -P -O unit=MB|head -15(it will also display same thing in MB)

  3. This comment has been removed by the author.

  4. How i can get overall memory and CPU utilization in percentage ?

  5. I'm trying in AIX box..
    For memory using = svmon -G -O unit=GB
    For cpu using = sar -u 5 5
    using script how i can get the value in percentage and schedule as a job

  6. how can you manage high paging size, meaning using command #ipcrm ? I've done a research on the net, and saw people uning it with success for processes with NATTCH equal zero. What's your opinion on that?