كيف يمكنني معرفة برمجيا بلدي PermGen استخدام الفضاء؟
-
22-08-2019 - |
سؤال
وأنا أحاول لتشخيص الخطأ java.lang.OutOfMemoryError: PermGen Space
عند تشغيل هوت سبوت JVM الشمس، وأود أن أعرف كم PermGen الفضاء برنامجي يستخدم في نقاط مختلفة. هل هناك طريقة لمعرفة هذه المعلومات برمجيا؟
المحلول
ويمكنك استخدام شيء من هذا القبيل:
Iterator<MemoryPoolMXBean> iter = ManagementFactory.getMemoryPoolMXBeans().iterator();
while (iter.hasNext())
{
MemoryPoolMXBean item = iter.next();
String name = item.getName();
MemoryType type = item.getType();
MemoryUsage usage = item.getUsage();
MemoryUsage peak = item.getPeakUsage();
MemoryUsage collections = item.getCollectionUsage();
}
وهذا سوف أعطيك كل أنواع من الذاكرة. كنت مهتما في "بيرم الجنرال" نوع.
نصائح أخرى
لا تنتمي إلى StackOverflow