Apache::VMonitor -- The Visual System and Apache Server Monitor Page 3

Therefore the tool helps to detect abnormal situation by changing the swap report row's color according to the following rules:

         swap usage               report color
   5Mb < swap < 10 MB             light red
   20% < swap (swapping is bad!)  red
   70% < swap (almost all used!)  red + blinking (if enabled)

Note that you can turn on the blinking mode with:

  ::VMonitor::Config{BLINKING} = 1;

The module doesn't alert when swap is being used just a little (<5Mb), since it happens most of the time on many Unix systems, even when there is plenty of free RAM.

If you don't want the system section to be displayed set:

  ::VMonitor::Config{SYSTEM} = 0;

The default is to display this section.

top(1) Emulation: Apache/mod_perl Processes Status
Then just like in real top(1) there is a report of the processes, but it shows all the relevant information about mod_perl processes only!

The report includes the status of the process (Starting, Reading, Sending, Waiting, etc.), process' ID, time since current request was started, last request processing time, size, shared, virtual and resident size. It shows the last client's IP and Request URI (only 64 chars, as this is the maximum length stored by underlying Apache core library).

This report can be sorted by any column during the application use, by clicking on the name of the column, or can be preset with the following setting:

  ::VMonitor::Config{SORT_BY}  = "size";

The valid choices are: ''pid'', ''mode'', ''elapsed'', ''lastreq'', ''served'', ''size'', ''share'', ''vsize'', ''rss'', ''client'', ''request''.

The section is concluded with a report about the total memory being used by all mod_perl processes as reported by kernel, plus extra number, which results from an attempt to approximately calculate the real memory usage when memory sharing is taking place. The calculation is performed by using the following logic:

  1. For each process sum up the difference between shared and total memory.

  2. Now if we add the share size of the process with maximum shared memory, we will get all the memory that is actually used by all mod_perl processes, but the parent process.

Please note that this might be incorrect for your system, so you should use this number on your own risk. We have verified this number on the Linux OS, by taken the number reported by Apache::VMonitor, then stopping mod_perl and looking at the system memory usage. The system memory went down approximately by the number reported by the tool. Again, use this number wisely!

If you don't want the mod_perl processes section to be displayed set:

  ::VMonitor::Config{APACHE} = 0;

The default is to display this section.

top(1) Emulation: Any Processes
This section, just like the mod_perl processes section, displays the information in a top(1) fashion. To enable this section you have to set:
  ::VMonitor::Config{PROCS} = 1;

The default is not to display this section.

This article was originally published on Dec 27, 2000

Thanks for your registration, follow us on our social networks to keep up-to-date