Checking Memory Usage

For some versions of Unix, the top utility is a very powerful tool. It usually comes installed on the machine and can give live CPU and memory stats on a configurable refresh time. For Windows, the Task Manager is very useful.

On Unix platforms, you can also use the vmstat command to check available memory:

Platform

Command

Solaris

vmstat

AIX

vmstat svmon -g

Related Topics
Checking for Other Running Processes
Reviewing Other Configuration Issues
Collecting Logs and Core Files

Note: When using top or vmstat, the figures for process memory usage can be inflated artificially because some Unix versions of the memory manager do not always show freed memory returned to the system "pool". If the system has enough free memory to satisfy its current needs, memory freed by a process will not automatically be shown as freed. Therefore, utilities such as top tend to show the peak amount (or "high water mark") of memory that a process has allocated rather than what the process is currently using.

If top is not available, on Solaris you can use prstat or on AIX you can use topas. On Solaris, another useful command is prtconf, which shows the system configuration. Also on Solaris, the /usr/proc/bin/pmap -x PID command prints the details of memory used by a process and indicates which PID is taking up the memory.

It is a good idea to monitor the amount of swap space in use. The system should not swap, and all processes should be in physical memory. Use a utility such as top or vmstat to determine swap activity. You should also note the process path (the path where the process was loaded from) and its command line. Since there are usually multiple Java processes running at the same time, the command line should give a clue as to whether a particular process is an application server or an ENOVIA Live Collaboration Server. Since top typically does not show the process path, you should note the process id (PID) of the larger processes from top's PID column. You can get the process path and command line using the ps -ef command and using the PID to find the process in the resulting list.