I have 2Gb and give 1256MB to mkgmap. It never uses more than around 200MB for Austria. Try with Osmcut. that should work. I don’t know why the size difference exists? Maybe some pre-filtering of unneccessary objects?