Specifically, the jvm is probably getting memory from brk(), because brk()
only operates in the ~1GB region between 0x08000000 + epsilon (where the
executable ends) and 0x40000000 (where shared libs begin). The easiest way
to get more than 1GB is to mmap() anonymous pages (which will come from the
remaining ~2GB region between 0x40000000 and 0xBFFFFFFF). e.g. glibc will
use anonymous mmap() to fulfill large malloc() requests.
Regards,
Dan
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/