jmap(1) Troubleshooting Tools jmap(1)

jmap - نگاشت حافظه و تهیه گزارش تفصیلی از Heap ماشین مجازی جاوا (JVM) (نسخه ۱۱)

jmap [ options ] pid
jmap [ options ] executable core
jmap [ options ] [ pid ] server-id@ ] remote-hostname-or-IP
گزینه‌های خط فرمان. بخش «گزینه‌ها» را ببینید.
شناسه فرایند (PID) که باید نگاشت حافظه آن چاپ شود. این فرایند باید یک فرایند جاوا باشد. برای دریافت فهرست فرایندهای جاوای در حال اجرا روی سیستم، از دستور jps(1) استفاده کنید.
فایل اجرایی جاوا که فایل Core Dump توسط آن ایجاد شده است.
فایل Core که باید نگاشت حافظه آن چاپ شود.
نام میزبان (hostname) یا نشانی IP سرور اشکال‌زدایی از راه دور. راهنمای jsadebugd(1) را ببینید.
شناسه یکتای اختیاری برای زمانی که چندین سرور اشکال‌زدایی روی یک میزبان راه دور در حال اجرا هستند.

دستور jmap نگاشت‌های حافظه اشیاء اشتراکی یا جزئیات حافظه Heap را برای یک فرایند مشخص، فایل Core، یا سرور اشکال‌زدایی راه دور چاپ می‌کند. اگر فرایند مشخص‌شده روی یک ماشین مجازی جاوای ۶۴ بیتی (JVM) اجرا می‌شود، ممکن است نیاز به تعیین گزینه -J-d64 داشته باشید، برای مثال: jmap -J-d64 -heap pid.

نکته: این ابزار آزمایشی و پشتیبانی‌نشده است و ممکن است در نسخه‌های بعدی JDK در دسترس نباشد. در سیستم‌های ویندوزی که فایل dbgeng.dll وجود ندارد، باید Debugging Tools For Windows نصب شود تا این ابزارها کار کنند. متغیر محیطی PATH باید حاوی مسیر فایل jvm.dll باشد که توسط فرایند هدف استفاده می‌شود یا مسیری که فایل Crash Dump از آنجا ایجاد شده است، برای مثال: set PATH=%JDK_HOME%\jre\bin\client;%PATH%.

<no option>
هنگامی که هیچ گزینه‌ای استفاده نشود، دستور jmap نگاشت‌های اشیاء اشتراکی را چاپ می‌کند. برای هر شیء اشتراکی بارگذاری‌شده در JVM هدف، نشانی شروع، اندازه نگاشت و مسیر کامل فایل شیء اشتراکی چاپ می‌شود. این رفتار مشابه ابزار pmap در Oracle Solaris است.

حافظه Heap جاوا را با فرمت باینری hprof در فایل filename ذخیره (Dump) می‌کند. زیرگزینه live اختیاری است، اما در صورت تعیین آن، فقط اشیاء فعال در Heap ذخیره می‌شوند. برای بررسی فایل Heap Dump تولیدشده، می‌توانید از دستور jhat(1) برای خواندن فایل استفاده کنید.

اطلاعات مربوط به اشیایی را که در انتظار Finalization هستند چاپ می‌کند.

خلاصه‌ای از وضعیت Heap شامل الگوریتم زباله‌روب (GC) مورداستفاده، پیکربندی Heap و میزان مصرف حافظه Heap به تفکیک نسل‌ها را چاپ می‌کند. علاوه بر این، تعداد و اندازه رشته‌های Intern‌شده (Interned Strings) چاپ می‌شود.

نمودار هیستوگرام Heap را چاپ می‌کند. برای هر کلاس جاوا، تعداد اشیاء، اندازه حافظه به بایت و نام کامل کلاس (Fully Qualified Class Name) چاپ می‌شود. نام کلاس‌های داخلی JVM با پیشوند ستاره (*) چاپ می‌شوند. در صورت تعیین زیرگزینه live، فقط اشیاء فعال شمارش می‌شوند.

آمار بارگذار کلاس (Class Loader) مربوط به Heap جاوا را چاپ می‌کند. برای هر بارگذار کلاس، نام، میزان فعالیت، نشانی حافظه، بارگذار کلاس والد و تعداد و اندازه کلاس‌های بارگذاری‌شده توسط آن چاپ می‌شود.

اجبار (Force). زمانی که شناسه فرایند (PID) پاسخ نمی‌دهد، از این گزینه به همراه گزینه jmap -dump یا jmap -histo استفاده کنید. زیرگزینه live در این حالت پشتیبانی نمی‌شود.

پیام راهنما را چاپ می‌کند.

پیام راهنما را چاپ می‌کند.

پرچم flag را به ماشین مجازی جاوایی که دستور jmap در آن اجرا می‌شود ارسال می‌کند.

•
jhat(1)
•
jps(1)
•
jsadebugd(1)
21 November 2013 JDK 8