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).
[options] [program [program arguments]] Options: -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)
setarch i386 -3 -L -B -R wine wow.exe -opengl
While it isn’t a perfect solution, it work’s for the most part.