I recently got a new computer with 8gb of RAM, and since then World Of Warcraft crashed very often with out of memory errors.
After banging my head for hours every time I crashed in dalaran or coming out of the arenas, I finally discovered setarch(8).
Usage: setarch [options] [program [program arguments]]
-h, --help displays this help text
-v, --verbose says what options are being switched on
-R, --addr-no-randomize disables randomization of the virtual address space
-F, --fdpic-funcptrs makes function pointers point to descriptors
-Z, --mmap-page-zero turns on MMAP_PAGE_ZERO
-L, --addr-compat-layout changes the way virtual memory is allocated
-X, --read-implies-exec turns on READ_IMPLIES_EXEC
-B, --32bit turns on ADDR_LIMIT_32BIT
-I, --short-inode turns on SHORT_INODE
-S, --whole-seconds turns on WHOLE_SECONDS
-T, --sticky-timeouts turns on STICKY_TIMEOUTS
-3, --3gb limits the used address space to a maximum of 3 GB
--4gb ignored (for backward compatibility only)
Start the game :
setarch i386 -3 -L -B -R wine wow.exe -opengl
While it isn’t a perfect solution, it work’s for the most part.