jmap(1) Troubleshooting Tools jmap(1) نام (NAME) jmap - نگاشت حافظه و تهیه گزارش تفصیلی از Heap ماشین مجازی جاوا (JVM) (نسخه ۱۱) خلاصه دستور (SYNOPSIS) jmap [ options ] pid jmap [ options ] executable core jmap [ options ] [ pid ] server-id@ ] remote-hostname-or-IP options گزینه‌های خط فرمان. بخش «گزینه‌ها» را ببینید. pid شناسه فرایند (PID) که باید نگاشت حافظه آن چاپ شود. این فرایند باید یک فرایند جاوا باشد. برای دریافت فهرست فرایندهای جاوای در حال اجرا روی سیستم، از دستور jps(1) استفاده کنید. executable فایل اجرایی جاوا که فایل Core Dump توسط آن ایجاد شده است. core فایل Core که باید نگاشت حافظه آن چاپ شود. remote-hostname-or-IP نام میزبان (hostname) یا نشانی IP سرور اشکال‌زدایی از راه دور. راهنمای jsadebugd(1) را ببینید. server-id شناسه یکتای اختیاری برای زمانی که چندین سرور اشکال‌زدایی روی یک میزبان راه دور در حال اجرا هستند. توضیحات (DESCRIPTION) دستور 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%. گزینه‌ها (OPTIONS) هنگامی که هیچ گزینه‌ای استفاده نشود، دستور jmap نگاشت‌های اشیاء اشتراکی را چاپ می‌کند. برای هر شیء اشتراکی بارگذاری‌شده در JVM هدف، نشانی شروع، اندازه نگاشت و مسیر کامل فایل شیء اشتراکی چاپ می‌شود. این رفتار مشابه ابزار pmap در Oracle Solaris است. -dump:[live,] format=b, file=filename حافظه Heap جاوا را با فرمت باینری hprof در فایل filename ذخیره (Dump) می‌کند. زیرگزینه live اختیاری است، اما در صورت تعیین آن، فقط اشیاء فعال در Heap ذخیره می‌شوند. برای بررسی فایل Heap Dump تولیدشده، می‌توانید از دستور jhat(1) برای خواندن فایل استفاده کنید. -finalizerinfo اطلاعات مربوط به اشیایی را که در انتظار Finalization هستند چاپ می‌کند. -heap خلاصه‌ای از وضعیت Heap شامل الگوریتم زباله‌روب (GC) مورداستفاده، پیکربندی Heap و میزان مصرف حافظه Heap به تفکیک نسل‌ها را چاپ می‌کند. علاوه بر این، تعداد و اندازه رشته‌های Intern‌شده (Interned Strings) چاپ می‌شود. -histo[:live] نمودار هیستوگرام Heap را چاپ می‌کند. برای هر کلاس جاوا، تعداد اشیاء، اندازه حافظه به بایت و نام کامل کلاس (Fully Qualified Class Name) چاپ می‌شود. نام کلاس‌های داخلی JVM با پیشوند ستاره (*) چاپ می‌شوند. در صورت تعیین زیرگزینه live، فقط اشیاء فعال شمارش می‌شوند. -clstats آمار بارگذار کلاس (Class Loader) مربوط به Heap جاوا را چاپ می‌کند. برای هر بارگذار کلاس، نام، میزان فعالیت، نشانی حافظه، بارگذار کلاس والد و تعداد و اندازه کلاس‌های بارگذاری‌شده توسط آن چاپ می‌شود. -F اجبار (Force). زمانی که شناسه فرایند (PID) پاسخ نمی‌دهد، از این گزینه به همراه گزینه jmap -dump یا jmap -histo استفاده کنید. زیرگزینه live در این حالت پشتیبانی نمی‌شود. -h پیام راهنما را چاپ می‌کند. -help پیام راهنما را چاپ می‌کند. -Jflag پرچم flag را به ماشین مجازی جاوایی که دستور jmap در آن اجرا می‌شود ارسال می‌کند. همچنین ببینید (SEE ALSO) • jhat(1) • jps(1) • jsadebugd(1) JDK 8 21 November 2013 jmap(1)