Menilai Saiz Timbunan Maksimum untuk JVM 32-bit pada OS 64-bit
Walaupun pengehadan yang dikenakan oleh seni bina OS 32-bit, adalah mungkin untuk menentukan saiz timbunan maksimum yang boleh dicapai oleh JVM 32-bit pada 64-bit OS.
Saiz timbunan maksimum bergantung pada beberapa faktor, termasuk pelaksanaan OS dan JVM tertentu. Berikut ialah pendekatan untuk memastikan nilai ini:
public class MaxMemory { public static void main(String[] args) { Runtime rt = Runtime.getRuntime(); long totalMem = rt.totalMemory(); long maxMem = rt.maxMemory(); long freeMem = rt.freeMemory(); double megs = 1048576.0; System.out.println("Total Memory: " + totalMem + " (" + (totalMem / megs) + " MiB)"); System.out.println("Max Memory: " + maxMem + " (" + (maxMem / megs) + " MiB)"); System.out.println("Free Memory: " + freeMem + " (" + (freeMem / megs) + " MiB)"); } }
Menjalankan kod ini mendedahkan peruntukan timbunan lalai, yang mungkin perlu dilaraskan menggunakan bendera -Xmx.
Pada Windows 7 Enterprise 64 -bit OS, JVM HotSpot 32-bit boleh memperuntukkan sehingga 1577MiB.
Walau bagaimanapun, JVM 64-bit pada OS yang sama boleh mengendalikan saiz timbunan maksimum yang jauh lebih besar iaitu kira-kira 3TiB.
Ringkasnya, saiz timbunan maksimum untuk JVM 32-bit pada OS 64-bit berbeza-beza bergantung pada OS. Untuk Windows, ia kurang daripada 2GB, untuk BSD/Linux ia kurang daripada 3GB, dan untuk MacOS X ia kurang daripada 4GB. Nilai khusus juga boleh dipengaruhi oleh set kerja sistem pengendalian dan memori fizikal yang tersedia.
Atas ialah kandungan terperinci Apakah Saiz Timbunan Maksimum untuk JVM 32-bit pada Sistem Pengendalian 64-bit?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!