Up to WM Report

Window Managers 32-bit Memory Usage

How much memory does your window manager use? You can check yourself with the command ps -ao comm,size,rss,vsize. I have tried to note where the window manager has other applications it runs. Memory management in Linux is quite complex, and I don't feel competent to explain the exact nature of "size," "rss," and "vsize." Suffice to say that some of them include not only all the memory used by the app, but also memory used by all libraries used by the app - which means that if the WM has subordinate apps, a library that's loaded once may be counted several times. Read up on it. You can also check how many libraries your WM uses with ldd $WMexecutable. Sizes listed are in KiB.

Click on the column header to sort the table by the data in that column.

Window Manager Version Executable(s) size
32-bit
rss
32-bit
vsize
32-bit
Number of
Libraries
Notes
9wm 1.2-8 9wm 244 1112 2852 8
aewm 1.3.12-2 aewm 380 2780 6468 15
aewm++ 1.1.2-4.1 aewm++ 272 1668 4028 11
AfterStep 2.2.7-2 afterstep 8864 14444 22776 45 Starts several other processes with names like "Wharf" and "Pager" and fairly high memory usage.
AntiWM 0.0.2 antiwm 252 860 2704 7
awesome 2.0.final-1 awesome 572 3392 7256 26
awesome 2.3.4-1 awesome 1584 6148 11420 35
Blackbox 0.70.1 blackbox 540 3756 6464 19 Blackbox makes little sense without bbkeys for keybindings: it has similar memory usage measures.
clfswm 2007-03-02 clisp 5588 6244 11412 3 The library count is on clisp, the interpreter, because the WM is a script. This probably doesn't count the required libraries properly.
compiz Fusion 0.7.6-7 compiz.real 15920 21364 28916 27 Running in Knoppix 6.0.1.
CTWM 3.7-3 ctwm 572 2640 5676 17
dvtm 0.4.1 dvtm 544 1172 2452 6 This is a TEXT-based WM, it doesn't require X - more for interest than direct comparison.
dwemo 0.0.2 dwemo 252 1168 2864 11 This version was totally unstable in use.
dwm 4.7-3 dwm 244 1356 4072 7
Enlightenment 1:0.16.7.2-5 enlightenment 1592 4500 8776 18
evilwm 1.0.0-1 evilwm 256 1280 3000 11
firebox 0.3 firebox 412 3372 6268 19
Fluxbox 1.0.0+deb1-5 fluxbox 1220 4792 8588 23
flwm 1.02 flwm 424 3352 6112 20
fvwm2 2.5.24-1 fvwm2 1444 5684 12072 46
fvwm-crystal 3.0.3.dfsg1-0.1 fvwm-crystal 2240 7280 14228 46 The main binary is actually fvwm2. fvwm-crystal also requires trayer (472 4900 14256, 46 libraries).
i3 3.e_bf2 i3 400 1632 5212 19
Icewm 1.2.30 icewm 644 3980 6788 26
Ion 2 20040729-2.1 ion2 656 2304 3732 13
Ion 3 20080207-2 ion3 1316 3384 6116 16 Hardy Heron package with an install declaration that it's unsupported by the author.
JWM 1.5 jwm 416 2656 4736 19
Karmen 0.11 karmen 256 1200 2812 9
LarsWM 7.5.3 larswm 260 1184 2784 8
Lucca WM 0.1.2 luccawm 3320 9016 17336 41
lwm 1.2.1 lwm 388 1360 3308 10
Matchbox 1.1 matchbox-window-manager 644 3040 5652 22 A Matchbox session runs not only "matchbox-window-manager" (numbers shown here), but also matchbox-panel (660, 2928, 5528), mb-applet-menu-launcher (588, 2844, 5460), mb-applet-clock (536, 2736, 5400), and the largest, matchbox-desktop (6212, 8572, 11136). Matchbox is intended for low resource environments. What am I missing?
olvwm 4.4.3.2p1.4 olvwm 628 2080 4960 10
olwm 3.2p1.4-21.1 olwm 392 1684 4504 9 olwm runs olwmslave, which has slightly greater memory requirements than olwm itself - including 11 libraries.
OpenBox 3.4.2 openbox 3312 7780 11676 31
PekWM 0.1.10-1 pekwm 3100 6824 10368 24
PWM 1.0.20010309 pwm 384 1276 3016 8
PWM2 (Ion2) 2-20040729 pwm2 780 2376 3808 13
quark 101 20061208-1 quark 252 1220 2700 7
qlwm 4.1 qlwm 944 8372 17740 ? Tested a while back, didn't record the number of libraries. Also runs biff and dclock, which have slightly lesser memory requirements.
QVWM 1.1.12 qvwm 544 2616 5892 22 Runs xbiff, xeyes, and xload on start, each of which is approximately 270, 1700, 3800.
ratpoison 1.4.1 ratpoison 260 1500 3132 12
Rio 1.0 rio 260 1264 2968 11
SithWM 1.2b1 sithwm 248 940 2564 7
StumpWM 1:20060930-3 sbcl 508508 56100 536136 6 The information is for sbcl, a lisp "compiler and runtime system" which this version of Stump runs inside of.
StumpWM 0.9.6 (20090803) stumpwm 6984 7632 15208 1 The information is for stumpwm compiled against clisp. If size concerns you, override the default (sbcl) and use clisp.
StumpWM 0.9.6 (20090803) stumpwm 496104 26140 536308 1 The information is for stumpwm compiled against sbcl. If size concerns you, override the default (sbcl) and use clisp.
TAL/wm 0.0.2 talwm 248 1352 3072 9
TinyWM 1.3 tinywm 252 752 2552 7
TreeWM 0.4.4 treewm 408 1880 4272 12
Twindy 0.45-beta twindy 10136 3884 16136 15
twm 1:1.0.4-1 twm 944 2296 5436 12
UDE 0.2.9b-2.2 uwm 404 1716 3960 14
w9wm 0.4.2-5 w9wm 252 1196 2968 9
WeeWM 0.0.2 weewm 252 1164 2672 7
WindowLab 1.33 windowlab 404 2400 4316 15
WindowMaker 0.92.0-6.1 WindowMaker 1108 4588 6940 23 Runs two copies of the process: the one not shown consumes about 20% less memory.
wmii 3.5.1 wmiiwm 4856 6180 8068 8
wmii 3.6+debian-4 wmii 416 1748 4788 9
wmii 3.9.2+debian-2 wmii 436 2100 6356 18 It was also running another wmii process and eight (smaller) wmiirc processes.
WM2 4-10 wm2 280 1600 4172 12
WMX 6 wmx 404 1892 4108 12
XFCE 4.4.0 xfwm4 1332 7508 13720 40 The stats here are for xfwm4, XFCE's window manager. XFCE also runs several other processes: xfce4-session (440, 4652, 11908), xfce4-panel (1848, 8636, 22248), Thunar (416, 4392, 12072), thunar-tpa (772, 5576, 20580), xfce4-menu-plugin (2496, 10868, 25012), and the largest, xfdesktop (34508, 9604, 56540 - and it has 51 libraries).
xmonad 0.2 xmonad 1432 2656 5608 4 Written in Haskell. Usually runs dzen2 as well.
xmonad 0.3 xmonad 1288 2576 5632 12
xmonad 0.4 xmonad 1424 3092 5892 12
xterm 234-1 xterm 3008 5200 9268 22 xterm can act as a WM (although not very well). But it's mostly here for comparison.

https://gilesorr.com/wm/memory32.html 
by giles