Improving OOTB performance
len at ovenwerks.net
Mon May 21 15:31:37 UTC 2012
On Fri, May 18, 2012 3:41 pm, óÅÒÇÅÊ äÁ×ÙÄÏ× wrote:
> Hi Euro,
> Thanks for testing out my proposals! Ulatency supports per-cgroup
> swappiness control, so it can set swappiness to zero for media apps
> (given the following kernel parameters:
> CONFIG_CGROUP_MEM_RES_CTLR_SWAP_ENABLED=y )
> Everything else can be zramswapped out of the way of media apps
> (ubuntu has swappiness 60 by default so it *will* be zramswapped out
> of the way).
Ok, Ulatency is going to be one of my next tests. Do you have a link other
than the github for downloading from? That is can I download/install a
With regards to swap... I have been doing a little test that seems to be
showing a swap problem. I am running the system very lightly loaded. XFCE
- Swappiness = 10
- CRON and friends turned off
- ath9k unloaded (for a known problem with my H/W)
- CPU throttling set to performance (full speed)
- Jackdbus running at -p 128 (lowest this H/W supports)
- pulse-jack bridging turned off (pulse is still running)
- screen saver runs as required, I only mention this because stock Ubuntu
Studio is set to blank.
Anyway, The first 8 hours there were no xruns at all. I was very happy. I
had been checking off and on and so the screen saver was also off and on.
However, right about this time a pile of xruns show up all at once... Not
while I am watching but I notice an hour or so later. I looked through all
the log files in /var/log/ and there is nothing happening at that time. I
can only assume the screensaver had been swapped out and the swap in
caused problems. Running second test today the same as above, but with
swappiness set to zero. So far (18 hours or so?) no xruns... I am waiting
for the system to go past the same time of day just in case (even though
Cron, anacron and atd are not running) orage is doing something or there
is something else that watches the time. I have no alarms set in orage.
I say all this because maybe you know more about how the kernel swaps than
I do (ok everyone knows more about swap than I do). It would have seemed
to me there was no reason for any swapping to occur. All that was running
was the O/S and the DE, plus qjackctl and jackdbus. There was no net
connection. Does the kernel swap stuff out just because something hasn't
been used for a long time? What priority does swap in have? Swap out seems
to be pretty "lazy" unless forced by something. Is swap in high priority
regardless of the priority of the process being swapped back in? Is swap
in done in big memory transfers such that the bus is in control and not
the CPU? Jackdbus seems to be idling, but should to the OS be busy because
even with no audio input it has to output 88200 16 or 24 bit words of
silence per second. (for stereo 44100 per side) It has memlock anyway.
Possibly qjackctl swaps out and so because it takes some time to swap back
in, I don't see the mess till later. But qjackctl's display is not black
when the screensaver departs as it is when I change workspaces and it is
swapped out (in earlier tests). but maybe the screen saver doesn't wipe
the screen contents.
It is true this test is somewhat "atypical" of normal use except for
logging where the latency would be set quite high and high quality audio
need not be guaranteed. However, it is the only way to test for things
that don't happen all the time.
The reason I ask all this stuff is because I am thinking about the use of
Ulatency, where some things are set to swap and others are not. Sounds
good, but if the swapping itself can cause xruns/dropouts, then a system
wide swappiness of zero is the only cure unless there is some way to set
the niceness of kernel swapping.
More information about the Ubuntu-Studio-devel