ngungo
ngungo

Reputation: 5322

How do I know how much memory is available?

The top 2 10 result is listed below. How do I interpret the line #4 ('Memory') — is it good, bad or ugly?

/# top 2 10
load averages:  7.51,  7.75,  7.42;                    up 26+20:51:52  14:51:35
51 processes: 44 sleeping, 6 on cpu, 1 swapped
CPU states: 76.2% idle,  5.9% user, 17.9% kernel,  0.0% iowait,  0.0% swap
Memory: 1024M phys mem, 3267M free mem, 2048M total swap, 1519M free swap

   PID USERNAME LWP PRI NICE  SIZE   RES STATE    TIME    CPU COMMAND
  1101 mysql     21  59    0  133M  114M cpu/19 685:21  1.36% mysqld
 47426 www        1  28    0   43M   22M cpu/1    0:13  0.38% httpd

Upvotes: 0

Views: 108

Answers (2)

jlliagre
jlliagre

Reputation: 30823

I'm assuming you are using Solaris.

These statistics are dubious as you shouldn't be able to have 3.2 GB free out of 1 GB.

This top output shows you had a severe RAM shortage in the past as there is a process swapped out. This process is stored in the swap area, which is used at about 25%.

I'm suspecting top is fooled by a resource control mechanism like zone memory capping.

I would use Solaris native tools to get reliable numbers, start with:

prstat -Z
swap -s
echo ::memstat | mdb -k

Upvotes: 2

brokenfoot
brokenfoot

Reputation: 11629

From http://www.unixtop.org/man.shtml

The memory summary line displays the following:

   phys mem      Total amount of physical memory that can be allocated for
                 use by processes (it does not include memory reserved for
                 the kernel's use).

   free mem      The amount of unallocated physical memory.

   total swap    The total amount of swap area allocated on disk.

   free swap     The  amount of swap area on disk that is still available.

So, your parameters look good to me:

  • Your system has 1024M of physical memory available for the processes, apart from the 3267M unallocated memory
  • Out of 2048M, 1519M of swap aread is still available

Upvotes: 2

Related Questions