If the results of vmstat point to a memory bottleneck, you must find out which processes are using large amounts of memory, and which, if any, of these are growing.
> svmon -P -t 5This command outputs:
------------------------------------------------------------------------------- Pid Command Inuse Pin Pgsp Virtual 64-bit Mthrd 38454 java 76454 1404 100413 144805 N Y ------------------------------------------------------------------------------- Pid Command Inuse Pin Pgsp Virtual 64-bit Mthrd 15552 X 14282 1407 17266 19810 N N ------------------------------------------------------------------------------- Pid Command Inuse Pin Pgsp Virtual 64-bit Mthrd 14762 dtwm 3991 1403 5054 7628 N N ------------------------------------------------------------------------------- Pid Command Inuse Pin Pgsp Virtual 64-bit Mthrd 15274 dtsessi 3956 1403 5056 7613 N N ------------------------------------------------------------------------------- Pid Command Inuse Pin Pgsp Virtual 64-bit Mthrd 21166 dtpad 3822 1403 4717 7460 N NThis output shows that the highest memory user is Java™, and that it is using 144805 pages of virtual storage (144805 * 4 KB = 565.64 MB). This is not an unreasonable amount of memory for a JVM with a large Java heap - in this case 512 MB.
If the system is memory-constrained with this level of load, the only remedies available are either to obtain more physical memory or to attempt to tune the amount of paging space that is available by using the vmtune command to alter the maxperm and minperm values.
If the Java process continues to increase its memory usage, an eventual memory constraint will be caused by a memory leak.