til about ulatencyd

In irc a little while ago someone was having trouble with ftp’d files to a lighthttp server and mentioned apache had been taking up too much ram on the system, and I made a comment that ‘cgroups will solve that problem (ram usage), I’m told’. Someone else chimed saying ‘ulatencyd’, which I had never heard of, and frankly when I first read the word, thought it was a typo.

But no, lo and behold, ‘ apt-cache search ulatencyd ‘ on this debian testing machine returned two packages:

ulatency – scriptable latency regulator using cgroups (client)
ulatencyd – scriptable latency regulator using cgroups (server)

Jessie’s ulatencyd page has links to the maintainer’s page, bug reports and the popularity context statistics for ulatencyd. Pretty popular, afaict.

Poking around the ‘net for introductory information about ulatencyd, I cam across Linux Performance Improvements a blog post by Frederik Himpe, a 30-year-old Linux system administrator from Ghent, Belgium, working at the Vrije Universiteit Brussel. Much good stuff in that blog post, well worth a read.

Remember those 20 lines of code from a few years ago which were going to super-turbo-warp-drive everyone’s desktop? Tongue in cheek, ulatencyd is the Next Generation of that code:

ulatencyd is a daemon which uses cgroups to give hints to the kernel’s process scheduler CFS to improve desktop latency and make applications feel more responsive. It will prevent individual applications from hogging the system, slowing down other applications . This is somewhat simpler than the much hyped (but controversial) autogroup kernel patch but this solution is much more extensive in that ulatencyd knows different applications and desktops and knows how to configure the scheduler to improve responsiveness.

(from the blog post)

I don’t do the kind of fiddling involved in switching desktops, distro hopping and trying new applications anymore, but ulatencyd looks like it’s worth a try.