[xmonad] Profiling XMonad

Don Stewart dons at galois.com
Sun Jun 13 16:56:44 EDT 2010

> Hello,
> I'm trying to allow RGB images as buttons in XMonad. It's alreasy working, but
> now XMonad leaks a lot of memory (each time you change focus about 1 or 2
> megabytes are taken from memory), so when a little time passes, it becomes
> unusable. I'd like to ask for help profiling or with any other thing that may
> help me solve this problem.
> As of now, I'm saving the images as String. Then, using
> Foreign.C.String.newCAString, I convert it to a CString, which is what Xlib
> expects. After that, I create a Image using XCreateImage, which I paint using
> XPutImage. Finally, I call XDestroyImage to free the memory. So, as far as I
> know, no leak should be possible :(

You should recompile xmonad with --enable-executable-profiling -ghc-options=-auto-all
and then run it with +RTS -p 

This will create a .prof file that will tell you what is allocating. 

For even clearer understanding, use heap profiling, which will
graphically display what is being allocated and where. 


-- Don

More information about the xmonad mailing list