[Orca-users] re: more info: dead zone on all graphs at same time

Blair Zajac blair at orcaware.com
Mon Jan 20 11:53:45 PST 2003


Paul Chevalier wrote:
> 
> Jeff,
> 
> I've run across a couple of situations that produce
> "dead zones", here's some info that might help.
> 
> 1: If the blank bands are only on cpu, check if the
> system has a lot of idle time during the banding.
> Occasionally on Solaris 8 systems, SE/orcallator
> records idle% at just over 100%, The default
> orcallator.cfg cpu parameters declare anything over
> 100% invalid, and plot nothing for that timeslot.
> Check the orca-dev list, Feb 21 2002, for a workaround
> I submitted. I've been using that workaround since
> then on several hundred Solaris 8 systems, and it's
> also eliminated the blank cpu banding when recreating
> archived graphs.

Hi Paul,

Looking at the email

http://www.orcaware.com/pipermail/orca-dev/2002-February/000187.html

The reason changing

	data                    idle%
	data_max                100

to

	data                    1 * ( idle% )

works is that Orca considers the equation "1 * ( idle% )" different
than "idle%" and generates new RRD files.  So probably you deleted
the data_max at the same time, and then Orca generated brand new
RRD files without the data_max limit.

The real solution to the problem is to apply the following patch
to include/live_rules.se in the SE distribution:


--- include/live_rules.se.0     2002-07-16 18:02:54.000000000 -0700
+++ include/live_rules.se       2002-12-28 21:39:26.000000000 -0800
@@ -121,7 +121,7 @@
 /* function to total up global per_cpu data into vmstat form */
 p_vmstat vmglobal_total() {
   int i;
-  int total;
+  double total;
   p_vmstat pvm;

   pvm = GLOBAL_pvm[0];
@@ -151,8 +151,15 @@
 #endif
   }
   total = pvm.user_time + pvm.system_time + pvm.wait_time + pvm.idle_time;
-  if (total < 100) {
-    pvm.idle_time += (100 - total);
+  if (total < 100.0) {
+    pvm.idle_time += (100.0 - total);
+  }
+
+  /* Make sure that total is never greater than 100%.  Better less
+   * than 100% than greater than 100%.  */
+  total = pvm.user_time + pvm.system_time + pvm.wait_time + pvm.idle_time;
+  if (total > 100.0) {
+    pvm.idle_time -= (total - 100.0);
   }
   return pvm;
 }



> 
> 2: Another situation we've seen produce blank banding
> for all datasets on a Solaris 8 system involves a
> change in devices. Orcallator normally handles
> mount/unmount of disks by putting a new header in the
> logfile to reflect the change in devices. When Sun's
> Instant Image tool performs a dependant snapshot, it
> unmounts and remounts the shadow volume(a few minutes
> duration). Orcallator should handle that, but what
> we've seen is that all the data in the current log
> file is lost when the log file is turned. Our
> workaround for now is to just restart orcallator a few
> minutes before the snapshot event, minimizing the data
> loss.

Which version of orcallator.se are you using?  Current versions should
create a brand new data file each time the system configuration changes,
so stopping and starting should be unnecessary.

Best,
Blair

-- 
Blair Zajac <blair at orcaware.com>
Plots of your system's performance - http://www.orcaware.com/orca/


More information about the Orca-users mailing list