The space reported by "swap -l" refers to disk-based backing store, but
the swap values reported by "swap -s", "sar -r", vmstat, and top all refer
to available space in swapfs, which is the vnode interface between the
anon layer and physical swap devices.  It is essentially virtual swap
space, and is the combination of pageable physical memory and disk
based backing store.  If you run out of space in swapfs, but "swap -l"
reports that you have allocated little or no disk-based backing store, it
implies that your backing store is being used up by memory reservations.
When a process reserves memory, Solaris tries to reserve against the
backing store.  When a process allocates memory, Solaris tries to
allocate from available physical RAM.  If your memory reservations
exceed the size of your backing store, you can have memory allocation
failures while still having lots of unallocated backing store.

Since you mention that you are running Oracle, I suspect that you
are using DISM rather than ISM for the Oracle SGA.  DISM currently
makes a swapfs reservation that is equal in size to the entire DISM, so
you need backing store of at least that size, plus your normal backing
store requirements.

You also mention that you are running a V880, which doesn't support
dynamic reconfiguration (DR).  Since DR is the primary reason to run
DISM, you should probably consider using ISM instead, which does
not do the backing store reservation.

If you aren't using DISM, you should check the amount of reserved memory
reported by "swap -s" then track down where the reservations are going.
You can use "pmap -S" to report reservations.

HTH,
David Lutz

----- Original Message -----
From: Awais Vaseer <[EMAIL PROTECTED]>
Date: Sunday, June 15, 2008 9:33 pm

> Hello,
> 
> We have a V880 with 64GB of Memory and a 40GB swap device confgiured, 
> running Solaris 10 and Oracle.
> 
> A few days ago, one of our admins noticed a filesystem full error for 
> /tmp and that new processes were failing to start up.
> 
> /var/adm/messages:Jun 11 02:16:52 xxxxxx tmpfs: [ID 518458 
> kern.warning] WARNING: /tmp: File system full, swap space limit 
> exceeded 
> 
> They ran both 'swap -l' and 'swap -s' and saw that while 'swap -l' was 
> reporting all of the 40GB swap disk device as being unused and 
> available, 'swap -s' was reporting only 4GB of available swap. I 
> thought 'swap -s' reports all available swap including RAM [i]AND[/i] 
> swap disk. 
> 
> The system has since recovered and is working fine, but unfortunately 
> I only have a description of the symptoms and no detailed logs, 
> command output captures or debug information to investigate this 
> further. 
> 
> Has anyone else seen 'swap -l' reporting all of the swap disk as 
> unused and available, while 'swap -s' lists only a very small amount 
> of swap being available - Why is there a discrepancy between the 
> output of the two commands. Is there a way to correlate the outputs of 
> 'swap -l' and 'swap -s' ?
>  
_______________________________________________
perf-discuss mailing list
perf-discuss@opensolaris.org

Reply via email to