Some of them use more RAM. Some less. Today in a rather simplified benchmark I will check some popular desktop environments for their RAM usage. I recently came to see some more or less old comparisons of various desktop environments RAM usage.
- 2019 – https://youtu.be/fo45bo1jvZI
- 2020 – https://youtu.be/RrvJOXypAbk
- 2022 – https://itvision.altervista.org/linux-desktop-environments-system-usage.html [edit]
They were focused on difference between XFCE and KDE/Plasma environments. I am used to idea that XFCE is smaller and lighter of the two – so it should be also lighter on resources – but these two movies state that they RAM usage is similar and sometimes even KDE/Plasma is lighter. These results seemed strange to me so I wanted to test them under latest FreeBSD 13.1-RELEASE UNIX system.
Example XFCE on FreeBSD desktop screenshot from the XFCE Cupertino Way article.
Upon some popular demand I also added GNOME (the 42 version) to the comparison.
Today we will test these desktop environments:
- XFCE (4.16)
- MATE (1.26)
- KDE/Plasma (5.24)
- Openbox (3.6)
- GNOME (42)
We all know that Openbox is just a window manager but I wanted to include it here just from comparison.
Test Environment and Process
To save time I used VirtualBox virtual machine for the purpose of these simplified benchmarks. For that purpose he created VM had:
- 1 x CPU
- 8 GB RAM
- 128 MB GPU Memory
- 30 GB Disk
After installing the vanilla FreeBSD 13.1-RELEASE I switched to the latest pkg(8) repository. Then I added needed packages:
# pkg install xorg xfce kde5 mate openbox dzen2 tint2 xbindkeys xterm geany gnome
All of the desktop environments and their dependencies were installed on that test machine. The main FreeBSD config at /etc/rc.conf file had following contents.
% cat /etc/rc.conf
hostname="freebsd"
ifconfig_em0="DHCP"
sshd_enable="YES"
moused_enable="YES"
powerd_enable="YES"
dumpdev="AUTO"
zfs_enable="YES"
dbus_enable="YES"
The only thing I added after installation was the dbus service startup. I did not changed any settings in these environments. The were compared at their default settings.
The test was rather simple and naive but these were the tasks that I done on each of them.
- Run gstat(8) command in terminal application.
- Display /etc/ in file manager with scroll to end of display of dir.
- Open /etc/ssh/moduli file in text editor with scroll to end of file.
These were different for various environments:
XFCE
- xfce4-terminal
- thunar
- mousepad
MATE
- mate-terminal
- caja
- pluma
KDE/Plasma
- konsole
- dolphin
- kate
Openbox
- xterm
- caja
- geany
GNOME
- gnome-terminal
- nautilus
- gedit
I powered off that FreeBSD machine before each test – so each test looked like:
- boot cold FreeBSD system
- login into system (in text console)
- type xinit(1) command
- do the 3 defined tasks
Each desktop environment had different ~/.xinitrc file. Below you will find their contents.
% cat ~/.xinitrc.xfce . /usr/local/etc/xdg/xfce4/xinitrc % cat ~/.xinitrc.mate exec ck-launch-session mate-session % cat ~/.xinitrc.kde exec ck-launch-session startplasma-x11 % cat ~/.xinitrc.openbox dzen2 & tint2 & xbindkeys & exec openbox % cat ~/.xinitrc.gnome exec gnome-session
Each of them were started like that:
% xinit ~/.xinitrc.xfce % xinit ~/.xinitrc.mate % xinit ~/.xinitrc.kde % xinit ~/.xinitrc.openbox % xinit ~/.xinitrc.gnome
RAM Usage Results
To be honest I was surprised by the results.
Clean Text Console FreeBSD
The text console of FreeBSD 13.1-RELEASE system used about 97 MB of RAM. That result is the sum of the RES column from the top(1) command.
Below you will find the top(1) output for FreeBSD text console only system.
% top -b -o res 1000
last pid: 871; load averages: 1.92, 0.90, 0.36; battery: 99% up 0+00:01:09 00:34:01
28 processes: 2 running, 26 sleeping
CPU: 2.0% user, 0.0% nice, 3.7% system, 0.2% interrupt, 94.0% idle
Mem: 18M Active, 21M Inact, 138M Wired, 40K Buf, 7746M Free
ARC: 43M Total, 18M MFU, 23M MRU, 335K Header, 1556K Other
20M Compressed, 61M Uncompressed, 3.09:1 Ratio
Swap: 2048M Total, 2048M Free
PID USERNAME THR PRI NICE SIZE RES STATE TIME WCPU COMMAND
852 vermaden 1 20 0 21M 9492K RUN 0:00 0.00% sshd
849 root 1 33 0 21M 9300K select 0:00 0.00% sshd
799 root 1 22 0 21M 8208K select 0:00 0.00% sshd
817 root 1 20 0 18M 7140K select 0:00 0.00% sendmail
820 smmsp 1 52 0 18M 6704K pause 0:00 0.00% sendmail
749 messagebus 1 52 0 14M 3648K select 0:00 0.00% dbus-daemon
853 vermaden 1 20 0 13M 3256K wait 0:00 0.00% sh
871 vermaden 1 20 0 14M 3220K RUN 0:00 0.00% top
846 vermaden 1 52 0 13M 3208K ttyin 0:00 0.00% sh
838 root 1 25 0 13M 3100K wait 0:00 0.00% login
463 _dhcp 1 52 0 13M 2828K select 0:00 0.00% dhclient
668 root 1 20 0 13M 2748K select 0:00 0.00% syslogd
830 root 1 52 0 13M 2736K wait 0:00 0.00% sh
402 root 1 52 0 13M 2708K select 0:00 0.00% dhclient
399 root 1 52 0 13M 2632K select 0:00 0.00% dhclient
802 root 1 20 0 13M 2516K nanslp 0:00 0.00% cron
831 root 1 52 0 13M 2440K piperd 0:00 0.00% logger
754 root 1 52 0 13M 2380K select 0:00 0.00% moused
837 root 1 52 0 13M 2316K select 0:00 0.00% logger
842 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
845 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
843 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
844 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
841 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
839 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
840 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
833 root 1 52 0 12M 2080K nanslp 0:00 0.00% sleep
464 root 1 20 0 11M 1540K select 0:00 0.00% devd
XFCE
Next one is XFCE and it used about 1548 MB of RAM.
Below you will find the top(1) output for XFCE.
% top -b -o res 1000
last pid: 1076; load averages: 0.58, 0.84, 0.51; battery: 99% up 0+00:07:06 00:31:07
71 processes: 2 running, 69 sleeping
CPU: 7.6% user, 0.1% nice, 6.5% system, 1.1% interrupt, 84.8% idle
Mem: 292M Active, 337M Inact, 389M Wired, 56K Buf, 6897M Free
ARC: 240M Total, 98M MFU, 133M MRU, 1762K Header, 7212K Other
194M Compressed, 461M Uncompressed, 2.37:1 Ratio
Swap: 2048M Total, 2048M Free
PID USERNAME THR PRI NICE SIZE RES STATE TIME WCPU COMMAND
945 vermaden 3 20 0 344M 251M select 0:11 0.00% Xorg
1010 vermaden 4 20 0 311M 121M select 0:01 0.00% kgpg
1004 vermaden 5 20 0 196M 100M select 0:04 0.00% xfwm4
1008 vermaden 4 20 0 130M 92M select 0:01 0.00% xfdesktop
948 vermaden 4 20 0 172M 76M select 0:04 0.00% xfce4-session
1012 vermaden 6 40 19 160M 63M select 0:00 0.00% tumblerd
1064 vermaden 5 21 0 89M 59M select 0:05 0.00% mousepad
1013 vermaden 3 20 0 130M 52M select 0:00 0.00% kalendarac
1007 vermaden 4 24 0 75M 51M select 0:04 0.00% thunar
1006 vermaden 4 20 0 75M 48M select 0:04 0.00% xfce4-panel
1056 vermaden 4 20 0 69M 42M select 0:01 0.00% xfce4-terminal
1020 vermaden 4 20 0 65M 41M select 0:00 0.00% wrapper-2.0
1021 vermaden 4 20 0 65M 41M select 0:00 0.00% wrapper-2.0
1022 vermaden 4 20 0 52M 32M select 0:00 0.00% wrapper-2.0
1005 vermaden 4 20 0 49M 30M select 0:02 0.00% xfsettingsd
1019 vermaden 4 20 0 46M 30M select 0:00 0.00% wrapper-2.0
1027 vermaden 3 40 19 256G 29M select 0:00 0.00% baloo_file
1009 vermaden 4 20 0 46M 28M select 0:00 0.00% xfce4-power-manager
975 polkitd 7 20 0 2125M 27M select 0:01 0.00% polkitd
1029 vermaden 4 20 0 45M 27M select 0:00 0.00% xfce4-notifyd
977 vermaden 5 20 0 49M 26M select 0:01 0.00% mate-screensaver
983 root 7 20 0 64M 16M select 0:01 0.00% bsdisks
981 vermaden 5 20 0 27M 11M select 0:00 0.00% gvfs-udisks2-volume
1067 vermaden 5 20 0 24M 10M select 0:00 0.00% gvfsd-network
1038 vermaden 4 20 0 27M 10M select 0:00 0.00% gvfsd-trash
1070 vermaden 4 20 0 24M 10M select 0:00 0.00% gvfsd-dnssd
1063 vermaden 4 20 0 24M 10M select 0:00 0.00% gvfsd-computer
865 vermaden 1 20 0 21M 9492K RUN 0:00 0.00% sshd
1042 vermaden 2 22 0 86M 9440K select 0:00 0.00% pulseaudio
862 root 1 28 0 21M 9264K select 0:00 0.00% sshd
979 vermaden 4 32 0 24M 8836K select 0:00 0.00% gvfsd
973 vermaden 4 20 0 21M 8712K select 0:00 0.00% at-spi2-registryd
966 vermaden 5 20 0 21M 8296K select 0:00 0.00% at-spi-bus-launcher
972 root 16 20 0 24M 8256K select 0:00 0.00% console-kit-daemon
815 root 1 22 0 21M 8208K select 0:00 0.00% sshd
991 vermaden 5 20 0 21M 7948K select 0:00 0.00% gvfs-gphoto2-volume
1044 root 4 22 0 20M 7916K select 0:00 0.00% accounts-daemon
1040 vermaden 4 20 0 19M 7460K select 0:00 0.00% gvfsd-metadata
1017 root 4 20 0 19M 7452K select 0:00 0.00% upowerd
988 vermaden 5 20 0 19M 7208K select 0:00 0.00% gvfs-mtp-volume-mon
833 root 1 20 0 18M 7140K select 0:00 0.00% sendmail
1066 vermaden 4 20 0 19M 7004K select 0:00 0.00% dconf-service
969 vermaden 4 20 0 19M 6936K select 0:00 0.00% xfconfd
998 vermaden 1 21 0 18M 6900K select 0:00 0.00% ssh-agent
836 smmsp 1 52 0 18M 6576K pause 0:00 0.00% sendmail
960 vermaden 1 20 0 14M 4580K select 0:01 0.00% dbus-daemon
1003 vermaden 1 20 0 16M 4116K select 0:00 0.00% gpg-agent
765 messagebus 1 20 0 14M 4100K select 0:00 0.00% dbus-daemon
955 vermaden 1 23 0 15M 3912K select 0:00 0.00% dbus-launch
967 vermaden 1 20 0 14M 3812K select 0:01 0.00% dbus-daemon
1058 vermaden 1 20 0 14M 3772K nanslp 0:00 0.00% gstat
1076 vermaden 1 20 0 14M 3464K RUN 0:00 0.00% top
1057 vermaden 1 28 0 13M 3276K wait 0:00 0.00% sh
866 vermaden 1 20 0 13M 3256K wait 0:00 0.00% sh
941 vermaden 1 20 0 13M 3212K wait 0:00 0.00% sh
854 root 1 20 0 13M 3136K wait 0:00 0.00% login
944 vermaden 1 20 0 14M 3096K wait 0:00 0.00% xinit
479 _dhcp 1 52 0 13M 2828K select 0:00 0.00% dhclient
684 root 1 20 0 13M 2748K select 0:00 0.00% syslogd
418 root 1 4 0 13M 2708K select 0:00 0.00% dhclient
415 root 1 49 0 13M 2632K select 0:00 0.00% dhclient
818 root 1 20 0 13M 2516K nanslp 0:00 0.00% cron
770 root 1 20 0 13M 2404K select 0:00 0.00% moused
855 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
858 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
861 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
859 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
860 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
856 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
857 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
480 root 1 20 0 11M 1540K select 0:00 0.00% devd
MATE
Next one is MATE and it used about 1361 MB of RAM.
This is first strange thing for me. Keep in mind that MATE is a fork of GNOME 2 which was expected to be heavy compared to light XFCE … at least more then a decade ago. Seems that now MATE developers are doing better job then XFCE devs π
Below you will find the top(1) output for MATE.
% top -b -o res 1000
last pid: 966; load averages: 1.75, 1.02, 0.43; battery: 99% up 0+00:01:53 00:40:42
66 processes: 2 running, 64 sleeping
CPU: 25.7% user, 0.0% nice, 8.9% system, 0.4% interrupt, 65.0% idle
Mem: 279M Active, 269M Inact, 381M Wired, 56K Buf, 6986M Free
ARC: 230M Total, 88M MFU, 131M MRU, 1753K Header, 8250K Other
183M Compressed, 435M Uncompressed, 2.37:1 Ratio
Swap: 2048M Total, 2048M Free
PID USERNAME THR PRI NICE SIZE RES STATE TIME WCPU COMMAND
857 vermaden 3 23 0 344M 246M select 0:08 7.96% Xorg
922 vermaden 4 20 0 311M 122M select 0:01 0.00% kgpg
869 vermaden 5 20 0 172M 77M select 0:01 0.00% mate-session
913 vermaden 6 20 0 92M 68M select 0:03 0.00% caja
961 vermaden 5 29 0 91M 59M select 0:07 15.97% pluma
951 vermaden 5 20 0 86M 55M select 0:01 0.00% mate-terminal
919 vermaden 3 20 0 130M 52M select 0:00 0.00% kalendarac
911 vermaden 5 20 0 74M 49M select 0:01 0.00% mate-panel
941 vermaden 5 20 0 70M 45M select 0:00 0.00% notification-area-a
902 vermaden 5 20 0 70M 44M select 0:01 0.00% marco
917 vermaden 4 20 0 66M 43M select 0:00 0.00% mate-volume-control
899 vermaden 6 20 0 60M 38M select 0:02 0.00% mate-settings-daemo
939 vermaden 5 20 0 60M 38M select 0:00 0.00% clock-applet
927 vermaden 5 20 0 57M 37M select 0:00 0.00% wnck-applet
921 vermaden 5 20 0 55M 35M select 0:00 0.00% mate-power-manager
915 vermaden 5 20 0 50M 32M select 0:00 0.00% mate-screensaver
864 polkitd 7 20 0 2125M 27M select 0:00 0.00% polkitd
914 vermaden 4 20 0 44M 26M select 0:00 0.00% polkit-mate-authent
883 root 7 52 0 64M 16M select 0:00 0.00% bsdisks
881 vermaden 5 20 0 27M 12M select 0:00 0.00% gvfs-udisks2-volume
962 vermaden 5 20 0 24M 11M select 0:00 0.00% gvfsd-network
965 vermaden 4 20 0 24M 10M select 0:00 0.00% gvfsd-dnssd
954 vermaden 4 20 0 24M 10M select 0:00 0.00% gvfsd-computer
929 vermaden 4 20 0 26M 10M select 0:00 0.00% gvfsd-trash
852 vermaden 1 20 0 21M 9480K RUN 0:00 0.00% sshd
931 vermaden 2 21 0 86M 9396K select 0:00 0.00% pulseaudio
849 root 1 30 0 21M 9300K select 0:00 0.00% sshd
879 vermaden 4 28 0 24M 9180K select 0:00 0.00% gvfsd
901 vermaden 4 20 0 21M 8860K select 0:00 0.00% at-spi2-registryd
895 vermaden 5 20 0 21M 8272K select 0:00 0.00% gvfs-gphoto2-volume
862 root 16 20 0 24M 8244K select 0:00 0.00% console-kit-daemon
799 root 1 23 0 21M 8208K select 0:00 0.00% sshd
875 vermaden 5 20 0 21M 8128K select 0:00 0.00% at-spi-bus-launcher
956 vermaden 4 20 0 19M 7704K select 0:00 0.00% gvfsd-metadata
893 vermaden 5 20 0 19M 7544K select 0:00 0.00% gvfs-mtp-volume-mon
924 root 4 20 0 19M 7524K select 0:00 0.00% upowerd
817 root 1 20 0 18M 7140K select 0:00 0.00% sendmail
897 vermaden 4 20 0 19M 6936K select 0:00 0.00% dconf-service
820 smmsp 1 52 0 18M 6700K pause 0:00 0.00% sendmail
912 vermaden 1 20 0 17M 4892K piperd 0:00 0.00% libgtop_server2
873 vermaden 1 20 0 14M 4164K select 0:00 0.00% dbus-daemon
860 vermaden 1 22 0 17M 4124K wait 0:00 0.00% ck-launch-session
876 vermaden 1 20 0 14M 4004K select 0:01 0.00% dbus-daemon
749 messagebus 1 20 0 14M 3984K select 0:00 0.00% dbus-daemon
872 vermaden 1 20 0 15M 3912K select 0:00 0.00% dbus-launch
953 vermaden 1 20 0 14M 3708K nanslp 0:00 0.00% gstat
966 vermaden 1 20 0 14M 3392K RUN 0:00 0.00% top
853 vermaden 1 20 0 13M 3248K wait 0:00 0.00% sh
846 vermaden 1 21 0 13M 3212K wait 0:00 0.00% sh
952 vermaden 1 38 0 13M 3208K wait 0:00 0.00% sh
838 root 1 25 0 13M 3100K wait 0:00 0.00% login
856 vermaden 1 20 0 14M 3096K wait 0:00 0.00% xinit
463 _dhcp 1 52 0 13M 2828K select 0:00 0.00% dhclient
668 root 1 20 0 13M 2748K select 0:00 0.00% syslogd
402 root 1 52 0 13M 2708K select 0:00 0.00% dhclient
399 root 1 52 0 13M 2632K select 0:00 0.00% dhclient
802 root 1 20 0 13M 2516K nanslp 0:00 0.00% cron
754 root 1 20 0 13M 2404K select 0:00 0.00% moused
839 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
845 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
841 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
843 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
842 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
844 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
840 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
464 root 1 20 0 11M 1540K select 0:00 0.00% devd
KDE/Plasma
Next one is KDE/Plasma and without surprise (at least for me) it uses more RAM then other desktop environments – about 2843 MB of RAM – that is more then twice as much as MATE and almost twice as much as XFCE.
Below you will find the top(1) output for KDE/Plasma.
% top -b -o res 1000
last pid: 1075; load averages: 2.10, 1.56, 0.79; battery: 99% up 0+00:05:22 00:38:14
67 processes: 2 running, 65 sleeping
CPU: 30.8% user, 0.1% nice, 8.8% system, 0.2% interrupt, 60.0% idle
Mem: 530M Active, 316M Inact, 441M Wired, 56K Buf, 6633M Free
ARC: 272M Total, 119M MFU, 139M MRU, 2012K Header, 12M Other
211M Compressed, 514M Uncompressed, 2.44:1 Ratio
Swap: 2048M Total, 2048M Free
PID USERNAME THR PRI NICE SIZE RES STATE TIME WCPU COMMAND
935 vermaden 12 21 0 588M 298M select 0:22 0.00% plasmashell
874 vermaden 3 23 0 344M 241M select 0:15 9.96% Xorg
1065 vermaden 7 30 0 365M 190M select 0:12 15.97% kate
918 vermaden 5 31 0 376M 179M select 0:22 15.97% kwin_x11
1035 vermaden 8 20 0 320M 156M select 0:03 0.00% dolphin
1029 vermaden 3 20 0 312M 150M select 0:02 0.00% konsole
959 vermaden 4 20 0 314M 143M select 0:01 0.00% kgpg
1063 vermaden 5 52 0 304M 140M select 0:02 0.00% kioslave5
1073 vermaden 4 20 0 303M 139M select 0:01 0.00% kioslave5
916 vermaden 11 20 0 179M 84M select 0:02 0.00% kded5
958 vermaden 3 20 0 147M 67M select 0:01 0.00% kalendarac
944 vermaden 4 20 0 174M 63M select 0:01 0.00% DiscoverNotifier
941 vermaden 6 20 0 130M 58M select 0:01 0.00% polkit-kde-authenti
920 vermaden 4 20 0 131M 58M select 0:01 0.00% ksmserver
940 vermaden 7 20 0 118M 56M select 0:01 0.00% org_kde_powerdevil
942 vermaden 3 20 0 128M 56M select 0:01 0.00% kaccess
922 vermaden 3 20 0 127M 55M select 0:01 0.00% kglobalaccel5
968 vermaden 7 20 0 104M 47M select 0:01 0.00% kactivitymanagerd
905 vermaden 3 20 0 127M 45M select 0:00 0.00% klauncher
901 vermaden 3 26 0 113M 43M select 0:00 0.00% plasma_session
904 vermaden 1 20 0 112M 41M select 0:00 0.00% kdeinit5
885 vermaden 3 38 0 113M 41M select 0:00 0.00% startplasma-x11
1041 vermaden 2 42 0 88M 37M select 0:00 0.00% kioslave5
1069 vermaden 1 23 0 256G 37M select 0:00 0.00% kioslave5
1039 vermaden 1 36 0 256G 37M select 0:00 0.00% kioslave5
1027 vermaden 1 36 0 256G 36M select 0:00 0.00% kioslave5
997 vermaden 3 28 0 86M 35M select 0:00 0.00% kioslave5
943 vermaden 3 40 19 256G 32M select 0:00 0.00% baloo_file
945 vermaden 4 20 0 87M 32M select 0:00 0.00% gmenudbusmenuproxy
939 vermaden 3 20 0 83M 30M select 0:00 0.00% xembedsniproxy
976 vermaden 3 20 0 76M 28M select 0:00 0.00% kscreen_backend_lau
881 polkitd 7 20 0 2125M 27M select 0:00 0.00% polkitd
926 root 7 20 0 67M 19M select 0:00 0.00% bsdisks
966 vermaden 2 20 0 86M 9520K select 0:00 0.00% pulseaudio
852 vermaden 1 20 0 21M 9512K RUN 0:00 0.00% sshd
849 root 1 33 0 21M 9300K select 0:00 0.00% sshd
879 root 16 20 0 24M 8320K select 0:00 0.00% console-kit-daemon
799 root 1 22 0 21M 8208K select 0:00 0.00% sshd
937 root 4 20 0 19M 7404K select 0:00 0.00% upowerd
817 root 1 20 0 18M 7140K select 0:00 0.00% sendmail
982 vermaden 4 20 0 19M 6732K select 0:00 0.00% dconf-service
820 smmsp 1 52 0 18M 6704K pause 0:00 0.00% sendmail
749 messagebus 1 20 0 14M 4452K select 0:00 0.00% dbus-daemon
896 vermaden 1 28 0 15M 4252K select 0:00 0.00% dbus-launch
897 vermaden 1 20 0 14M 4164K select 0:01 0.00% dbus-daemon
877 vermaden 1 21 0 17M 4124K wait 0:00 0.00% ck-launch-session
1034 vermaden 1 20 0 14M 3836K nanslp 0:00 0.00% gstat
1075 vermaden 1 20 0 14M 3392K RUN 0:00 0.00% top
853 vermaden 1 20 0 13M 3256K wait 0:00 0.00% sh
1032 vermaden 1 26 0 13M 3232K wait 0:00 0.00% sh
846 vermaden 1 20 0 13M 3212K wait 0:00 0.00% sh
838 root 1 25 0 13M 3100K wait 0:00 0.00% login
873 vermaden 1 20 0 14M 3096K wait 0:00 0.00% xinit
463 _dhcp 1 52 0 13M 2828K select 0:00 0.00% dhclient
668 root 1 20 0 13M 2748K select 0:00 0.00% syslogd
402 root 1 52 0 13M 2708K select 0:00 0.00% dhclient
399 root 1 52 0 13M 2632K select 0:00 0.00% dhclient
802 root 1 20 0 13M 2516K nanslp 0:00 0.00% cron
754 root 1 20 0 13M 2404K select 0:01 0.00% moused
842 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
845 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
843 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
844 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
841 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
839 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
840 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
464 root 1 20 0 11M 1540K select 0:00 0.00% devd
Openbox
Not really a desktop environment but just for the sake of comparison I wanted to check it. With the default ‘ugly’ settings it consumed about 614 MB or RAM.
Below you will find the top(1) output for Openbox.
% top -b -o res 1000
last pid: 991; load averages: 0.66, 0.77, 0.43; battery: 99% up 0+00:04:35 00:52:31
43 processes: 1 running, 41 sleeping, 1 stopped
CPU: 8.8% user, 0.0% nice, 3.8% system, 0.5% interrupt, 86.9% idle
Mem: 126M Active, 196M Inact, 391M Wired, 40K Buf, 7210M Free
ARC: 210M Total, 78M MFU, 120M MRU, 1783K Header, 10M Other
164M Compressed, 374M Uncompressed, 2.28:1 Ratio
Swap: 2048M Total, 2048M Free
PID USERNAME THR PRI NICE SIZE RES STATE TIME WCPU COMMAND
894 vermaden 3 20 0 307M 217M select 0:02 0.00% Xorg
942 vermaden 6 20 0 208M 112M select 0:02 0.00% caja
981 vermaden 3 20 0 100M 60M select 0:02 0.00% geany
897 vermaden 1 20 0 54M 25M select 0:00 0.00% openbox
898 vermaden 1 20 0 53M 25M select 0:01 0.00% tint2
939 vermaden 1 20 0 25M 13M select 0:00 0.00% xterm
916 vermaden 1 20 0 25M 13M select 0:00 0.00% xterm
986 vermaden 1 20 0 21M 9500K select 0:00 0.00% sshd
983 root 1 28 0 21M 9360K select 0:00 0.00% sshd
953 vermaden 4 20 0 21M 9228K select 0:00 0.00% at-spi2-registryd
949 vermaden 5 49 0 21M 8736K select 0:00 0.00% at-spi-bus-launcher
934 vermaden 1 20 0 20M 8608K STOP 0:00 0.00% dzen2
799 root 1 20 0 21M 8208K select 0:00 0.00% sshd
817 root 1 20 0 18M 7140K select 0:00 0.00% sendmail
955 vermaden 4 30 0 19M 6916K select 0:00 0.00% dconf-service
820 smmsp 1 52 0 18M 6636K pause 0:00 0.00% sendmail
946 vermaden 1 30 0 15M 4380K select 0:00 0.00% dbus-launch
947 vermaden 1 43 0 14M 3908K select 0:00 0.00% dbus-daemon
937 vermaden 1 20 0 14M 3760K nanslp 0:00 0.00% gstat
950 vermaden 1 20 0 14M 3732K select 0:00 0.00% dbus-daemon
749 messagebus 1 52 0 14M 3648K select 0:00 0.00% dbus-daemon
991 vermaden 1 22 0 14M 3428K RUN 0:00 0.00% top
987 vermaden 1 21 0 13M 3316K wait 0:00 0.00% sh
918 vermaden 1 20 0 13M 3292K wait 0:00 0.00% sh
941 vermaden 1 22 0 13M 3280K wait 0:00 0.00% sh
982 vermaden 1 52 0 13M 3272K ttyin 0:00 0.00% sh
846 vermaden 1 20 0 13M 3212K wait 0:00 0.00% sh
838 root 1 26 0 13M 3100K wait 0:00 0.00% login
893 vermaden 1 20 0 14M 3096K wait 0:00 0.00% xinit
463 _dhcp 1 52 0 13M 2828K select 0:00 0.00% dhclient
668 root 1 20 0 13M 2748K select 0:00 0.00% syslogd
402 root 1 4 0 13M 2708K select 0:00 0.00% dhclient
399 root 1 52 0 13M 2632K select 0:00 0.00% dhclient
802 root 1 20 0 13M 2516K nanslp 0:00 0.00% cron
754 root 1 20 0 13M 2404K select 0:00 0.00% moused
843 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
842 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
845 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
844 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
840 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
839 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
841 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
464 root 1 20 0 11M 1540K select 0:00 0.00% devd
GNOME
GNOME with the same test procedure used 2622 MB of RAM.
Below you will find the top(1) output for GNOME.
% top -b -o res 1000
last pid: 1114; load averages: 2.62, 1.76, 0.81; battery: 99% up 0+00:03:38 12:44:58
91 processes: 2 running, 89 sleeping
CPU: 45.9% user, 0.0% nice, 9.1% system, 0.3% interrupt, 44.7% idle
Mem: 531M Active, 560M Inact, 2152K Laundry, 522M Wired, 56K Buf, 6295M Free
ARC: 319M Total, 151M MFU, 156M MRU, 2354K Header, 9740K Other
266M Compressed, 640M Uncompressed, 2.41:1 Ratio
Swap: 2048M Total, 2048M Free
PID USERNAME THR PRI NICE SIZE RES STATE TIME WCPU COMMAND
904 vermaden 9 23 0 2656M 379M select 0:29 9.96% gnome-shell
855 vermaden 3 22 0 333M 238M select 0:10 6.98% Xorg
1040 vermaden 12 20 0 349M 192M select 0:10 0.00% epiphany-search-pro
962 vermaden 4 20 0 312M 136M select 0:01 0.00% kgpg
1026 vermaden 8 20 0 215M 125M select 0:01 0.00% gnome-calendar
1107 vermaden 5 20 0 187M 108M select 0:01 0.00% gnome-control-cente
958 vermaden 7 20 0 211M 81M select 0:01 0.00% evolution-alarm-not
1058 vermaden 15 20 0 194M 78M select 0:01 0.00% WebKitNetworkProces
1071 vermaden 6 20 0 144M 77M select 0:03 0.00% nautilus
1112 vermaden 5 52 0 85M 59M select 0:13 19.97% gedit
1065 vermaden 5 20 0 114M 56M select 0:01 0.00% gnome-terminal-serv
961 vermaden 3 20 0 132M 53M select 0:00 0.00% kalendarac
917 vermaden 5 20 0 146M 51M select 0:00 0.00% goa-daemon
1034 vermaden 5 20 0 70M 50M select 0:00 0.00% seahorse
921 vermaden 7 20 0 109M 48M select 0:00 0.00% evolution-addressbo
919 vermaden 10 20 0 81M 44M select 0:00 0.00% evolution-calendar-
912 vermaden 5 20 0 78M 42M select 0:00 0.00% evolution-source-re
950 vermaden 6 20 0 2134M 39M select 0:00 0.00% gjs-console
931 vermaden 6 20 0 2134M 39M select 0:00 0.00% gjs-console
935 vermaden 5 20 0 119M 32M select 0:00 0.00% gsd-media-keys
939 vermaden 5 20 0 51M 30M select 0:00 0.00% gsd-xsettings
937 vermaden 5 20 0 49M 30M select 0:00 0.00% gsd-power
957 vermaden 3 40 19 256G 28M select 0:00 0.00% baloo_file
907 vermaden 7 20 0 83M 28M select 0:00 0.00% gnome-shell-calenda
947 vermaden 5 20 0 46M 28M select 0:00 0.00% gsd-keyboard
994 vermaden 4 20 0 46M 28M select 0:00 0.00% ibus-extension-gtk3
993 vermaden 4 20 0 46M 27M select 0:00 0.00% ibus-ui-gtk3
893 polkitd 7 20 0 2125M 27M select 0:00 0.00% polkitd
965 vermaden 5 20 0 48M 27M select 0:00 0.00% zeitgeist-datahub
952 vermaden 4 24 0 49M 26M select 0:00 0.00% gsd-printer
859 vermaden 5 20 0 49M 20M select 0:00 0.00% gnome-session-binar
874 root 7 20 0 67M 16M select 0:00 0.00% bsdisks
956 vermaden 4 20 0 27M 14M select 0:00 0.00% ibus-daemon
942 vermaden 5 20 0 27M 13M select 0:00 0.00% gsd-datetime
945 vermaden 5 20 0 26M 13M select 0:00 0.00% gsd-sound
943 vermaden 6 20 0 25M 12M select 0:00 0.00% gsd-smartcard
940 vermaden 4 20 0 27M 11M select 0:00 0.00% gsd-print-notificat
1092 vermaden 4 20 0 24M 11M select 0:00 0.00% gvfsd-dnssd
1082 vermaden 5 20 0 24M 11M select 0:00 0.00% gvfsd-network
872 vermaden 5 20 0 27M 11M select 0:00 0.00% gvfs-udisks2-volume
1041 vermaden 4 20 0 24M 11M select 0:00 0.00% gvfsd-trash
1062 vermaden 4 20 0 24M 11M select 0:00 0.00% gvfsd-burn
976 vermaden 4 20 0 25M 10M select 0:00 0.00% zeitgeist-daemon
902 vermaden 5 20 0 23M 10M select 0:00 0.00% gnome-keyring-daemo
894 vermaden 1 20 0 21M 9488K RUN 0:00 0.00% sshd
944 vermaden 5 20 0 21M 9356K select 0:00 0.00% gsd-housekeeping
887 root 1 24 0 21M 9332K select 0:00 0.00% sshd
933 vermaden 4 20 0 21M 9252K select 0:00 0.00% at-spi2-registryd
925 vermaden 2 21 0 86M 9216K select 0:00 0.00% pulseaudio
870 vermaden 4 20 0 24M 8860K select 0:00 0.00% gvfsd
934 vermaden 5 20 0 20M 8616K select 0:00 0.00% gsd-usb-protection
891 root 16 20 0 24M 8488K select 0:00 0.00% console-kit-daemon
811 root 1 20 0 21M 8208K select 0:00 0.00% sshd
867 vermaden 5 20 0 21M 8128K select 0:00 0.00% at-spi-bus-launcher
927 root 4 20 0 20M 8040K select 0:00 0.00% accounts-daemon
941 vermaden 5 20 0 20M 7976K select 0:00 0.00% gsd-sharing
886 vermaden 5 20 0 21M 7936K select 0:00 0.00% gvfs-gphoto2-volume
936 vermaden 5 20 0 20M 7936K select 0:00 0.00% gsd-a11y-settings
923 vermaden 4 20 0 19M 7716K select 0:00 0.00% gvfsd-metadata
910 root 4 20 0 19M 7620K select 0:00 0.00% upowerd
881 vermaden 5 20 0 19M 7220K select 0:00 0.00% gvfs-mtp-volume-mon
938 vermaden 4 20 0 19M 7180K select 0:00 0.00% gsd-screensaver-pro
825 root 1 20 0 18M 7140K select 0:00 0.00% sendmail
914 vermaden 4 20 0 19M 7128K select 0:00 0.00% dconf-service
828 smmsp 1 52 0 18M 6704K pause 0:00 0.00% sendmail
864 vermaden 1 20 0 14M 5268K select 0:01 0.00% dbus-daemon
753 messagebus 1 20 0 14M 4280K select 0:00 0.00% dbus-daemon
863 vermaden 1 21 0 15M 3912K select 0:00 0.00% dbus-launch
868 vermaden 1 20 0 14M 3812K select 0:00 0.00% dbus-daemon
1067 vermaden 1 20 0 14M 3704K nanslp 0:00 0.00% gstat
1114 vermaden 1 20 0 14M 3420K RUN 0:00 0.00% top
895 vermaden 1 20 0 13M 3252K wait 0:00 0.00% sh
851 vermaden 1 22 0 13M 3212K wait 0:00 0.00% sh
1066 vermaden 1 26 0 13M 3208K wait 0:00 0.00% sh
843 root 1 23 0 13M 3100K wait 0:00 0.00% login
854 vermaden 1 20 0 14M 3096K wait 0:00 0.00% xinit
858 vermaden 1 21 0 13M 3016K wait 0:00 0.00% sh
467 _dhcp 1 52 0 13M 2828K select 0:00 0.00% dhclient
672 root 1 20 0 13M 2748K select 0:00 0.00% syslogd
406 root 1 4 0 13M 2708K select 0:00 0.00% dhclient
403 root 1 44 0 13M 2632K select 0:00 0.00% dhclient
814 root 1 26 0 13M 2516K nanslp 0:00 0.00% cron
757 root 1 20 0 13M 2404K select 0:00 0.00% moused
850 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
847 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
848 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
844 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
849 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
845 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
846 root 1 52 0 13M 2248K ttyin 0:00 0.00% getty
468 root 1 20 0 11M 1540K select 0:00 0.00% devd
Summary of the RAM usage results are below.
MB ENVIRONMENT
---- --------------------
97 FreeBSD Text Console
614 Openbox
1361 MATE
1548 XFCE
2622 GNOME
2843 KDE/Plasma
Seems that MATE
CPU Time Usage Results
As I already had the top(1) outputs I also compared the CPU time used for that limited test. I will not post the top(1) results again as they are posted above. The Seconds column below is the sum of the TIME field from the top(1) command output.
Here are the results of used CPU time.
SECONDS ENVIRONMENT
------- --------------------
0 FreeBSD Text Console
7 Openbox
26 MATE
42 XFCE
72 GNOME
92 KDE/Plasma
Seems that MATE is twice as light on resources then XFCE. World has changed a lot since GNOME 2 was considered heavy fully fledged desktop environment while XFCE was light and fast … but even that ‘hungry’ XFCE takes only half of the time that KDE/Plasma uses for the same tasks.
Subjective Experience
The Openbox ‘environment’ started fastest and was most responsive to operate.
Both MATE and XFCE started little slower but after they loaded the desktop and taskbars they were snappy and fast to use.
On the other hand the KDE/Plasma took longest to load and each application I started – I needed to wait ‘a little’ with ‘bouncing mouse cursor’ for them to load. Also scrolling the /etc/ssh/moduli file to its end in Kate took REALLY long … even with Logitech M720 mouse which scroll wheel was spinning freely (without clicks). I want to mention that I am not disappointed by KDE/Plasma. Its just slower when used in a limiter 1 CPU and 8 GB RAM environment. Probably the load times and usability is a lot better on a 4 CORE system with 16 GB of RAM on fast NVMe SSD disk while we used rather slow virtual machine.
After adding GNOME to comparison it felt even slower then KDE/Plasma. Probably because GNOME requires hardware 3D acceleration for smooth operation. With its software rendering it felt really sluggish … while consuming less RAM and CPU time then KDE/Plasma.
Summary
Not sure how useful that is but I just was curious and wanted to check it out – and as I did I share what I found.
UPDATE 1 – Added freecolor(1) and htop(1) RAM Measurements
After suggestions from other places I added freecolor(1) and htop(1) measurements when it comes to RAM usage. Here are the results.
| htop(1) | conky(1) | freecolor(1) FreeBSD | 112 MB | - - | 157 MB Openbox | 237 MB | 460 MB | 382 MB MATE | 508 MB | 778 MB | 788 MB XFCE | 533 MB | 794 MB | 829 MB helloSystem | 585 MB | - - | 830 MB GNOME | 625 MB | 990 MB | 1000 MB KDE/Plasma | 730 MB | 1659 MB | 1167 MB
Hope that helps.
EOF