Listing processes with swap usage

Is there any way to get list of processes which are taking maximum swap , my system is showing no swap space in /var/adm/messages and i 'm unable to pin down the process which is consuming max swap space.

if you're on solaris 10, you can use "dtrace" to do this... search google for the "dtrace toolkit".

prstat -s size

will show you the processes sorted by virtual memory (a.k.a swap) usage.

THats fine but i was tryin to locate rogue process which is eating up swap space and prstat -s size shows normal swap usage.

If that process is short-lived then dtrace is the way to go as DukeNuke2 already stated.

Yep but the problem is that i do not have any idea on Dtrace and tried to look for it on google but didn't find much help

when i google for "dtrace toolkit" i'll get good results... for example:
DTrace Tools

What reports:

swap -s
swap -l
prstat -s size -n 10 -Z 1 1

?

Problem is that we had restarted the discovrer application on the system which was eating up swap space which is now free ..

What is the "discovrer application" ?
Did you reboot the system ?

i do not know much but it was something related to Oracle Discoverer and then apps dba restarted the app and it resolved the problem but i wanted to to know with what way we can pin down a process who is eating all the swap or memory

Just monitor regularily the memory usage with the prstat command I suggested.