لماذا الشمس JVM فشلت في تهيئة عندما أريد PermGen أعلاه 128M?
سؤال
أنا بحاجة إلى زيادة PermGen.أنا حاليا تمر التالية كما معلمات سطر الأوامر:
-XX:PermSize=128m
-XX:MaxPermSize=128m
يعمل هذا.إذا كنت في محاولة لزيادة القيم ، ومع ذلك ، JVM فشل تهيئة يعطيني هذا الخطأ:
[2009-06-18 01:39:44] [info] Error occurred during initialization of VM
[2009-06-18 01:39:44] [info] Could not reserve enough space for object heap
[2009-06-18 01:39:44] [info]
[2009-06-18 01:39:44] [395 javajni.c] [error] CreateJavaVM Failed
على وجه التحديد, أنا أحاول أن الحذاء هر في تدرج JRE6, ولكن أنا لا أعتقد أن هذا يجب أن يكون مهما.
تحرير: أنا على التوالي Win2k3 VM صورة مع 2GB من ذاكرة الوصول العشوائي.أنا التمهيد JVM باستخدام رصد هر التطبيق مع المعلمات التالية:
الأولي تجمع الذاكرة: 1024, أقصى تجمع الذاكرة: 1536
-XX:PermSize=128m
-XX:MaxPermSize=128m
-XX:+CMSPermGenSweepingEnabled
-XX:+CMSClassUnloadingEnabled
-XX:+UseConcMarkSweepGC
-Dcatalina.home=C:\Program Files\Apache Software Foundation\Tomcat 6.0
-Dcatalina.base=C:\Program Files\Apache Software Foundation\Tomcat 6.0
-Djava.endorsed.dirs=C:\Program Files\Apache Software Foundation\Tomcat 6.0\endorsed
-Djava.io.tmpdir=E:\tomcat\temp
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file=C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf\logging.properties
المحلول
بيرم Gen مضافة إلى كومة حتى تحقق عمليات -- سوف تحتاج إلى 1.5+ GB من 2G المتاحة.
نصائح أخرى
محاولة إعطائها أكبر كومة مع Xmx512m (وهذا يعطي 512 MB)
ما معلمات الذاكرة التي تستخدمها ؟ هو مقدار الذاكرة في الجهاز ؟ هل أنت على 32 بت أو 64 بت الجهاز ؟
لدي 2GB من ذاكرة تشغيل القط مع إعدادات-Xmx1024m -XX:PermSize=512 م -XX:MaxPermSize=512 م.هذا عادة ما يعمل بشكل جيد.