Thursday 30 July 2015

Raspberry Pi RAM gobbled up by irqbalance

Problem: After a few days uptime my Pi sees hundreds of MB gobbled up by the irqbalance daemon (which balances interrupts across multiple CPUs). Package version is 1.0.6-3 on Debian jessie/armhf and its a known bug.

Fix: 0) Restart irqbalance in nightly cron job, or 1) Compile and install a newer, patched version (my choice).

Remove buggy irqbalance:

$ sudo systemctl stop irqbalance
$ sudo apt-get --purge remove irqbalance

Install development tools on the Pi:

$ sudo apt-get install build-essential autogen automake libtool pkg-config checkinstall

Download source and unpack:

$ wget https://github.com/Irqbalance/irqbalance/archive/v1.0.9.tar.gz && tar xvzf v1.0.9.tar.gz

Checkinstall is an easy way to make Debian packages for personal use. Compile and (check)install:

$ cd irqbalance-1.0.9
$ /autogen.sh
$ ./configure
$ make
$ sudo checkinstall make install

Start new irqbalance:

$ sudo /usr/local/sbin/irqbalance &

I have been running the daemon for a few days now and it stays around 0.6% memory usage vs 20% (and growing) of the previous packaged version.

Happy hacking!