Several files are created while starting Icinga and processed very often during runtime. Depending on the size of your configuration this may lead to high I/O and therefore degraded responsiveness. To reduce physical I/O operations it might be a good idea to place temporary files on a RAM disk. The following lines show the steps to setup a RAM disk and the changes to the main config file.
Please keep in mind that these files will be lost if you reboot the system. Also note that sometimes it is difficult to determine the size of these files which may lead to a full RAM disk.
Have a look at the current location of the status file (e.g.
/usr/local/icinga/var/status.dat) and the object cache file
/usr/local/icinga/var/objects.cache) and determine the size of both files. Add the size of the status file
for temporary data (temp_file).
#> ls -la /usr/local/icinga/var/ -rw-rw-r-- 1 icinga icinga 8.2M Jun 10 11:57 status.dat -rw-r--r-- 1 icinga icinga 5.9M Jun 10 11:58 objects.cache
Increase the number to a considerable value to allow for future growth (100 MB should be sufficient in this case) and create the RAM disk.
If the value is too high then this will throttle your system because it will start to swap resulting in physical I/O once again.
#> mkdir /var/icinga/ramdisk #> mount -t tmpfs tmpfs /var/icinga/ramdisk -o size=100m #> chown icinga:icinga /var/icinga/ramdisk
Adapt the values of user and group to the ones found in your configuration if necessary.
Add an entry to
/etc/fstab to make the setting permanent so the RAM disk will be created automatically
after the next reboot.
tmpfs /var/icinga/ramdisk tmpfs size=100m 0 0
Edit the Icinga main configuration file and change the setting of the appropriate directives
#object_cache_file=/usr/local/icinga/var/objects.cache object_cache_file=/var/icinga/ramdisk/objects.cache #status_file=/usr/local/icinga/var/status.dat status_file=/var/icinga/ramdisk/status.dat #temp_file=/usr/local/icinga/var/icinga.tmp temp_file=/var/icinga/ramdisk/icinga.tmp
Restart Icinga to put the changes into effect
#> /etc/init.d/icinga restart
You may want to use the RAM disk for other files like the check results as well. Please increase the size of the RAM disk if necessary and change the directive in the main config file
Please make sure that addons like check_mk are aware of this change.
© 2009-2013 Icinga Development Team, http://www.icinga.org