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%.
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).
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)
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)
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)
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)
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)
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)
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)
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)