thumper​thoughts

random vibrations and clatterings

GoDaddy (Virtuozzo) Virtual Server in cacti

A business site I provide some support to runs on a GoDaddy virtual Linux server. We were having some performance issues so I dug into the available data and found we were hitting our memory limits. It seems the Virtuozzo system used by GoDaddy has hard and soft resource limits – you can go over the soft limits for short periods but after a while bad things start to happen. Like Virtuozzo shooting your processes in the head. As the applications and OS think they have the hard limit available, staying below the soft limit is problematic.

Virtuozzo makes status information available in /proc/user_beancounters. The different fields are pretty cryptic – their meanings are described in detail here.

The attached zip file contains two cacti template exported from Cacti version Version 0.8.7b, a snippet to add to the snmpd.conf on the server and a one line shell script called readbeans which is called by the snmpd agent. Deploy these latter items on your GoDaddy VM and suck the templates into Cacti. This will give you a “Virtuozzo Beancounters” data query which you can add to your device which should give you access to 20 graphs (don’t check resource, that one is bogus).

I found that building a compound graph like this brought together the most interesting values:

This long term graph shows where I implemented the crude but effective solution of restarting various system processes nightly (snmpd, httpd, mysqld, named and Plesk), some of which were gradual memory hogs.

 

 

Download this template

Octosonar - connect 8 HC-SR04 Ultrasonic Sensors to Arduino
OctoSonarX2 - connect 16 HC-SR04 Ultrasonic Sensors to Arduino
Absolute Encoder 128 Positions for Arduino
Absolute Encoder 128 positions for Arduino with QWIIC interface
Octosonar - connect 8 HC-SR04 Ultrasonic Sensors to Arduino
OctoSonarX2 - connect 16 HC-SR04 Ultrasonic Sensors to Arduino
Absolute Encoder 128 Positions for Arduino
Absolute Encoder 128 positions for Arduino with QWIIC interface