AnsweredAssumed Answered

Android memory performance on SabreLite

Question asked by varsmolta on Mar 17, 2013
Latest reply on Mar 17, 2013 by Yuri Muhin

after running android on the sabrelite, I came across a couple of issues. The android image is a prebuilt 4.0.4 taken from the boundary devices site: http://boundarydevices.com/android-r13-4-stage-3/

 

When I open browser, sometime I get a message "Browser is not responding. Would you like to close it". I just click WAIT and eventually I am able to use the browser. I get the "Browser is not responding message" intermittently during browsing (i.e. it seems like there is some bottleneck). See below for excerpt of "busybox top" command sorted by %MEM column. This was done while playing a youtube video. VPU acceleration seems to be working :-) It seems like CPU usage is not the bottleneck. Max cpu util is 8.6% for CPU4. Could it be that physical RAM is the bottleneck (although it shows 286084K memory as being free). It seems more likely that memory allocated to the browser application is the bottleneck as it shows 90.9% usage of memory allocated to the browser process.

 

Mem: 547620K used, 286084K free, 0K shrd, 1632K buff, 59980K cached

CPU0: 396MHz  8.3% usr  8.1% sys  0.0% nic 81.9% idle  0.0% io  0.0% irq  1.5%

CPU1: 396MHz  4.5% usr  4.1% sys  0.0% nic 91.2% idle  0.0% io  0.0% irq  0.0%

CPU2: 396MHz  1.9% usr  1.5% sys  0.1% nic  0.0% idle 96.2% io  0.0% irq  0.0%

CPU3: 396MHz  8.6% usr  2.8% sys  0.0% nic 88.6% idle  0.0% io  0.0% irq  0.0%

Load average: 9.15 6.21 6.11 2/499 3673

  PID  PPID USER     STAT   VSZ %MEM CPU %CPU COMMAND

3450  2310 10028    R     741m 90.9   0  6.6 com.android.browser              

2388  2310 1000     S     739m 90.7   2  0.0 system_server                    

2467  2310 1000     S     669m 82.1   3  0.0 com.android.systemui             

2862  2310 1000     S     667m 81.9   0  0.0 com.android.settings             

2580  2310 10018    S     663m 81.3   0  0.0 com.android.launcher             

3014  2310 10035    S     656m 80.4   0  0.0 com.android.gallery3d            

3049  2310 10005    S     654m 80.3   0  0.0 com.android.quicksearchbox       

2849  2310 10020    S     639m 78.4   3  0.0 com.android.music                

2767  2310 1000     S     635m 77.9   1  0.0 fsl.power.service                

2604  2310 10004    S     460m 56.5   1  0.0 android.process.acore            

2569  2310 1001     S     454m 55.7   2  0.0 com.android.phone                

2803  2310 10034    S     449m 55.0   1  0.0 com.android.exchange             

2787  2310 10030    S     448m 55.0   2  0.0 com.android.email                

2646  2310 10029    S     446m 54.7   0  0.0 com.android.calendar             

2741  2310 10004    S     446m 54.7   3  0.0 com.android.contacts             

2515  2310 10011    S     444m 54.5   3  0.0 android.process.media            

2699  2310 10024    S     443m 54.4   0  0.0 com.android.providers.calendar 

 

What sort of buildtime or run time optimizations can we make to improve the performance? Would running on eMMC (custom solution) help than running on sd card? Would upgrading to Android Jelly bean help? I have ordered a HI-802/GK802 hdmi dongle to compare the performance (http://armdevices.net/2012/10/16/hi802-i-mx6-quad-hdmi-stick-89-incl-worldwide-shipping-on-armdevices-net-members-store/). I don't have it in hand yet. But from everything I hear, it runs super smooth and is one of the fastest hdmi dongles out there.


Outcomes