per-process swap usage?


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users per-process swap usage?
# 1  
Old 08-29-2008
per-process swap usage?

I've been trying to write a monitor program that gets various values on the processes running and makes reports. One of the values that I wanted to monitor was swap usage, so that we can ensure that our swap space doesn't fill up, but I can't seem to get this number (on a per-process basis) from either 'top' or 'ps'.

I've tried everything I can think of. Can anyone tell me how to do this?

On my system, I run top and ps and sum up some of the numbers and I get these:

top vsize within 5% ps vsize: 1.0%
top rss within 5% ps rss: 98.3%
Resident set size: 6.422G
Top vsize: 11.980G
PS vsize: 144.780G
PS size: 88.384G

These are the totals I get from the 'top' header. This (roughly) agrees with the vmstat numbers.
Total Mem used, from top: 7.590G
Total Swap used, from top: 5.233G
Total Virtual Mem used: 12.823G


Now you see the closest thing to matching the total virtual memory above is the top vsize, and maybe I can get swap usage by subtracting top vsize from RSS, but the above was run on RH3. If I run the same script on RH5 (we have RH3 and RH5 machines), I get the following:

top vsize within 5% ps vsize: 99.7%
top rss within 5% ps rss: 97.1%
Resident set size: 5.059G
Top vsize: 84.335G
PS vsize: 84.485G
PS size: 6.357G

Total Mem used, from top: 7.751G
Total Swap used, from top: 0.000G
Total Virtual Mem used: 7.751G


As you can see, now the top vsize is way off.

I also tried subtracting out the shared memory (taken from top), but that only lowered the numbers by less than 5%.


There has to be a better way...

--Buck
# 2  
Old 08-29-2008
sar, swapinfo: it would help A LOT if you gave us your OS and architecture.
# 3  
Old 08-30-2008
RHEL3 and 5. They're 64-bit AMD machines.
# 4  
Old 08-30-2008
Here's a little more info. There's two classes of machines I'm concerned with.


$uname -a
Linux fub 2.6.18-53.1.13.el5 #1 SMP Mon Feb 11 13:27:27 EST 2008 x86_64 x86_64 x86_64 GNU/Linux

$lsb_release -a
LSB Version: :core-3.1-amd64:core-3.1-ia32:core-3.1-noarch:graphics-3.1-amd64:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: RedHatEnterpriseClient
Description: Red Hat Enterprise Linux Client release 5.1 (Tikanga)
Release: 5.1
Codename: Tikanga




>uname -a
Linux bar 2.4.21-37.ELsmp #1 SMP Wed Sep 7 13:32:18 EDT 2005 x86_64 x86_64 x86_64 GNU/Linux
> [bgolemon@lslogin10] [Sat 10:20am] ~>lsb_release -a
LSB Version: 1.3
Distributor ID: RedHatEnterpriseWS
Description: Red Hat Enterprise Linux WS release 3 (Taroon Update 6)
Release: 3
Codename: TaroonUpdate6
# 5  
Old 09-02-2008
Quote:
Originally Posted by jim mcnamara
sar, swapinfo: it would help A LOT if you gave us your OS and architecture.
I looked into sar, and it looks like it gives statistics at the machine level, but not process-specific numbers.

'swapinfo' doesn't appear to be available.


I feel like this should be a simple problem that should be solved by an option to ps, but I can't seem to get it done.

--Buck
# 6  
Old 09-02-2008
As an aside, the 'ps' manpage documents the 'v' option as giving a virtual memory format, but doesn't document the fields presented. Can anyone tell me what these things mean? MAJFL is the major page fault count, I believe, and RSS is the "resident set size" meaning physical memory used, but what is "DRS"?

$ps v
PID TTY STAT TIME MAJFL TRS DRS RSS %MEM COMMAND
22511 pts/2 Ss 0:00 0 319 17576 3080 0.0 -tcsh
27192 pts/2 R+ 0:00 0 74 8261 728 0.0 ps v



In the meantime, I've tried using the "size" output from ps, since it seems most accurate (see original post), but I've hit a snag in that the number is many times too large for a couple types of processes (wine-preloader and java).

Examples:
Code:
wine-preloader(21951):
        PS:     rss:484.0       vsize:2367920.0 size:2345200.0  sz:591980.0
        TOP:    rss:480.0       vsize:872.0     share:476.0
wine-preloader(6990):
        PS:     rss:1300.0      vsize:2367924.0 size:2345204.0  sz:591981.0
        TOP:    rss:1292.0      vsize:1292.0    share:888.0
wine-preloader(24682):
        PS:     rss:452.0       vsize:2367912.0 size:2345192.0  sz:591978.0
        TOP:    rss:448.0       vsize:832.0     share:444.0

java(24885):
        PS:     rss:636.0       vsize:680912.0  size:634740.0   sz:170228.0
        TOP:    rss:620.0       vsize:10088.0   share:388.0
java(19015):
        PS:     rss:42336.0     vsize:1253548.0 size:1197556.0  sz:313387.0
        TOP:    rss:41984.0     vsize:42324.0   share:14836.0

# 7  
Old 09-02-2008
TRS maybe Text Resident Size.
DRS maybe Data Resident Size.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Red Hat

Swap memory usage keeps increasing.

Hi the version is RedHat 6.2 (Oracle DB server) I don't know why swap memory usage keeps increasing... I used to check swap memory usage Free -m and another way. total used free shared buffers cached Mem: 32183 31861 322 ... (3 Replies)
Discussion started by: tom8254
3 Replies

2. Red Hat

Swap memory usage is high in Linux

Hi , There is one following alert . Message : cdm:Average (2 samples) swap memory usage is now 91%, which is above the warning threshold (90%) Here is my findings. Output of TOP command in Linux server. top - 14:21:44 up 6 days, 4:48, 1 user, load average: 2.55, 2.06,... (3 Replies)
Discussion started by: Maddy123
3 Replies

3. Solaris

Interesting swap usage

Hi We have 2 identical T4-1's running Solaris 10 8/11 patched to 07/2012. Both have 8G of swap allocated on the zfs root pool however a swap -s on one server shows 8G of swap available but on the other shows between 60 and 115G of swap available. Both servers have the same amount of... (6 Replies)
Discussion started by: gregsih
6 Replies

4. Shell Programming and Scripting

Swap usage by top and free command doesn't match

Its rather confusing, the output of top command is below: The "swap" field of top is described by the manpage as: "The swapped out portion of a task's total virtual memory image." But the output of free command suggests something else and it does tally with the output of swapon... (3 Replies)
Discussion started by: proactiveaditya
3 Replies

5. Shell Programming and Scripting

calculate swap space usage in Solaris and converts it in Percentage

Hi Folks, I am looking for a way to write a script to calculate swap usage in Solaris so that the current usage will be shown in Percentage value. Thanks!! Based on 'swap -s' command # swap -s total: 1378936k bytes allocated + 1236880k reserved = 2615816k used, 2725104k available (2 Replies)
Discussion started by: jaapar
2 Replies

6. Solaris

how can i see which process is using how much of swap

hi guys i am new to opensolaris and i have installed opensolaris 2009.6 preview and i would like to know how much swap using each process currently..... (6 Replies)
Discussion started by: srinivas2828
6 Replies

7. Solaris

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. (11 Replies)
Discussion started by: fugitive
11 Replies

8. HP-UX

how can I find cpu usage memory usage swap usage and logical volume usage

how can I find cpu usage memory usage swap usage and I want to know CPU usage above X% and contiue Y times and memory usage above X % and contiue Y times my final destination is monitor process logical volume usage above X % and number of Logical voluage above can I not to... (3 Replies)
Discussion started by: alert0919
3 Replies

9. UNIX for Dummies Questions & Answers

process cpu usage

Trying to come up with a command that will show all processes sorted from highest cpu usage to lowest. Any ideas? (9 Replies)
Discussion started by: cwsmichigan
9 Replies

10. Shell Programming and Scripting

swap space and cpu usage for an application

Hi, How do i get the swap space used and cpu usage for a particular application ? thanks una (2 Replies)
Discussion started by: una
2 Replies
Login or Register to Ask a Question