views:

51

answers:

3

percentage of memory used used by a process.

normally prstat -J will give the memory of process image and RSS(resident set size) etc. how do i knowlist of processes with percentage of memory is used by a each process.

i am working on solaris unix. addintionally ,what are the regular commands that you use for monitoring processes,performences of processes that might be very useful to all!

A: 

The top command will give you several memory-consumption numbers. htop is much nicer, and will give you percentages, but it isn't installed by default on most systems.

Marcelo Cantos
top command will not give the percentage of memory usage and that is what my question is
Vijay Sarathi
That's why I also suggested `htop`.
Marcelo Cantos
A: 

run

top and then Shift+O this will bring you to the options, press n (this maybe different on your machine) for memory and then hit enter

Example of memory sort.

 top - 08:17:29 up 3 days,  8:54,  6 users,  load average: 13.98, 14.01, 11.60
Tasks: 654 total,   2 running, 652 sleeping,   0 stopped,   0 zombie
Cpu(s): 14.7%us,  1.5%sy,  0.0%ni, 59.5%id, 23.5%wa,  0.1%hi,  0.8%si,  0.0%st
Mem:  65851896k total, 49049196k used, 16802700k free,  1074664k buffers
Swap: 50331640k total,        0k used, 50331640k free, 32776940k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                         
21635 oracle    15   0 6750m 636m  51m S  1.6  1.0  62:34.53 oracle                                                                                          
21623 oracle    15   0 6686m 572m  53m S  1.1  0.9  61:16.95 oracle                                                                                          
21633 oracle    16   0 6566m 445m 235m S  3.7  0.7  30:22.60 oracle                                                                                          
21615 oracle    16   0 6550m 428m 220m S  3.7  0.7  29:36.74 oracle                                                                                          
16349 oracle    RT   0  431m 284m  41m S  0.5  0.4   2:41.08 ocssd.bin                                                                                       
17891 root      RT   0  139m 118m  40m S  0.5  0.2  41:08.19 osysmond                                                                                        
18154 root      RT   0  182m  98m  43m S  0.0  0.2  10:02.40 ologgerd                                                                                        
12211 root      15   0 1432m  84m  14m S  0.0  0.1  17:57.80 java  

Another method on Solaris is to do the following

prstat -s size 1 1

Example prstat output

www004:/# prstat -s size 1 1
   PID USERNAME  SIZE   RSS STATE  PRI NICE      TIME  CPU PROCESS/NLWP       
   420 nobody    139M   60M sleep   29   10   1:46:56 0.1% webservd/76
   603 nobody    135M   59M sleep   29   10   5:33:18 0.1% webservd/96
   339 root      134M   70M sleep   59    0   0:35:38 0.0% java/24
   435 iplanet   132M   55M sleep   29   10   1:10:39 0.1% webservd/76
   573 nobody    131M   53M sleep   29   10   0:24:32 0.0% webservd/76
   588 nobody    130M   53M sleep   29   10   2:40:55 0.1% webservd/86
   454 nobody    128M   51M sleep   29   10   0:09:01 0.0% webservd/76
   489 iplanet   126M   49M sleep   29   10   0:00:13 0.0% webservd/74
   405 root      119M   45M sleep   29   10   0:00:13 0.0% webservd/31
   717 root       54M   46M sleep   59    0   2:31:27 0.2% agent/7

Keep in mind this is sorted by Size not RSS, if you need it by RSS use the rss key

www004:/# prstat -s rss 1 1
   PID USERNAME  SIZE   RSS STATE  PRI NICE      TIME  CPU PROCESS/NLWP       
   339 root      134M   70M sleep   59    0   0:35:39 0.1% java/24
   420 nobody    139M   60M sleep   29   10   1:46:57 0.4% webservd/76
   603 nobody    135M   59M sleep   29   10   5:33:19 0.5% webservd/96
   435 iplanet   132M   55M sleep   29   10   1:10:39 0.0% webservd/76
   573 nobody    131M   53M sleep   29   10   0:24:32 0.0% webservd/76
   588 nobody    130M   53M sleep   29   10   2:40:55 0.0% webservd/86
   454 nobody    128M   51M sleep   29   10   0:09:01 0.0% webservd/76
   489 iplanet   126M   49M sleep   29   10   0:00:13 0.0% webservd/74
kSiR
this is not working on my machine.is thr any other way i can do this?
Vijay Sarathi
What version of solaris is this running on?
kSiR
Did any of this work for you ?
kSiR
A: 

I'm not sure if ps is standardized but at least on linux, ps -o %mem gives the percentage of memory used (you would obviously want to add some other columns as well)

frankc