← Back to team overview

ubuntu-phone team mailing list archive

Re: Memory..

 

I think there's really something wrong with the memory management.I have somehow similar experiences with you. Sometimes, usually after a reboot, I can open many apps and can scroll infinitely in webapps like facebook withouth "white screen" but sometimes apps frustratingly closes and the browser can't even load any pages without the "low memory" warning.I'm really hoping this will be significantly improved in the future...sooner would be better :)

      From: Wayne Ward <info@xxxxxxxxxxxxxxx>
 To: ubuntu-phone@xxxxxxxxxxxxxxxxxxx 
 Sent: Thursday, July 21, 2016 10:03 AM
 Subject: Re: [Ubuntu-phone] Memory..
   
Good morning guys :)

funny thing with the low memory
i left my phone in my pocket open yesterday which screwed my mobile
settings - i ended up zapping it as couldnt get mobile data to work!
put everything back as normal 
now i rockwork and owncloud sync installed 
and like to have dekko running unconfined and music app waiting to play
and thats it, i usually battle to keep these to open ..
last night i had these open and can usually open only one social media
app IE facebook, if i want to go on google + i have to close facebook
other wise i get this reload when im scrolling down
last night i had the music / dekko and facebook and google + working
perfect it was like the phone had a new lease of life!

I thought about it this morning, the only thing thats different on this
phone than my usual setups is i dont have ssh enabled to the phone?
Can that make a difference or has there been some changes over the past
few days, i am on proposed

Many thanks for any questions

Wayne  :)


On Wed, 2016-07-20 at 13:37 +0200, Eran Benjamin wrote:
> 
> 
> On 19-07-16 17:41, Gerry Boland wrote:
> > On 07/16/2016 08:48 PM, Thomas Voß wrote:
> > > On Sat, Jul 16, 2016 at 8:25 PM, รัชนันท์ ศรีรัตนเมธ
> > > <peathot@xxxxxxxxxxx> wrote:
> > <snip>
> > > > In Ubuntu touch, I have no idea where oom_adj is computed.
> > > > (Please anyone
> > > > tell me?) But from my experiment, all suspended applications
> > > > have the same
> > > > value of oom_adj. How this affects the problem? Imagine this:
> > > You are almost right, but we are not using Android's
> > > lowmemorykiller, yet.
> > > Instead, we configure the vanilla OOM killer by altering
> > > oom_score_adj
> > > (oom_adj is deprecated).
> > > 
> > > Android's lowmemorykiller sits on top of this mechanism and
> > > allows for
> > > specifying ranges of memory
> > > and mappings to oom{_score}_adj values.
> > > 
> > > As you describe later, we are not yet deploying a heuristic that
> > > assigns a higher oom_score_adj value
> > > to app instances that have been used less recently (think about:
> > > least
> > > recently used is more likely to be killed under the assumption
> > > of a uniform distribution of memory usage). The respective
> > > feature is
> > > under development iirc, but I'll
> > > let Gerry and Ted comment on this explicitly (I CC'ed both of
> > > them explicitly).
> > Thomas is correct, while we're setting an OOM score to influence
> > the OOM
> > killer's decisions, we currently set the same OOM score for all
> > background apps, irrespective of how recently they were used.
> > 
> > We're now working on more advanced OOM score calculation, so that a
> > recently-used background app is less likely to be killed than one
> > used
> > less recently. This bug tracks that task:
> > https://bugs.launchpad.net/ubuntu/+source/ubuntu-app-launch/+bug/15
> > 79799
> > 
> > 
> > <snip>
> > > > 2.Ubuntu touch's choice for using QML. Out of curiosity, I
> > > > opened an SSH
> > > > session, ran "top", and looked at the calculator app's memory
> > > > usage on my
> > > > phone. I found out it's around 113 MB. 113 MB just for a
> > > > caculator!? I'm
> > > > speechless.
> > > > I believe this can be reduced somehow. One of the idea is that,
> > > > as many QML
> > > > component in Ubuntu is shipped as source .qml files, I
> > > > understand that each
> > > > application will have to load those files, parse that files,
> > > > and keep those
> > > > parsed code individually in each application's memory (please
> > > > correct me if
> > > > I'm wrong). As many Android kernel has enabled KSM (kernel
> > > > samepage
> > > > merging), maybe we should try exploiting it? I've tried
> > > > enabling KSM on my
> > > > device, but the result was pretty disappointing. Maybe we
> > > > should mark those
> > > > memory as  mergeable?
> > > > 
> > > I think we should take the time and analyze memory usage first
> > > before
> > > starting to optimize.
> > > Specifically, for the reported 113 MB, is that RSS, USS or PSS?.
> > > I
> > > don't have a phone with ssh handy right now
> > > but I will try to reproduce your test case tomorrow first thing.
> > > I
> > > would start analyzing /proc/$pid/smaps first.
> > > 
> > > I would also propose to establish a memory baseline measurement
> > > by
> > > considering a very simple QML app just displaying a rectangle.
> > > That should give a reasonable baseline for comparisons. Even if
> > > the
> > > calculator is simple, it still puts its own app logic on top
> > > (stack of
> > > calculations etc.).
> > QML is a very easy language to use, but that has a consequence: it
> > is
> > easy to write code in a memory wasteful manner.
> > 
> > One can easily write code that loads all the views your application
> > will
> > ever have into memory - even though only one view is shown at a
> > time. It
> > just takes a little care to properly load/unload views to lower
> > your
> > memory use (using the UITK will help with that).
> > 
> > It is too easy to load big images into memory and scale them down
> > on the
> > GPU. Complex QML widgets can be expensive in memory too - the UITK
> > team
> > are working on rewrite existing QML widgets to be more efficient.
> > 
> > The sad truth is that when developing an application, monitoring
> > memory
> > usage is one of the last things thought of!
> > 
> > To address thing we're working on a performance monitoring system
> > to
> > give a high-level perspective on application resource usage
> > (CPU/memory/IO...), so we can quickly identify wasteful apps and
> > help
> > them improve. Watch this space!
> > 
> > Thanks for sharing your thoughts.
> > -Gerry
> > 
>  Is there a simple way (e.g. cli) to influence this OOM score metric?
> Let's say that the music app is my most important, but I do not bring
> it up often, can I manually give it some static priority in the
> decision making?
> 
> 
> 
> > 
> > 
>  
> -- 
> Mailing list: https://launchpad.net/~ubuntu-phone
> Post to     : ubuntu-phone@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~ubuntu-phone
> More help   : https://help.launchpad.net/ListHelp


-- 
Mailing list: https://launchpad.net/~ubuntu-phone
Post to    : ubuntu-phone@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~ubuntu-phone
More help  : https://help.launchpad.net/ListHelp


  

References