We have moved to a new Sailfish OS Forum. Please start new discussions there.
22

lowmemorykiller vs OOM killer

asked 2016-06-27 11:46:05 +0300

this post is marked as community wiki

This post is a wiki. Anyone with karma >75 is welcome to improve it.

updated 2016-06-27 11:46:05 +0300

V10lator gravatar image

I see a lot of people here or at TMO talking about better multitasking with SfOS 2.0.2.45 (12+ apps without OOM kills) but I wasn't able to confirm that. So I looked a bit deeper and noticed people telling about better multitasking aren't using the Andoid runtime but I am using it. Then I found this question, which asked about disabling the lowmemorykiller. Thinking about it I realized that the lowmemorykiller is an Android thing, on Linux systems the same job is done by the OOM killer. So I disabled the lowmemorykiller and since I did that I didn't have a single OOM kill while running more apps simultaneously than ever before:

[nemo@Sailfish ~]$ dmesg | grep -i lowemorykiller
[nemo@Sailfish ~]$ dmesg | grep -i OOM
[nemo@Sailfish ~]$ uptime
 10:43:56 up 2 days, 18:37,  1 user,  load average: 0.07, 0.25, 0.50

My conclusion from this is that the lowmemorykiller is heavily tuned for Androids single tasking environment and just behaves badly in multitasking environments like SailfishOS. I would even go that far to say the lowmemorykiller should be removed from the kernel of SailfishOS (and that's why I mark this as a bug).

edit retag flag offensive close delete

Comments

@V10lator, How did you get OOM killer installed on the Jolla? Is it there by default? How exactly did you deactivate lowmemorykiller and replace it with OOM killer?

bennypr0fane ( 2016-11-17 19:53:32 +0300 )edit

1 Answer

Sort by » oldest newest most voted
1

answered 2016-06-27 15:08:45 +0300

tigeli gravatar image

In ideal case the devices would have enough RAM for all use cases however this is not the case. The lowmemorykiller is required to keep the system responsive in cases like incoming phone call while the system is really low on the available memory. Using the plain OOM-killer the devices would be affected by temporary lock ups while the OOM-killer is trying to free some memory, eventually this causes people to miss the phone calls as the UI is not responsive.

This could be sorted out on some level by not letting the system start more applications when the system is low on available memory and showing an error that user needs to free up some memory to be able start more applications. This would also mean that some part of the memory needs to always reserved for applications like phone, messaging, daemons etc..

Easiest way out is getting a sailfish-device which has more RAM. Eg. JollaC is more much usable than the Jolla1 in this respect.

edit flag offensive delete publish link more

Comments

Funnily enough I had missed calls cause the UI came up too late and/or wasn't responsive when the lowmemorykiller was activated. Didn't see that behaviour in 2 days of use with it deactivated (but was a time with just a few calls). Instead apps where killed by lowmemorykiller while they where the only ones running, OOM killer never killed a single app for me in this 2 days and I have a ton open at the same time.

Getting a phone that's no longer being sold is no option. There's currently no alternative to the Jolla 1 on the market.

V10lator ( 2016-06-27 15:13:52 +0300 )edit

@V10lator Don't know when the Intex-device is coming out but that could be one device to buy.

tigeli ( 2016-06-27 15:19:09 +0300 )edit
Login/Signup to Answer

Question tools

Follow
11 followers

Stats

Asked: 2016-06-27 11:46:05 +0300

Seen: 1,289 times

Last updated: Jun 27 '16