The price you pay

I advocate ultralight environments whenever possible, even going so far as to suggest dumping the entire X underbelly in favor of console “desktops” that use the framebuffer. It’s not for everybody — even most of my coworkers and associates consider it a little extreme — but the best reason for doing this is easily illustrated.

Consider the output of ps -AF on my Thinkpad, which uses nothing from the Xorg subsystem, relies on framebuffer support through a customized 2.6.31.5 kernel, and has very little in the way of extraneous packages installed (well, freecell is on here, but that’s pretty small).

UID        PID  PPID  C    SZ   RSS PSR STIME TTY          TIME CMD
root         1     0  0   416   600   0 07:30 ?        00:00:00 init [2]  
root         2     0  0     0     0   0 07:30 ?        00:00:00 [kthreadd]
root         3     2  0     0     0   0 07:30 ?        00:00:00 [ksoftirqd/0]
root         4     2  0     0     0   0 07:30 ?        00:00:00 [events/0]
root         5     2  0     0     0   0 07:30 ?        00:00:00 [khelper]
root         8     2  0     0     0   0 07:30 ?        00:00:00 [async/mgr]
root       114     2  0     0     0   0 07:30 ?        00:00:01 [kblockd/0]
root       116     2  0     0     0   0 07:30 ?        00:00:00 [kacpid]
root       117     2  0     0     0   0 07:30 ?        00:00:00 [kacpi_notify]
root       118     2  0     0     0   0 07:30 ?        00:00:00 [kacpi_hotplug]
root       165     2  0     0     0   0 07:30 ?        00:00:00 [ksuspend_usbd]
root       169     2  0     0     0   0 07:30 ?        00:00:00 [khubd]
root       172     2  0     0     0   0 07:30 ?        00:00:00 [kseriod]
root       222     2  0     0     0   0 07:30 ?        00:00:01 [pdflush]
root       223     2  0     0     0   0 07:30 ?        00:00:00 [pdflush]
root       224     2  0     0     0   0 07:30 ?        00:00:03 [kswapd0]
root       276     2  0     0     0   0 07:30 ?        00:00:00 [aio/0]
root       282     2  0     0     0   0 07:30 ?        00:00:01 [nfsiod]
root       285     2  0     0     0   0 07:30 ?        00:00:00 [crypto/0]
root       445     2  0     0     0   0 07:30 ?        00:00:03 [rpciod/0]
root       457     1  0   466   656   0 07:30 ?        00:00:00 /sbin/udevd --daemon
root       519   457  0   475   580   0 07:30 ?        00:00:00 /sbin/udevd --daemon
root       527   457  0   475   632   0 07:30 ?        00:00:00 /sbin/udevd --daemon
root       551     2  0     0     0   0 07:31 ?        00:00:00 [pccardd]
kmandla    607     1  0   796  1748   0 07:31 tty1     00:00:00 -bash
root       648     1  0   457   284   0 07:31 ?        00:00:00 /sbin/dhcpcd -t 10 -h 1161-41j eth0
kmandla    650   607  0   608   768   0 07:33 tty1     00:00:00 screen
kmandla    651   650  0   740  1360   0 07:33 ?        00:00:12 SCREEN
kmandla    652   651  0   739  1204   0 07:33 pts/0    00:00:00 /bin/bash /home/kmandla/.scripts/centerim.sh
kmandla    653   651  0  2520  5220   0 07:33 pts/1    00:00:00 alpine
kmandla    654   651  0   931  1736   0 07:33 pts/2    00:00:00 mc
kmandla    655   651  1   580  1112   0 07:33 pts/3    00:00:41 htop
kmandla    656   651  0  9005  1968   0 07:33 pts/4    00:00:00 calcurse
kmandla    657   651  0   739  1256   0 07:33 pts/5    00:00:00 /bin/bash /home/kmandla/.scripts/elinks.sh
kmandla    658   651  1  2371  3996   0 07:33 pts/6    00:00:54 mocp
kmandla    659   651  0   578   808   0 07:33 pts/7    00:00:00 hnb notes.hnb
kmandla    660   652  0  2081  4480   0 07:33 pts/0    00:00:00 centerim -T
kmandla    661   657  3  2282  7164   0 07:33 pts/5    00:01:46 elinks
kmandla    667   654  0   798  1760   0 07:33 pts/8    00:00:00 bash -rcfile .bashrc
kmandla    669   658  3 10640  3868   0 07:33 ?        00:01:46 mocp
root       755     1  0   415   508   0 08:08 tty2     00:00:00 /sbin/agetty 38400 tty2 linux
kmandla    782   651  0   814  1832   0 08:21 pts/9    00:00:00 /bin/bash
kmandla    796   651  0   798  1768   0 08:26 pts/10   00:00:00 /bin/bash
kmandla    800   796  0   535   840   0 08:27 pts/10   00:00:00 ps -AF

Now compare that to the 600m running the entire Ubuntu Gnome desktop while doubling as a file server and torrent client (and remember that those last two roles are something even a 100Mhz Pentium with 16Mb of memory can handle, so there’s no real challenge in adding those to what Gnome requires naturally).

UID        PID  PPID  C    SZ   RSS PSR STIME TTY          TIME CMD
root         1     0  0   822  1000   0 Nov05 ?        00:00:01 /sbin/init
root         2     0  0     0     0   0 Nov05 ?        00:00:00 [kthreadd]
root         3     2  0     0     0   0 Nov05 ?        00:00:00 [migration/0]
root         4     2  0     0     0   0 Nov05 ?        00:00:01 [ksoftirqd/0]
root         5     2  0     0     0   0 Nov05 ?        00:00:00 [watchdog/0]
root         6     2  0     0     0   0 Nov05 ?        00:00:00 [events/0]
root         7     2  0     0     0   0 Nov05 ?        00:00:00 [cpuset]
root         8     2  0     0     0   0 Nov05 ?        00:00:00 [khelper]
root         9     2  0     0     0   0 Nov05 ?        00:00:00 [netns]
root        10     2  0     0     0   0 Nov05 ?        00:00:00 [async/mgr]
root        11     2  0     0     0   0 Nov05 ?        00:00:00 [kintegrityd/0]
root        12     2  0     0     0   0 Nov05 ?        00:00:00 [kblockd/0]
root        13     2  0     0     0   0 Nov05 ?        00:00:00 [kacpid]
root        14     2  0     0     0   0 Nov05 ?        00:00:00 [kacpi_notify]
root        15     2  0     0     0   0 Nov05 ?        00:00:00 [kacpi_hotplug]
root        16     2  0     0     0   0 Nov05 ?        00:00:17 [ata/0]
root        17     2  0     0     0   0 Nov05 ?        00:00:00 [ata_aux]
root        18     2  0     0     0   0 Nov05 ?        00:00:00 [ksuspend_usbd]
root        19     2  0     0     0   0 Nov05 ?        00:00:00 [khubd]
root        20     2  0     0     0   0 Nov05 ?        00:00:00 [kseriod]
root        21     2  0     0     0   0 Nov05 ?        00:00:00 [kmmcd]
root        22     2  0     0     0   0 Nov05 ?        00:00:00 [bluetooth]
root        23     2  0     0     0   0 Nov05 ?        00:00:00 [khungtaskd]
root        26     2  0     0     0   0 Nov05 ?        00:00:08 [kswapd0]
root        27     2  0     0     0   0 Nov05 ?        00:00:00 [aio/0]
root        28     2  0     0     0   0 Nov05 ?        00:00:00 [ecryptfs-kthrea]
root        29     2  0     0     0   0 Nov05 ?        00:00:00 [crypto/0]
root        33     2  0     0     0   0 Nov05 ?        00:00:00 [scsi_eh_0]
root        34     2  0     0     0   0 Nov05 ?        00:00:20 [scsi_eh_1]
root        36     2  0     0     0   0 Nov05 ?        00:00:00 [kstriped]
root        37     2  0     0     0   0 Nov05 ?        00:00:00 [kmpathd/0]
root        38     2  0     0     0   0 Nov05 ?        00:00:00 [kmpath_handlerd]
root        39     2  0     0     0   0 Nov05 ?        00:00:00 [ksnapd]
root        40     2  0     0     0   0 Nov05 ?        00:00:00 [kondemand/0]
root        41     2  0     0     0   0 Nov05 ?        00:00:00 [kconservative/0]
root        42     2  0     0     0   0 Nov05 ?        00:00:00 [krfcommd]
root       345     2  0     0     0   0 Nov05 ?        00:00:12 [kjournald2]
root       407     1  0   537   564   0 Nov05 ?        00:00:00 upstart-udev-bridge --daemon
root       448     1  0   462   184   0 Nov05 ?        00:00:00 dd bs=1 if=/proc/kmsg of=/var/run/rsyslog/kmsg
syslog     451     1  0  8424   808   0 Nov05 ?        00:00:00 rsyslogd -c4
root       455     1  0   628   348   0 Nov05 ?        00:00:00 udevd --daemon
102        598     1  0   790  1252   0 Nov05 ?        00:00:03 dbus-daemon --system --fork
avahi      625     1  0   705   760   0 Nov05 ?        00:00:00 avahi-daemon: running [9vwtx81.local]
avahi      626   625  0   705   128   0 Nov05 ?        00:00:00 avahi-daemon: chroot helper
daemon     700     1  0   451   376   0 Nov05 ?        00:00:00 portmap
statd      717     1  0   469   276   0 Nov05 ?        00:00:00 rpc.statd -L
root       742     1  0   425   200   0 Nov05 tty4     00:00:00 /sbin/getty -8 38400 tty4
root       745     1  0   425   200   0 Nov05 tty5     00:00:00 /sbin/getty -8 38400 tty5
root       753     1  0   425   200   0 Nov05 tty2     00:00:00 /sbin/getty -8 38400 tty2
root       754     1  0   425   200   0 Nov05 tty3     00:00:00 /sbin/getty -8 38400 tty3
root       756     1  0   425   200   0 Nov05 tty6     00:00:00 /sbin/getty -8 38400 tty6
root       758     1  0   493   672   0 Nov05 ?        00:00:00 acpid -c /etc/acpi/events -s /var/run/acpid.socket
daemon     762     1  0   490   188   0 Nov05 ?        00:00:00 atd
root       764     1  0   522   360   0 Nov05 ?        00:00:00 cron
root       796     1  0  1392   476   0 Nov05 ?        00:00:00 /usr/sbin/sshd
103        830     1  0  1517  2852   0 Nov05 ?        00:00:14 hald --daemon=yes
root       848     2  0     0     0   0 Nov05 ?        00:00:00 [rpciod/0]
root       861     1  0  4676  1968   0 Nov05 ?        00:00:03 NetworkManager
root       867     1  0  4851  1660   0 Nov05 ?        00:00:00 /usr/sbin/console-kit-daemon
root       881     2  0     0     0   0 Nov05 ?        00:00:00 [kpsmoused]
root       884     1  0   975  1112   0 Nov05 ?        00:00:00 /usr/sbin/modem-manager
root       954   830  0   834   748   0 Nov05 ?        00:00:00 hald-runner
root       955     2  0     0     0   0 Nov05 ?        00:00:00 [nfsiod]
root       978     1  0   574   156   0 Nov05 ?        00:00:00 rpc.idmapd
root      1013     1  0  1233   744   0 Nov05 ?        00:00:00 /sbin/wpa_supplicant -u -s
root      1016     2  0     0     0   0 Nov05 ?        00:00:00 [lockd]
root      1017     2  0     0     0   0 Nov05 ?        00:00:00 [nfsd4]
root      1018     2  0     0     0   0 Nov05 ?        00:00:00 [nfsd]
root      1019     2  0     0     0   0 Nov05 ?        00:00:02 [nfsd]
root      1020     2  0     0     0   0 Nov05 ?        00:00:01 [nfsd]
root      1021     2  0     0     0   0 Nov05 ?        00:00:01 [nfsd]
root      1022     2  0     0     0   0 Nov05 ?        00:00:01 [nfsd]
root      1023     2  0     0     0   0 Nov05 ?        00:00:04 [nfsd]
root      1024     2  0     0     0   0 Nov05 ?        00:00:04 [nfsd]
root      1025     2  0     0     0   0 Nov05 ?        00:00:00 [nfsd]
root      1028     2  0     0     0   0 Nov05 ?        00:00:00 [pccardd]
root      1031     2  0     0     0   0 Nov05 ?        00:00:00 [pccardd]
root      1033     1  0   567   852   0 Nov05 ?        00:00:00 /usr/sbin/rpc.mountd --manage-gids
root      1109   954  0   853   624   0 Nov05 ?        00:00:00 hald-addon-input: Listening on /dev/input/event0 /dev/input/event5 /dev/input/event4 /dev/input/event1 /dev/input/event2
root      1120   954  0   853   600   0 Nov05 ?        00:00:05 hald-addon-storage: polling /dev/sr0 (every 2 sec)
103       1129   954  0   814   544   0 Nov05 ?        00:00:00 hald-addon-acpi: listening on acpid socket /var/run/acpid.socket
root      1142     1  0  1689   344   0 Nov05 ?        00:00:00 /usr/sbin/cupsd -C /etc/cups/cupsd.conf
root      1208     2  0     0     0   0 Nov05 ?        00:00:00 [phy0]
root      1224   954  0   852   444   0 Nov05 ?        00:00:00 /usr/lib/hal/hald-addon-rfkill-killswitch
root      1232     1  0  2147  1240   0 Nov05 ?        00:00:00 gdm-binary
root      1283   455  0   653   624   0 Nov05 ?        00:00:00 udevd --daemon
root      1290   455  0   653   120   0 Nov05 ?        00:00:00 udevd --daemon
root      1297   954  0   852   444   0 Nov05 ?        00:00:00 /usr/lib/hal/hald-addon-leds
root      1368  1232  0  2129  1128   0 Nov05 ?        00:00:00 /usr/lib/gdm/gdm-simple-slave --display-id /org/gnome/DisplayManager/Display1
root      1369  1368  0 12105 19492   0 Nov05 tty7     00:01:10 /usr/bin/X :0 -br -verbose -auth /var/run/gdm/auth-for-gdm-TB1f1N/database -nolisten tcp vt7
root      1394     1  0   425   200   0 Nov05 tty1     00:00:00 /sbin/getty -8 38400 tty1
gdm       1430     1  0   845   244   0 Nov05 ?        00:00:00 /usr/bin/dbus-launch --exit-with-session
root      1435     1  0  1288  1576   0 Nov05 ?        00:00:00 /usr/lib/devicekit-power/devkit-power-daemon
root      1490  1368  0  2157   816   0 Nov05 ?        00:00:00 /usr/lib/gdm/gdm-session-worker
guest     1516     1  0 10176   828   0 Nov05 ?        00:00:00 /usr/bin/gnome-keyring-daemon --daemonize --login
guest     1531  1490  0  6387  2000   0 Nov05 ?        00:00:00 gnome-session
guest     1570  1531  0  1229   120   0 Nov05 ?        00:00:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session /usr/bin/pulse-session gnome-session
guest     1573     1  0   845   244   0 Nov05 ?        00:00:00 /usr/bin/dbus-launch --exit-with-session /usr/bin/pulse-session gnome-session
guest     1574     1  0   775  1132   0 Nov05 ?        00:00:00 /bin/dbus-daemon --fork --print-pid 7 --print-address 9 --session
guest     1578     1  0 23530  1300   0 Nov05 ?        00:00:00 /usr/bin/pulseaudio --start
guest     1581  1578  0  2657   744   0 Nov05 ?        00:00:00 /usr/lib/pulseaudio/pulse/gconf-helper
guest     1583     1  0  1894  2336   0 Nov05 ?        00:00:02 /usr/lib/libgconf2-4/gconfd-2
guest     1594     1  0 24083  2928   0 Nov05 ?        00:00:04 /usr/lib/gnome-settings-daemon/gnome-settings-daemon
guest     1598     1  0  5587  1668   0 Nov05 ?        00:00:00 seahorse-daemon
guest     1600     1  0  1435  1180   0 Nov05 ?        00:00:00 /usr/lib/gvfs/gvfsd
guest     1605     1  0  4335  1440   0 Nov05 ?        00:00:00 /usr/lib/notify-osd/notify-osd
guest     1607     1  0  9786  1440   0 Nov05 ?        00:00:00 /usr/lib/gvfs//gvfs-fuse-daemon /home/guest/.gvfs
guest     1611  1531  0   437   172   0 Nov05 ?        00:00:00 /bin/sh /usr/bin/compiz
guest     1620     1  0   791   480   0 Nov05 ?        00:00:19 syndaemon -i 0.5 -k
guest     1693  1611  0  7439  3244   0 Nov05 ?        00:00:08 /usr/bin/compiz.real --ignore-desktop-hints --replace --indirect-rendering --sm-client-id 10648ab2af57643dac125739716330839600000015310022 move resize place decoration animation ccp
guest     1694  1531  0 10405  9500   0 Nov05 ?        00:00:07 gnome-panel
guest     1695  1531  0 22402 25560   0 Nov05 ?        00:00:09 nautilus
guest     1697     1  0 10149   784   0 Nov05 ?        00:00:00 /usr/lib/bonobo-activation/bonobo-activation-server --ac-activate --ior-output-fd=20
guest     1699  1693  0   437   144   0 Nov05 ?        00:00:00 /bin/sh -c /usr/bin/compiz-decorator
guest     1700  1699  0  4960  4388   0 Nov05 ?        00:00:02 /usr/bin/gtk-window-decorator
guest     1707  1531  0  6742  2200   0 Nov05 ?        00:00:02 update-notifier --startup-delay=60
guest     1709  1531  0 10747  2936   0 Nov05 ?        00:00:00 /usr/lib/evolution/2.28/evolution-alarm-notify
guest     1712  1531  0  4256  1552   0 Nov05 ?        00:00:00 bluetooth-applet
guest     1715  1531  0  9997  4036   0 Nov05 ?        00:00:06 nm-applet --sm-disable
root      1718     1  0  1257  1708   0 Nov05 ?        00:00:09 /usr/lib/devicekit-disks/devkit-disks-daemon
root      1719  1718  0  1205   324   0 Nov05 ?        00:00:32 devkit-disks-daemon: polling /dev/sr0       
guest     1721  1531  0 25607  4396   0 Nov05 ?        00:00:01 gnome-power-manager
guest     1722  1531  0 23573  1776   0 Nov05 ?        00:00:00 gnome-volume-control-applet
guest     1723  1531  0  4264  1764   0 Nov05 ?        00:00:00 /usr/lib/gnome-disk-utility/gdu-notification-daemon
guest     1724  1531  0  7383  2400   0 Nov05 ?        00:00:00 python /usr/share/system-config-printer/applet.py
guest     1727  1531  0  4151  1588   0 Nov05 ?        00:00:00 /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
root      1729     1  0  1461  1416   0 Nov05 ?        00:00:00 /usr/lib/policykit-1/polkitd
guest     1730     1  0  4371  3200   0 Nov05 ?        00:00:02 gnome-screensaver
guest     1739     1  0  1546  1272   0 Nov05 ?        00:00:00 /usr/lib/gvfs/gvfsd-trash --spawner :1.9 /org/gtk/gvfs/exec_spaw/0
root      1740   861  0   535   580   0 Nov05 ?        00:00:00 /sbin/dhclient -d -sf /usr/lib/NetworkManager/nm-dhcp-client.action -pf /var/run/dhclient-wlan0.pid -lf /var/lib/dhcp3/dhclient-96df47b4-368e-4c41-8df1-e6e7151e3a07-wlan0.lease -cf /var/run/nm-dhclient-wlan0.conf wlan0
guest     1745     1  0  7523  1224   0 Nov05 ?        00:00:00 /usr/lib/gnome-applets/trashapplet --oaf-activate-iid=OAFIID:GNOME_Panel_TrashApplet_Factory --oaf-ior-fd=18
guest     1748     1  0  1590  1408   0 Nov05 ?        00:00:00 /usr/lib/gvfs/gvfs-gdu-volume-monitor
guest     1750     1  0  1767  2760   0 Nov05 ?        00:00:00 /usr/lib/gvfs/gvfs-gphoto2-volume-monitor
guest     1753     1  0  8015  1676   0 Nov05 ?        00:00:00 /usr/lib/indicator-applet/indicator-applet-session --oaf-activate-iid=OAFIID:GNOME_FastUserSwitchApplet_Factory --oaf-ior-fd=19
guest     1758     1  0  8038  1704   0 Nov05 ?        00:00:00 /usr/lib/indicator-applet/indicator-applet --oaf-activate-iid=OAFIID:GNOME_IndicatorApplet_Factory --oaf-ior-fd=26
guest     1794     1  0  1435   752   0 Nov05 ?        00:00:00 /usr/lib/gvfs/gvfsd-burn --spawner :1.9 /org/gtk/gvfs/exec_spaw/1
guest     1827     1  0  2032  1544   0 Nov05 ?        00:00:00 /usr/lib/indicator-messages/indicator-messages-service
guest     1829     1  0  3015  1008   0 Nov05 ?        00:00:00 /usr/lib/indicator-session/indicator-status-service
guest     1831     1  0  1580   960   0 Nov05 ?        00:00:00 /usr/lib/indicator-session/indicator-users-service
guest     1833     1  0  1722  1128   0 Nov05 ?        00:00:00 /usr/lib/indicator-session/indicator-session-service
guest     2212     1  0  1356  1740   0 Nov05 ?        00:00:02 SCREEN
guest     2213  2212  0  6486 11488   0 Nov05 pts/1    00:08:06 rtorrent
guest     2214  2212  0  1613  1588   0 Nov05 pts/2    00:00:00 mc
guest     2215  2212  1   632   852   0 Nov05 pts/3    00:24:13 htop
guest     2216  2212  0  1124   244   0 Nov05 pts/4    00:00:00 /bin/bash /home/guest/.scripts/elinks.sh
guest     2217  2216  0  3800  1744   0 Nov05 pts/4    00:05:27 elinks
guest     2219  2214  0  1536  1092   0 Nov05 pts/5    00:00:00 bash -rcfile .bashrc
root      3059     2  0     0     0   0 00:29 ?        00:00:00 [pdflush]
root      3100     2  0     0     0   0 01:26 ?        00:00:00 [pdflush]
guest     3857     1  0  1406  1828   0 12:00 ?        00:00:00 /usr/lib/gvfs/gvfsd-metadata
root      4046   796  0  2183  2980   0 13:19 ?        00:00:00 sshd: guest [priv]
guest     4089  4046  0  2219  1656   0 13:19 ?        00:00:00 sshd: guest@pts/0
guest     4090  4089  0  1534  3416   0 13:19 pts/0    00:00:00 -bash
guest     4113  4090  0  1021  1128   0 13:19 pts/0    00:00:00 screen -r
guest     4114  2212  1  1536  3432   0 13:19 pts/6    00:00:00 /bin/bash
guest     4133  4114  0   660  1020   0 13:20 pts/6    00:00:00 ps -AF

I often draw the line for usability for vanilla Ubuntu (and sometimes Xubuntu too) around the 1.4Ghz, 512Mb mark, and that’s why. How you interpret those two lists is up to you; the only point I make here is that all those doodads and whirligigs take up a lot of space. A truism perhaps, but no less true for being one.

2 thoughts on “The price you pay

  1. Pingback: Links 09/11/2009: Zenwalk Core 6.2 Released, Firefox Turns 5 | Boycott Novell

Leave a reply to samspade10 Cancel reply