根據(jù)以下Xusage.txt中的說明:
-Xms<size> set initial Java heap size
-Xmx<size> set maximum Java heap size
Java -Xms512M 應(yīng)該為Java分配至少512M的內(nèi)存,但是在Linux中用TOP查看,其RSS和SIZE的值遠(yuǎn)小于512M。我的理解是Java向操作系統(tǒng)申請內(nèi)存時,用的是mmap2或者old_mmap系統(tǒng)調(diào)用,這兩個系統(tǒng)調(diào)用其實(shí)都沒有真正分配物理內(nèi)存,而僅僅是分配了虛擬內(nèi)存。所以預(yù)先分配的這些內(nèi)存要到實(shí)際使用時才能落實(shí)到位。