java - عنوان - معنى كلمة surname



في محاولة لتحديد موقع تسرب! ماذا يعني انون ل pmap؟ (3)

أحاول تحديد المكان الذي ذهبت إليه ذاكرتي لعملية جافا قيد التشغيل في linux. اقترح شخص ما استخدام pmap -x لمعرفة ما تفعله الذاكرة بالضبط.

الإنتاج طويل جدًا ، ولكن جزءًا كبيرًا منه يُعد تكرارًا:

00007fbf75f6a000    1016       -       -       - rwx--    [ anon ]
00007fbf76068000      12       -       -       - -----    [ anon ]

ماذا يعني حقا هذا؟ لماذا لدي الكثير من إدخالات هذا (4000+)؟

https://src-bin.com


Answer #1

استخدم Eclipse MAT (عندما تحصل على OutOfMemoryExceptions في Java Heap وليس الكومة الأصلية).


Answer #2

الكتل الخفية هي كتل "كبيرة" مخصصة عن طريق malloc أو mmap - انظر manpages. على هذا النحو ، ليس لديهم علاقة مع كومة Java (بخلاف حقيقة أنه يجب تخزين الكومة بأكملها في كتلة فقط).

في تجربتي ، مداخن الخيط أيضا استخدام كتل آني. إذا كنت ترى الكثير من الكتل الشريفة التي يمتلك كل منها نفس الحجم ، وهذا الحجم هو 512k إلى 4Mb (يتم تكرار المثال أدناه على مدار عشرات المرات لعملية Tomcat التي أقوم بتشغيلها) ، هذا هو السبب المحتمل. اعتمادا على البرنامج ، قد يكون لديك ما يصل إلى بضع عشرات من هذه ؛ إذا كنت ترى الآلاف ، فهذا يعني أن لديك مشكلة في خيوط المعالجة.

b089f000    504K rwx--    [ anon ]
b091d000     12K -----    [ anon ]
b0920000    504K rwx--    [ anon ]
b099e000     12K -----    [ anon ]
b09a1000    504K rwx--    [ anon ]
b0a1f000     12K -----    [ anon ]

ولكن هذا يترك سؤالاً: لماذا تستخدم pmap لتشخيص مشكلة في ذاكرة Java؟






pmap