Trying to reduce session footprint for better battery life and RAM usage

Registered by Didier Roche on 2012-10-15

In the past few cycles, we saw that our desktop took more and more RAM to run the full session. Also, more daemons mean more interruptions on the CPU, and less battery file. We will get services to not run when not needed and work on improving the code of those components to consume less resources

Blueprint information

Status:
Not started
Approver:
Didier Roche
Priority:
High
Drafter:
Sebastien Bacher
Direction:
Approved
Assignee:
Sebastien Bacher
Definition:
Approved
Series goal:
Accepted for raring
Implementation:
Not started
Milestone target:
milestone icon ubuntu-13.04-beta-2

Sprints

Whiteboard

smem-raring list on 2013-01-16: https://wiki.ubuntu.com/Nexus7/Smem-2013-01-16

Notes

* update-notifier:
bdmurray - in addition to file monitoring update-notifier also checks for CDs with packages on them, monitors for devices requiring firmware, and checks for a new release of Ubuntu
http://wiki.ubuntu.com/UpdateNotifier

seb128 - it should be possible to change from a binary running all the time to one triggered by upstart on some condition, doing its work and exiting

bdmurray - ppa version of update-notifier with quite a few upstart user session jobs is available at https://launchpad.net/~brian-murray/+archive/ppa

* ubuntu-system-service/systemd:
dropped item to rewrite ubuntu-system-service Ubuntu specific interfaces in !python, that's already covered in https://blueprints.launchpad.net/ubuntu/+spec/desktop-r-ubuntu-system-services

-----------------

seb128, 2012-03-11: updated some items:
- dropped cups-on-demand items, it's covered by https://blueprints.launchpad.net/ubuntu/+spec/client-1303-printing-stack-with-mobile-in-mind
- dropped compiz work, we don't plan to spend more effort on compiz this cycle
- set "port to vala" items as postponed, there is no obvious target not individually listed at the moment

(?)

Work Items

Work items:
[robert-ancell] look at why lightdm is using 30MB (it's due to the memory locking - without locking it drops to 3.7M) : DONE
[mterry] Make lightdm selectively lock memory instead of using mlockall: DONE
[canonical-desktop-team] go through the long running processes and run valgrind on them to assure we don't have obvious leaks: DONE
[seb128] look if gnome-keyring needs to be running all the time (needs to, restarting would mean having to unlock it again, e.g ask user for password every time): DONE
look if polkit-gnome-authentication needs to be running all the time: POSTPONED
[mhr3] make zg-fts expire datas after some time to reduce the size of the db: POSTPONED
[charles] valgrind the indicators stack: POSTPONED
look at making notify-osd exit on idle: DONE
[didrocks] talk to desrt and others about a "libidle" to use for "exit after idle": POSTPONED
[ken-vandine] check with online team if signond needs to be running all the time: DONE
[ken-vandine] investigate long running telepathy-indicator/mission-control: DONE
[ken-vandine] investigate long running geoclue/geoip services: POSTPONED
[charles] look at moving the eds/geoclue use in indicator-datetime from startup to about-to-show: POSTPONED
[seb128] talk to U1 guys about memory usage and disk wakes: POSTPONED
[seb128] look at what is making goa run for some users (it's e-d-s): DONE
change evolution-source-registry to not start goa under unity: POSTPONED
[laney] drop g-c-c recommends on goa so it's not installed by default: DONE
look at the dbus traffic and work to reduce it: POSTPONED
[seb128] provide a list/documentation for python processes that could be ported to C/vala/...: POSTPONED
[mhall119] engage with the community for the python->c/vala porting effort: POSTPONED
[ogra] seed zram-conf: DONE
[seb128] talk to the QA team about daily measurement: DONE
[seb128] look at the wakeups list and set work items for the main offenders: POSTPONED
[seb128] set up follow-up meetings about the topics we didn't cover during the session: DONE
[didrocks] look at what options are activated in compiz and not needed (reduce number of .so loaded by default): POSTPONED
[attente] rewrite unity-lens-photo in vala: POSTPONED
[stolowski] rewrite unity-lens-video in vala (lp:~stolowski/unity-lens-video/vala-rewrite): DONE
[ken-vandine] investigate long running signon-ui : DONE
[canonical-dx-team] rewrite unity-scope-video-remote in !python: POSTPONED
[canonical-dx-team] rewrite unity-scope-gdrive in !python: POSTPONED
review g-s-d components and which ones are needed or not needed: DONE
[seb128] run unity-panel-service under valgrind loading selectively one indicator at time (possible leak pointed on http://people.canonical.com/~j-lallement/N7/memusage/idle/unity-panel-ser.png): POSTPONED
replace ubuntu-system-services (python) by systemd helpers (C): DONE
[brian-murray] look at what update-notifier is used for nowadays, identify if those functionalities could be replaced/moved to upstart jobs [http://wiki.ubuntu.com/UpdateNotifier]: DONE
[brian-murray] change update-notifier to be running on demand, from an upstart job, does the action it has been called for and exit: POSTPONED
investigate if mousetweaks is useful/should be running on the nexus (it's not enabled by default so not an issue): DONE
[ev] Reduce memory usage of whoopsie: POSTPONED
investigate if we can make cups run on-demand (would require socket activation support in upstart? - upstart supports socket activation, so one only needs to update job file): POSTPONED
[larsu] investigate not running indicator-printer on systems without a printer configured: POSTPONED
[ted] teach hud-service to exit after an idle timeout: INPROGRESS
[cjwatson] fix upower memory leaks: DONE
[cjwatson] reduce update-notifier memory use: DONE

Dependency tree

* Blueprints in grey have been implemented.