.
Script developed by Anonymous, automation by BAlfson:
How to grab theres stats very easy...Login as root and then copy and paste the following blocks of commands:
wget www.mediasoftusa.com/swapusage
md5sum swapusage
The result should be: 0ed29febd7d70393b43d7a86e92e257c
If that's correct, continue with:mv swapusage swap-usage.pl
chmod u+x swap-usage.pl
./swap-usage.pl
free -m
uptime
version
#!/usr/bin/perl
use warnings;
use strict;
my $overall = 0;
my %out = ();
opendir(my $dh, '/proc/') || die "Can't open /proc: $!";
my @pids = grep { -d "/proc/".$_ && /^[0-9]+$/} readdir($dh);
closedir($dh);
foreach my $pid (@pids) {
my $sum = 0;
next unless -d "/proc/$pid";
print ".";
foreach my $swap ( `grep Swap /proc/$pid/smaps 2>/dev/null` ){
next unless $swap;
$swap = (split(/\s+/,$swap))[-2];
$sum += $swap;
$overall += $swap;
}
my $progname = `ps -p $pid -o comm --no-headers`;
chomp($progname);
$sum = t($sum);
$out{$pid} = [$progname,$sum] unless $sum == 0;
}
$overall = t($overall);
my $total = t(`grep SwapTotal /proc/meminfo`);
print "\nSwapTotal: $total MB\n";
print "SwapUsed: $overall MB\n";
print "========================================\n";
print "MB\t%\tPID\tprocess\n";
foreach my $pid ( sort{ $out{$b}[1] $out{$a}[1] } keys(%out) ) {
print $out{$pid}[1]."\t".p($total,$out{$pid}[1])."\t".$pid."\t".$out{$pid}[0]."\n";
}
sub t {
my $x = shift;
$x = (split(/\s+/,$x))[-2] if $x =~ /\s/;
sprintf("%.1f",$x/1024);
}
sub p {
my $total = shift;
my $x = shift;
return sprintf("%.1f",100*$x/$total);
}
Here's my output:
SwapTotal: 1024.0 MB
SwapUsed: 358.6 MB
========================================
MB % PID process
125.8 12.3 6813 snort_inline
52.3 5.1 5787 afcd
32.0 3.1 7548 snort_inline
23.8 2.3 3513 confd.plx
17.7 1.7 28339 index.plx
16.2 1.6 23224 confd.plx
15.5 1.5 16384 confd.plx
15.4 1.5 5659 screenmgr.plx
13.6 1.3 5711 httpproxy
11.8 1.2 3159 confd.plx
6.6 0.6 4060 mdw.plx
5.9 0.6 4135 selfmonng.plx
5.7 0.6 3286 aua.bin
3.7 0.4 3508 notifier.plx
2.7 0.3 4103 selfmonng.plx
1.8 0.2 3237 sysmond
1.3 0.1 3190 confd-qrunner.p
0.9 0.1 5377 named
0.7 0.1 3090 irqd
0.6 0.1 5724 ctasd
0.6 0.1 5709 ctipd.bin
0.3 0.0 6048 master
0.2 0.0 3550 rrdcached
0.2 0.0 2335 udevd
0.2 0.0 5435 sshd
0.2 0.0 31050 awed
0.2 0.0 1474 udevd
0.2 0.0 31027 awed
0.2 0.0 3054 hald-addon-inpu
0.2 0.0 3070 hald-addon-acpi
0.2 0.0 5719 ctasd
0.2 0.0 1473 udevd
0.1 0.0 2784 dbus-daemon
0.1 0.0 5693 frox
0.1 0.0 1 init
0.1 0.0 8730 smtpd.bin
0.1 0.0 3287 logger
0.1 0.0 5136 ipv6_watchdog
0.1 0.0 4130 mingetty
0.1 0.0 3032 hald
0.1 0.0 4129 mingetty
0.1 0.0 6811 argos
0.1 0.0 3104 lcm-162
0.1 0.0 3118 haveged
0.1 0.0 3579 atd
0.1 0.0 4131 mingetty
0.1 0.0 2768 acpid
0.1 0.0 4133 mingetty
0.1 0.0 4128 mingetty
0.1 0.0 4132 mingetty
astaro:/tmp # free -m
total used free shared buffers cached
Mem: 7957 7711 246 0 249 4155
-/+ buffers/cache: 3307 4650
Swap: 1023 321 702
astaro:/tmp # uptime
15:02pm up 12 days 12:58, 1 user, load average: 3.11, 3.46, 3.31
astaro:/tmp # version
Current software version...: 9.006005
Hardware type..............: 320C
Serial number..............:
Installation image.........: 9.004-33.1
Installation type..........: ssi
Installed pattern version..: 44684
Downloaded pattern version.: 44684
Up2Dates applied...........: 4 (see below)
sys-9.004-9.004-33.34.1.tgz (Jan 31 14:19)
sys-9.004-9.005-29.15.2.tgz (Feb 13 07:57)
sys-9.005-9.005-15.16.1.tgz (Mar 7 02:05)
sys-9.005-9.006-15.5.2.tgz (Apr 6 02:01)
Up2Dates available.........: 0
Factory resets.............: 0
Timewarps detected.........: 0
This thread was automatically locked due to age.