jcmd(1) Troubleshooting Tools jcmd(1)

jcmd - ابزار ارسال درخواست‌های عیب‌یابی و کنترل به ماشین مجازی جاوا (JVM) (نسخه ۱۱)

jcmd [-l|-h|-help]
jcmd pid|main-class PerfCounter.print
jcmd pid|main-class -f filename
jcmd pid|main-class command[ arguments]

ابزار jcmd برای ارسال درخواست‌های دستورات عیب‌یابی به ماشین مجازی جاوا (JVM) استفاده می‌شود. این ابزار باید روی همان ماشینی اجرا شود که JVM در حال اجرا است، و باید دارای همان شناسه‌های کاربری و گروهی مؤثر (UID/GID) باشد که برای راه‌اندازی JVM استفاده شده‌اند.


نکته
برای فراخوانی دستورات عیب‌یابی از راه دور یا با شناسه‌های کاربری متفاوت، می‌توانید از رابط com.sun.management.DiagnosticCommandMBean استفاده کنید. برای اطلاعات بیشتر درباره رابط DiagnosticCommandMBean ، مستندات API را در نشانی زیر ببینید: http://docs.oracle.com/javase/8/docs/jre/api/management/extension/com/sun/management/DiagnosticCommandMBean.html

اگر jcmd را بدون آرگومان یا با گزینه -l اجرا کنید، فهرستی از شناسه‌های فرآیند (PID) جاوای در حال اجرا را همراه با کلاس اصلی (main class) و آرگومان‌های خط فرمانی که برای راه‌اندازی فرآیند استفاده شده‌اند، چاپ می‌کند. اجرای jcmd با گزینه -h یا -help پیام راهنمای این ابزار را چاپ می‌کند.

اگر شناسه فرآیند (pid) یا کلاس اصلی (main-class) را به عنوان نخستین آرگومان مشخص کنید، jcmd درخواست دستور عیب‌یابی را به فرآیند جاوای دارای شناسه مشخص‌شده یا به تمام فرآیندهای جاوا با نام کلاس اصلی مشخص‌شده ارسال می‌کند. همچنین می‌توانید با مشخص کردن 0 به عنوان شناسه فرآیند، درخواست دستور عیب‌یابی را به تمام فرآیندهای جاوای در دسترس ارسال کنید. از یکی از موارد زیر به عنوان درخواست دستور عیب‌یابی استفاده کنید:

Perfcounter.print

شمارنده‌های کارایی (performance counters) موجود برای فرآیند جاوای مشخص‌شده را چاپ می‌کند. فهرست شمارنده‌های کارایی ممکن است در فرآیندهای مختلف جاوا متفاوت باشد.

-f filename

نام فایلی که دستورات عیب‌یابی از آن خوانده شده و به فرآیند جاوای مشخص‌شده ارسال می‌شوند. فقط با گزینه -f استفاده می‌شود. هر دستور در فایل باید در یک خط مجزا نوشته شود. خطوطی که با علامت پوند (#) آغاز می‌شوند نادیده گرفته خواهند شد. پردازش فایل زمانی پایان می‌یابد که تمام خطوط خوانده شوند یا خطی حاوی کلمه کلیدی stop خوانده شود.

command [arguments]

دستوری که باید به فرآیند جاوای مشخص‌شده ارسال شود. فهرست دستورات عیب‌یابی موجود برای یک فرآیند معین را می‌توان با ارسال دستور help به آن فرآیند به دست آورد. هر دستور عیب‌یابی مجموعه‌ای از آرگومان‌های ویژه خود را دارد. برای مشاهده توضیحات، ساختار نحوی و فهرست آرگومان‌های موجود برای یک دستور، از نام آن دستور به عنوان آرگومان دستور help استفاده کنید.

نکته: اگر هر یک از آرگومان‌ها حاوی فاصله (space) باشند، باید آن‌ها را درون علامت‌های نقل‌قول تکی یا دوتایی (' یا ") قرار دهید. افزون بر این، برای جلوگیری از پردازش نقل‌قول‌ها توسط پوسته سیستم‌عامل (shell)، باید نقل‌قول‌های تکی یا دوتایی را با یک بک‌اسلش (\) اسکیپ کنید. در غیر این صورت می‌توانید این آرگومان‌ها را ابتدا درون نقل‌قول تکی و سپس درون نقل‌قول دوتایی (یا برعکس) محصور کنید.

گزینه‌ها مانعة‌الجمع هستند (نمی‌توان هم‌زمان بیش از یکی را به کار برد).

-f filename

دستورات را از فایل مشخص‌شده می‌خواند. این گزینه تنها در صورتی قابل استفاده است که شناسه فرآیند یا کلاس اصلی را به عنوان نخستین آرگومان مشخص کرده باشید. هر دستور در فایل باید در یک خط مجزا نوشته شود. خطوطی که با علامت پوند (#) آغاز می‌شوند نادیده گرفته خواهند شد. پردازش فایل زمانی پایان می‌یابد که تمام خطوط خوانده شوند یا خطی حاوی کلمه کلیدی stop خوانده شود.

-h
-help

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

-l

فهرست شناسه‌های فرآیندهای جاوای در حال اجرا را به همراه کلاس اصلی و آرگومان‌های خط فرمان چاپ می‌کند.

•jps(1)
03 March 2015 JDK 8