jhat(1) Troubleshooting Tools jhat(1)

jhat - هیپ جاوا را تحلیل می‌کند؛ این دستور آزمایشی است و پشتیبانی نمی‌شود.

jhat [ options ] heap-dump-file 
گزینه‌های خط فرمان. گزینه‌ها را ببینید.
فایل باینری دامپ هیپ جاوا برای مرور. برای فایل دامپی که شامل چندین دامپ هیپ است، می‌توانید با افزودن #<number> به انتهای نام فایل، دامپ مورد نظر در فایل را مشخص کنید؛ برای نمونه: myfile.hprof#3.

دستور jhat یک فایل دامپ هیپ جاوا را تجزیه کرده و یک وب‌سرور را راه‌اندازی می‌کند. دستور jhat به شما امکان می‌دهد دامپ‌های هیپ را با مرورگر وب دلخواه خود مرور کنید. دستور jhat از پرس‌وجوهای از پیش طراحی‌شده مانند نمایش تمام نمونه‌های یک کلاس مشخص MyClass، و همچنین Object Query Language (OQL) پشتیبانی می‌کند. زبان OQL مشابه SQL است، اما برای پرس‌وجو از دامپ‌های هیپ کاربرد دارد. راهنمای OQL در صفحه راهنمای OQL که توسط دستور jhat ارائه می‌شود در دسترس است. با درگاه پیش‌فرض، راهنمای OQL در آدرس http://localhost:7000/oqlhelp در دسترس است.

چندین روش برای تولید دامپ هیپ جاوا وجود دارد:

•
استفاده از گزینه jmap -dump برای دریافت دامپ هیپ در زمان اجرا. به jmap(1) مراجعه کنید.
•
استفاده از گزینه jconsole برای دریافت دامپ هیپ از طریق HotSpotDiagnosticMXBean در زمان اجرا. به jconsole(1) و توضیحات رابط HotSpotDiagnosticMXBean در http://docs.oracle.com/javase/8/docs/jre/api/management/extension/com/sun/management/HotSpotDiagnosticMXBean.html مراجعه کنید.
•
تولید دامپ هیپ هنگام پرتاب خطای OutOfMemoryError با تعیین گزینه -XX:+HeapDumpOnOutOfMemoryError در ماشین مجازی جاوا (JVM).
•
استفاده از دستور hprof. به HPROF: A Heap/CPU Profiling Tool در http://docs.oracle.com/javase/8/docs/technotes/samples/hprof.html مراجعه کنید.


ردیابی پشته فراخوانیِ تخصیص شیء را خاموش می‌کند. اگر اطلاعات محل تخصیص در دامپ هیپ موجود نباشد، باید این پرچم را روی false تنظیم کنید. مقدار پیش‌فرض true است.

ردیابی ارجاعات به اشیاء را خاموش می‌کند. مقدار پیش‌فرض true است. به‌طور پیش‌فرض، اشاره‌گرهای معکوس (اشیاء اشاره‌کننده به یک شیء مشخص مانند ارجاع‌دهنده‌ها یا ارجاعات ورودی) برای تمام اشیاء موجود در هیپ محاسبه می‌شوند.

درگاه سرور HTTP مربوط به jhat را تنظیم می‌کند. مقدار پیش‌فرض 7000 است.

فایلی را مشخص می‌کند که اعضای داده‌ایِ مورد نظر برای مستثنی شدن از پرس‌وجوی اشیاء در دسترس را فهرست کرده است. برای نمونه، اگر در فایل عبارت java.lang.String.value فهرست شده باشد، هر زمان که فهرست اشیاء در دسترس از یک شیء مشخص o محاسبه شود، مسیرهای ارجاعی شامل فیلد java.lang.String.value نادیده گرفته می‌شوند.

یک دامپ هیپ پایه (baseline) را مشخص می‌کند. اشیایی در هر دو دامپ هیپ که دارای شناسه شیء یکسانی هستند، به عنوان غیرجدید علامت‌گذاری می‌شوند. سایر اشیاء به عنوان جدید علامت می‌خورند. این گزینه برای مقایسه دو دامپ هیپ مختلف مفید است.

سطح اشکال‌زدایی را برای این ابزار تنظیم می‌کند. مقدار 0 به معنای عدم تولید خروجی اشکال‌زدایی است. مقادیر بالاتر را برای حالت‌های پرگوتر تنظیم کنید.

شماره نگارش انتشار را گزارش داده و خارج می‌شود.

پیام راهنما را نمایش داده و خارج می‌شود.

پیام راهنما را نمایش داده و خارج می‌شود.

پرچم flag را به ماشین مجازی جاوا که دستور jhat روی آن اجرا می‌شود ارسال می‌کند. برای نمونه، -J-Xmx512m برای استفاده از حداکثر اندازه هیپ ۵۱۲ مگابایت.

•
jmap(1)
•
jconsole(1)
•
HPROF: A Heap/CPU Profiling Tool در http://docs.oracle.com/javase/8/docs/technotes/samples/hprof.html
21 November 2013 JDK 8