Revision: 5472 http://ipcop.svn.sourceforge.net/ipcop/?rev=5472&view=rev Author: owes Date: 2011-02-20 10:12:57 +0000 (Sun, 20 Feb 2011)
Log Message: ----------- Remove obsolete 'shared' from system status memory, rearrange display of 'buffers' and 'cached' memory values. Modified Paths: -------------- ipcop/trunk/html/cgi-bin/status.cgi Modified: ipcop/trunk/html/cgi-bin/status.cgi =================================================================== --- ipcop/trunk/html/cgi-bin/status.cgi 2011-02-20 10:07:35 UTC (rev 5471) +++ ipcop/trunk/html/cgi-bin/status.cgi 2011-02-20 10:12:57 UTC (rev 5472) @@ -1,11 +1,27 @@ #!/usr/bin/perl # -# SmoothWall CGIs +# This file is part of the IPCop Firewall. +# +# IPCop is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# IPCop is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with IPCop; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# status.cgi originally (2001) from the Smoothwall project +# (c) The SmoothWall Team # -# This code is distributed under the terms of the GPL +# Many changes since 2001 +# (c) 2001-2011, the IPCop team # -# (c) The SmoothWall Team -# # $Id$ # @@ -96,87 +112,80 @@ print "<a name='memory'/>\n"; &Header::openbox('100%', 'left', "$Lang::tr{'memory'}:"); -print "<table><tr><td><table>"; -my $ram=0; -my $size=0; -my $used=0; -my $free=0; +print "<table>"; +my $mem_size=0; +my $mem_used=0; +my $mem_free=0; +my $mem_shared=0; +my $mem_buffers=0; +my $mem_cached=0; +my $buffers_used=0; +my $buffers_free=0; +my $swap_size=0; +my $swap_used=0; +my $swap_free=0; + my $percent=0; -my $shared=0; -my $buffers=0; -my $cached=0; + open(FREE,'/usr/bin/free |'); -while(<FREE>) -{ - if ($_ =~ m/^\s+total\s+used\s+free\s+shared\s+buffers\s+cached$/ ) { - print <<END +while (<FREE>) { + if ($_ =~ m/^Mem:\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)$/) { + ($mem_size,$mem_used,$mem_free,$mem_shared,$mem_buffers,$mem_cached) = ($1,$2,$3,$4,$5,$6); + } + elsif ($_ =~ m/^Swap:\s+(\d+)\s+(\d+)\s+(\d+)$/) { + ($swap_size,$swap_used,$swap_free) = ($1,$2,$3); + } + elsif ($_ =~ m/^-\/\+ buffers\/cache:\s+(\d+)\s+(\d+)$/ ) { + ($buffers_used,$buffers_free) = ($1,$2); + } +} +close FREE; + +print <<END <tr> -<td> </td> -<td align='center' class='boldbase'>$Lang::tr{'size'}</td> -<td align='center' class='boldbase'>$Lang::tr{'used'}</td> -<td align='center' class='boldbase'>$Lang::tr{'free'}</td> -<td align='left' class='boldbase' colspan='2'>$Lang::tr{'percentage'}</td> -</tr> + <td> </td> + <td align='center' class='boldbase'>$Lang::tr{'size'}</td> + <td align='center' class='boldbase'>$Lang::tr{'used'}</td> + <td align='center' class='boldbase'>$Lang::tr{'free'}</td> + <td align='left' class='boldbase' colspan='2'>$Lang::tr{'percentage'}</td> +</tr><tr> + <td class='boldbase'>$Lang::tr{'ram'}</td> + <td align='right'>$mem_size</td> + <td align='right'>$mem_used</td> + <td align='right'>$mem_free</td> + <td> END ; - } - else { - if ($_ =~ m/^Mem:\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)$/) { - ($ram,$size,$used,$free,$shared,$buffers,$cached) = ($1,$1,$2,$3,$4,$5,$6); - ($percent = ($used/$size)*100) =~ s/^(\d+)(\.\d+)?$/$1%/; - print <<END -<tr> -<td class='boldbase'>$Lang::tr{'ram'}</td> -<td align='right'>$size</td> -END -; - } - elsif ($_ =~ m/^Swap:\s+(\d+)\s+(\d+)\s+(\d+)$/) { - ($size,$used,$free) = ($1,$2,$3); - if ($size != 0) { - ($percent = ($used/$size)*100) =~ s/^(\d+)(\.\d+)?$/$1%/; - } - else { - ($percent = ''); - } - print <<END -<tr> -<td class='boldbase'>$Lang::tr{'swap'}</td> -<td align='right'>$size</td> -END -; - } - elsif ($ram and $_ =~ m/^-\/\+ buffers\/cache:\s+(\d+)\s+(\d+)$/ ) { - ($used,$free) = ($1,$2); - ($percent = ($used/$ram)*100) =~ s/^(\d+)(\.\d+)?$/$1%/; - print "<tr><td colspan='2' class='boldbase'>$Lang::tr{'excluding buffers and cache'}</td>" - } - print <<END -<td align='right'>$used</td> -<td align='right'>$free</td> -<td> -END -; - &Header::percentbar($percent); - print <<END -</td> -<td align='right'>$percent</td> +($percent = ($mem_used/$mem_size)*100) =~ s/^(\d+)(\.\d+)?$/$1%/; +&Header::percentbar($percent); +print <<END + </td> + <td align='right'>$percent</td> </tr> END ; - } +print "<tr><td colspan='2' class='boldbase'>$Lang::tr{'buffers'}</td><td align='right'>$mem_buffers</td><td> </td><td>"; +($percent = ($mem_buffers/$mem_size)*100) =~ s/^(\d+)(\.\d+)?$/$1%/; +&Header::percentbar($percent); +print "</td><td align='right'>$percent</td></tr>"; +print "<tr><td colspan='2' class='boldbase'>$Lang::tr{'cached'}</td><td align='right'>$mem_cached</td><td> </td><td>"; +($percent = ($mem_cached/$mem_size)*100) =~ s/^(\d+)(\.\d+)?$/$1%/; +&Header::percentbar($percent); +print "</td><td align='right'>$percent</td></tr>"; +print "<tr><td colspan='2' class='boldbase'>$Lang::tr{'excluding buffers and cache'}</td><td align='right'>$buffers_used</td><td> </td><td>"; +($percent = ($buffers_used/$mem_size)*100) =~ s/^(\d+)(\.\d+)?$/$1%/; +&Header::percentbar($percent); +print "</td><td align='right'>$percent</td></tr>"; +print "<tr><td class='boldbase'>$Lang::tr{'swap'}</td><td align='right'>$swap_size</td><td align='right'>$swap_used</td><td align='right'>$swap_free</td><td>"; +if ($swap_size != 0) { + ($percent = ($swap_used/$swap_size)*100) =~ s/^(\d+)(\.\d+)?$/$1%/; } -close FREE; -print <<END -</table></td><td> -<table> -<tr><td class='boldbase'>$Lang::tr{'shared'}</td><td align='right'>$shared</td></tr> -<tr><td class='boldbase'>$Lang::tr{'buffers'}</td><td align='right'>$buffers</td></tr> -<tr><td class='boldbase'>$Lang::tr{'cached'}</td><td align='right'>$cached</td></tr> -</table> -</td></tr></table> -END -; +else { + $percent = ''; +} +&Header::percentbar($percent); +print "</td><td align='right'>$percent</td></tr>"; +print "</table>"; &Header::closebox(); print "<a name='disk'/>\n"; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE: Pinpoint memory and threading errors before they happen. Find and fix more than 250 security defects in the development cycle. Locate bottlenecks in serial and parallel code that limit performance. http://p.sf.net/sfu/intel-dev2devfeb _______________________________________________ Ipcop-svn mailing list Ipcop-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ipcop-svn