Call for testing: OOM adjustment changes
-
TL;DR: Please run
sudo ubports-qa install xenial_-_multiproclockup
and report on applications not being killed at the wrong time.The OOM (Out-Of-Memory) adjustment helper is one component used to tell the kernel about which applications to rank lower and higher for killing when RAM runs out.
This mechanism used to be implemented as a setuid program, which is slow and takes a long time for web applications and browser to succeed. It shows for example on the Xperia X when switching between applications, for example a browser window and a single-process application like System Settings.In this PR (https://github.com/ubports/ubuntu-app-launch/pull/16) I've implemented the privileged OOM adjustment helper as a DBus-activated service, which means it is running in the background and taking commands over DBus, being much faster at handling lots of processes.
In case you want to help:
- Make sure your device is on the
devel
channel - Mount a tmpfs so apt can breathe:
sudo mount -t tmpfs tmpfs /var/cache/apt/archives
- Use
sudo ubports-qa install xenial_-_multiproclockup
to install the necessary packages - Reboot
- Test which applications get killed first by the system
As a general rule, the topmost app should never be touched when killing due to hitting RAM limits.
- Make sure your device is on the
-
Steps followed on Nexus 5 but after rebooting it gets stuck on booting logo.
-
@status_active that is odd. Do you have other ubports-qa repos active as well? And do you have developer mode active? Maybe we can debug it through adb. Also, are you running the devel channel?
-
@fredldotme No ubports-qa active.
I'm not running devel channel, should I?
No Developer mode active.Sorry,I don't know what I'm doing further instructions will be appreciated.
-
@status_active If you want to continue helping: You can switch to the development channel via the Updates menu in the System Settings app. You will have to rerun the commands in the first post again after that.
-
Ok, reflashing now.Developer Mode should be active?
-
@status_active Just in case the startup fails again, we might need something to get information from.
-
Oook, now it's working. March 8th update were installed too
-
@status_active Awesome!
-
@fredldotme Now, should I open as much apps as I can and take a look at them on the Terminal using TOP?
-
@status_active Opening as many apps as possible is a good start. What shouldn't happen is that the topmost application gets killed before the others.
-
@fredldotme Topmost application meaning the current active or foreground app?
-
@kugiigi I would say the most memory consuming app
-
With this change switching between apps is much snappier. I couldn't find any regressions.
-
I agree.No issues at all when switching between apps
-
Can this be installed on rc channel?
-
@mihael you can try but it's untested. As of now rc should roughly match what devel pprovides
-
Is this something that in the end (after tests) will land in the image?
-
@mihael hopefully
-
And how would you describe the benefits of this chage?