.\" Automatically generated by Pandoc 3.10.2 .\" .TH "JCMD" "1" "2026" "JDK 25.0.4.1" "JDK Commands" .SH "نام (NAME)" jcmd \- ارسال درخواست‌های دستور تشخیصی به یک ماشین مجازی جاوا (JVM) در حال اجرا .SH "خلاصه دستور (SYNOPSIS)" \f[CR]jcmd\f[R] [\f[I]pid\f[R] | \f[I]main\-class\f[R]] \f[I]command\f[R]... | \f[CR]PerfCounter.print\f[R] | \f[CR]\-f\f[R] \f[I]filename\f[R] .PP \f[CR]jcmd\f[R] [\f[CR]\-l\f[R]] .PP \f[CR]jcmd\f[R] \f[CR]\-h\f[R] .TP \f[I]pid\f[R] در صورت استفاده، ابزار \f[CR]jcmd\f[R] درخواست دستور تشخیصی را به شناسه فرایند (PID) فرایند جاوا ارسال می‌کند. .TP \f[I]main\-class\f[R] در صورت استفاده، ابزار \f[CR]jcmd\f[R] درخواست دستور تشخیصی را به تمام فرایندهای جاوایی که نام کلاس اصلی مشخص‌شده را دارند ارسال می‌کند. .TP \f[I]command\f[R] مقدار \f[CR]command\f[R] باید یک دستور معتبر \f[CR]jcmd\f[R] برای JVM انتخاب‌شده باشد. فهرست دستورهای موجود برای \f[CR]jcmd\f[R] با اجرای دستور \f[CR]help\f[R] (\f[CR]jcmd\f[R] \f[I]pid\f[R] \f[CR]help\f[R]) به دست می‌آید که در آن \f[I]pid\f[R] شناسه فرایند برای فرایند جاوای در حال اجرا است. .TP \f[CR]Perfcounter.print\f[R] شمارنده‌های کارایی ارائه‌شده توسط فرایند جاوای مشخص‌شده را چاپ می‌کند. .TP \f[CR]\-f\f[R] \f[I]filename\f[R] دستورها را از یک فایل مشخص‌شده، \f[I]filename\f[R]، خوانده و اجرا می‌کند. .TP \f[CR]\-l\f[R] فهرست شناسه‌های فرایند ماشین مجازی جاوا را که در یک فرایند مجزای docker اجرا نمی‌شوند، به همراه کلاس اصلی و آرگومان‌های خط فرمانی که برای راه‌اندازی فرایند استفاده شده‌اند نمایش می‌دهد. اگر JVM درون یک فرایند docker باشد، باید از ابزارهایی مانند \f[CR]ps\f[R] برای یافتن PID استفاده کنید. .RS \f[B]نکته:\f[R] استفاده از \f[CR]jcmd\f[R] بدون آرگومان، معادل استفاده از \f[CR]jcmd \-l\f[R] است. .RE .TP \f[CR]\-h\f[R] راهنمای خط فرمان ابزار \f[CR]jcmd\f[R] را نمایش می‌دهد. .SH "توضیحات (DESCRIPTION)" ابزار \f[CR]jcmd\f[R] برای ارسال درخواست‌های دستور تشخیصی به JVM استفاده می‌شود. این ابزار باید روی همان ماشینی که JVM در آن در حال اجرا است استفاده شود و دارای همان شناسه‌های کاربری و گروهی مؤثری باشد که برای راه‌اندازی JVM به کار رفته‌اند. هر دستور تشخیصی مجموعه گزینه‌ها و آرگومان‌های ویژه خود را دارد. برای نمایش توضیحات، نحو و فهرستی از گزینه‌ها و آرگومان‌های موجود برای یک دستور تشخیصی، نام دستور را به عنوان آرگومان به کار ببرید. برای نمونه: .RS .PP \f[CR]jcmd\f[R] \f[I]pid\f[R] \f[CR]help\f[R] \f[I]command\f[R] .RE .PP اگر آرگومان‌ها شامل فاصله باشند، باید آن‌ها را درون گیومه‌های تکی یا دوتایی (\f[CR]\(aq\f[R] یا \f[CR]\(dq\f[R]) قرار دهید. علاوه بر این، باید گیومه‌های تکی یا دوتایی را با یک بک‌اسلش (\f[CR]\(rs\f[R]) اسکیپ کنید تا از پردازش گیومه‌ها توسط پوسته سیستم‌عامل جلوگیری شود. همچنین می‌توانید این آرگومان‌ها را ابتدا درون گیومه‌های تکی و سپس درون گیومه‌های دوتایی قرار دهید (یا درون گیومه‌های دوتایی و سپس درون گیومه‌های تکی). .PP اگر شناسه فرایند (\f[I]pid\f[R]) یا کلاس اصلی (\f[I]main\-class\f[R]) را به عنوان آرگومان نخست مشخص کنید، ابزار \f[CR]jcmd\f[R] درخواست دستور تشخیصی را به فرایند جاوای دارای شناسه مشخص‌شده یا به تمام فرایندهای جاوای دارای نام کلاس اصلی مشخص‌شده ارسال می‌کند. همچنین می‌توانید با مشخص کردن \f[CR]0\f[R] به عنوان شناسه فرایند، درخواست دستور تشخیصی را به تمام فرایندهای جاوای در دسترس ارسال نمایید. .SH "دستورهای JCMD (COMMANDS FOR JCMD)" مقدار \f[I]command\f[R] باید یک دستور تشخیصی معتبر \f[CR]jcmd\f[R] برای JVM انتخاب‌شده باشد. فهرست دستورهای موجود برای \f[CR]jcmd\f[R] با اجرای دستور \f[CR]help\f[R] (\f[CR]jcmd\f[R] \f[I]pid\f[R] \f[CR]help\f[R]) به دست می‌آید که در آن \f[I]pid\f[R] شناسه فرایند برای فرایند جاوای در حال اجرا است. اگر \f[I]pid\f[R] برابر با \f[CR]0\f[R] باشد، دستورها به تمام فرایندهای جاوا ارسال خواهند شد. آرگومان کلاس اصلی برای تطبیق، چه به صورت جزئی یا کامل، با کلاسی که برای اجرای جاوا استفاده شده به کار می‌رود. اگر هیچ گزینه‌ای داده نشود، شناسه‌های فرایندهای در حال اجرای جاوا را که در فرایندهای مجزای docker نیستند به همراه کلاس اصلی و آرگومان‌های خط فرمان استفاده‌شده برای راه‌اندازی فرایند فهرست می‌کند (مشابه استفاده از \f[CR]\-l\f[R]). .PP دستورهای \f[CR]jcmd\f[R] ممکن است گزینه‌ها و آرگومان‌هایی بپذیرند. \f[I]گزینه‌ها\f[R] با استفاده از نحو \f[I]key\f[R] یا \f[I]key\f[R]\f[CR]=\f[R]\f[I]value\f[R] مشخص می‌شوند. \f[I]آرگومان‌ها\f[R] تنها به صورت یک مقدار داده می‌شوند، هرگز به صورت name=value به کار نمی‌روند. .PP دستورهای زیر در دسترس هستند: .TP \f[CR]help\f[R] [\f[I]options\f[R]] [\f[I]arguments\f[R]] برای دریافت اطلاعات بیشتر درباره یک دستور خاص. .RS \f[I]آرگومان‌ها\f[R]: .IP \(bu 2 \f[I]command name\f[R]: نام دستوری که برای آن راهنما درخواست می‌شود (STRING، بدون مقدار پیش‌فرض) \f[B]نکته:\f[R] \f[I]گزینه‌های\f[R] زیر باید با نحو \f[I]key\f[R] یا \f[I]key\f[R]\f[CR]=\f[R]\f[I]value\f[R] مشخص شوند. \f[I]گزینه‌ها\f[R]: .IP \(bu 2 \f[CR]\-all\f[R]: (اختیاری) نمایش راهنما برای تمام دستورها (BOOLEAN، مقدار پیش‌فرض false) \&. .RE .TP \f[CR]AOT.end_recording\f[R] یک آموزش در حال اجرای AOT را پایان داده و نتایج را در فایل(های) مشخص‌شده با \f[CR]\-XX:AOTConfiguration\f[R] و/یا \f[CR]\-XX:AOTCacheOutput\f[R] ذخیره می‌کند. .RS تأثیر: کم \f[B]نکته:\f[R] ماشین مجازی جاوا (JVM) باید با استفاده از آرگومان‌های خط فرمان مانند \f[CR]\-XX:AOTMode=record\f[R] یا \f[CR]\-XX:AOTCacheOutput=\f[R] در حالت آموزش AOT راه‌اندازی شده باشد. نتایج آموزش AOT می‌تواند یک فایل پیکربندی AOT، یک فایل حافظه موقت (cache) مربوط به AOT، یا هر دو باشد. .RE .TP \f[CR]Compiler.CodeHeap_Analytics\f[R] [\f[I]function\f[R]] [\f[I]granularity\f[R]] چاپ تحلیل‌های CodeHeap .RS تأثیر: کم: به اندازه و محتوای توده کد (code heap) بستگی دارد. در طول مرحله تحلیل قفل CodeCache_lock را نگه می‌دارد که معمولاً کمتر از یک ثانیه طول می‌کشد. \f[I]آرگومان‌ها\f[R]: .IP \(bu 2 \f[I]function\f[R]: (اختیاری) تابعی که باید اجرا شود (aggregate، UsedSpace، FreeSpace، MethodCount، MethodSpace، MethodAge، MethodNames، discard) (STRING، مقدار پیش‌فرض all) .IP \(bu 2 \f[I]granularity\f[R]: (اختیاری) سطح جزئیات \- مقدار کمتر \-> جزئیات بیشتر (INT، مقدار پیش‌فرض 4096) .RE .TP \f[CR]Compiler.codecache\f[R] چیدمان و محدوده‌های حافظه موقت کد (code cache) را چاپ می‌کند. .RS تأثیر: کم .RE .TP \f[CR]Compiler.codelist\f[R] تمام متدهای کامپایل‌شده در حافظه موقت کد (code cache) را که هنوز فعال هستند چاپ می‌کند. .RS تأثیر: متوسط .RE .TP \f[CR]Compiler.directives_add\f[R] \f[I]arguments\f[R] دستورالعمل‌های کامپایلر را از یک فایل اضافه می‌کند. .RS تأثیر: کم \f[I]آرگومان‌ها\f[R]: .IP \(bu 2 \f[I]filename\f[R]: نام فایل دستورالعمل‌ها (STRING، بدون مقدار پیش‌فرض) .RE .TP \f[CR]Compiler.directives_clear\f[R] حذف تمام دستورالعمل‌های کامپایلر. .RS تأثیر: کم .RE .TP \f[CR]Compiler.directives_print\f[R] تمام دستورالعمل‌های فعال کامپایلر را چاپ می‌کند. .RS تأثیر: کم .RE .TP \f[CR]Compiler.directives_remove\f[R] آخرین دستورالعمل اضافه‌شده کامپایلر را حذف می‌کند. .RS تأثیر: کم .RE .TP \f[CR]Compiler.memory\f[R] [\f[I]options\f[R]] چاپ ردپای حافظه کامپایل .RS تأثیر: متوسط: مدت‌زمان مکث بستگی به تعداد متدهای کامپایل‌شده دارد \f[B]نکته:\f[R] \f[I]گزینه‌ها\f[R] باید با نحو \f[I]key\f[R] یا \f[I]key\f[R]\f[CR]=\f[R]\f[I]value\f[R] مشخص شوند. \f[I]گزینه‌ها\f[R]: .IP \(bu 2 \f[CR]\-H\f[R]: (اختیاری) قالب خوانا برای انسان (BOOLEAN، مقدار پیش‌فرض false).IP \(bu 2 \f[CR]\-s\f[R]: (اختیاری) حداقل اندازه حافظه (MEMORY SIZE, 0) .RE .TP \f[CR]Compiler.perfmap\f[R] [\f[I]آرگومان‌ها\f[R]] (فقط لینوکس) نوشتن فایل مپ (map) برای ابزار perf در لینوکس. .RS تاثیر: کم \f[I]آرگومان‌ها\f[R]: .IP \(bu 2 \f[I]filename\f[R]: (اختیاری) نام فایل مپ. اگر %p در نام فایل مشخص شده باشد، به PID مربوط به JVM بسط می‌یابد. (FILE, \(dq/tmp/perf\-%p.map\(dq) .RE .TP \f[CR]Compiler.queue\f[R] متدهای در صف انتظار برای کامپایل را چاپ می‌کند. .RS تاثیر: کم .RE .TP \f[CR]GC.class_histogram\f[R] [\f[I]گزینه‌ها\f[R]] آماری درباره میزان مصرف heap جاوا ارائه می‌دهد. .RS تاثیر: زیاد \-\-\- به اندازه و محتوای heap جاوا بستگی دارد. \f[B]نکته:\f[R] \f[I]گزینه‌ها\f[R] باید با نحو \f[I]key\f[R] یا \f[I]key\f[R]\f[CR]=\f[R]\f[I]value\f[R] مشخص شوند. \f[I]گزینه‌ها\f[R]: .IP \(bu 2 \f[CR]\-all\f[R]: (اختیاری) تمام اشیاء، از جمله اشیاء غیرقابل‌دسترس را بررسی می‌کند (BOOLEAN, false) .IP \(bu 2 \f[CR]\-parallel\f[R]: (اختیاری) تعداد رشته‌های موازی مورد استفاده برای بازرسی heap. مقدار 0 (پیش‌فرض) به این معناست که تعیین تعداد رشته‌ها به عهده VM گذاشته شود. مقدار 1 به معنای استفاده از یک رشته است (غیرفعال کردن موازی‌سازی). برای هر مقدار دیگر، VM تلاش می‌کند از تعداد رشته‌های مشخص‌شده استفاده کند، اما ممکن است از تعداد کمتری استفاده کند. (INT, 0) .RE .TP \f[CR]GC.finalizer_info\f[R] اطلاعاتی درباره صف finalization جاوا ارائه می‌دهد. .RS تاثیر: متوسط .RE .TP \f[CR]GC.heap_dump\f[R] [\f[I]گزینه‌ها\f[R]] \f[I]filename\f[R] یک dump با فرمت HPROF از heap جاوا تولید می‌کند. .RS تاثیر: زیاد \-\-\- به اندازه و محتوای heap جاوا بستگی دارد. یک GC کامل را درخواست می‌کند مگر اینکه گزینه \f[CR]\-all\f[R] مشخص شده باشد. \f[B]نکته:\f[R] \f[I]گزینه‌ها\f[R]ی زیر باید با نحو \f[I]key\f[R] یا \f[I]key\f[R]\f[CR]=\f[R]\f[I]value\f[R] مشخص شوند. \f[I]گزینه‌ها\f[R]: .IP \(bu 2 \f[CR]\-all\f[R]: (اختیاری) تخلیه (dump) تمام اشیاء، از جمله اشیاء غیرقابل‌دسترس (BOOLEAN, false) .IP \(bu 2 \f[CR]\-gz\f[R]: (اختیاری) در صورت تعیین، heap dump با فرمت gzip و با سطح فشرده‌سازی مشخص‌شده نوشته می‌شود. مقدار 1 (پیشنهادی) سریع‌ترین، و 9 قوی‌ترین فشرده‌سازی است. (INT, 1) .IP \(bu 2 \f[CR]\-overwrite\f[R]: (اختیاری) در صورت تعیین، در صورتی که فایل dump از قبل وجود داشته باشد، بازنویسی می‌شود (BOOLEAN, false) .IP \(bu 2 \f[CR]\-parallel\f[R]: (اختیاری) تعداد رشته‌های موازی مورد استفاده برای heap dump. ماشین مجازی (VM) تلاش می‌کند از تعداد رشته‌های مشخص‌شده استفاده کند، اما ممکن است از تعداد کمتری استفاده کند. (INT, 1) \f[I]آرگومان‌ها\f[R]: .IP \(bu 2 \f[I]filename\f[R]: نام فایل dump. اگر %p در نام فایل مشخص شده باشد، به PID مربوط به JVM بسط می‌یابد. (FILE, بدون مقدار پیش‌فرض) .RE .TP \f[CR]GC.heap_info\f[R] اطلاعات عمومی درباره heap جاوا ارائه می‌دهد. .RS تاثیر: متوسط .RE .TP \f[CR]GC.run\f[R] متد \f[CR]java.lang.System.gc()\f[R] را فراخوانی می‌کند. .RS تاثیر: متوسط \-\-\- به اندازه و محتوای heap جاوا بستگی دارد. .RE .TP \f[CR]GC.run_finalization\f[R] متد \f[CR]java.lang.System.runFinalization()\f[R] را فراخوانی می‌کند. .RS تاثیر: متوسط \-\-\- به محتوای جاوا بستگی دارد. .RE .TP \f[CR]JFR.check\f[R] [\f[I]گزینه‌ها\f[R]] نمایش اطلاعات درباره یک flight recording در حال اجرا .RS تاثیر: کم \f[B]نکته:\f[R] \f[I]گزینه‌ها\f[R] باید با نحو \f[I]key\f[R] یا \f[I]key\f[R]\f[CR]=\f[R]\f[I]value\f[R] مشخص شوند. اگر هیچ پارامتری وارد نشود، اطلاعات تمام ضبط‌های فعال نمایش داده می‌شود. \f[I]گزینه‌ها\f[R]: .IP \(bu 2 \f[CR]name\f[R]: (اختیاری) نام flight recording. (STRING, بدون مقدار پیش‌فرض) .IP \(bu 2 \f[CR]verbose\f[R]: (اختیاری) پرچمی برای چاپ تنظیمات رویداد مربوط به ضبط (BOOLEAN, false) .RE .TP \f[CR]JFR.configure\f[R] [\f[I]گزینه‌ها\f[R]] تنظیم پارامترها برای یک flight recording .RS تاثیر: کم \f[B]نکته:\f[R] \f[I]گزینه‌ها\f[R] باید با نحو \f[I]key\f[R] یا \f[I]key\f[R]\f[CR]=\f[R]\f[I]value\f[R] مشخص شوند. اگر هیچ پارامتری وارد نشود، تنظیمات فعلی نمایش داده می‌شوند. \f[I]گزینه‌ها\f[R]: .IP \(bu 2 \f[CR]dumppath\f[R]: (اختیاری) مسیر مکانی که در صورت بروز خطای بحرانی در VM (مانند کرش سیستم)، فایل ضبط در آنجا نوشته می‌شود. (STRING, مکان پیش‌فرض، دایرکتوری جاری است) .IP \(bu 2 \f[CR]globalbuffercount\f[R]: (اختیاری) تعداد بافرهای سراسری (global buffers). این گزینه قدیمی (legacy) است: برای تغییر تعداد بافرهای سراسری، پارامتر \f[CR]memorysize\f[R] را تغییر دهید. این مقدار پس از مقداردهی اولیه JFR قابل تغییر نیست. (STRING, پیش‌فرض توسط مقدار \f[CR]memorysize\f[R] تعیین می‌شود) .IP \(bu 2 \f[CR]globalbuffersize\f[R]: (اختیاری) اندازه بافرهای سراسری به بایت. این گزینه قدیمی (legacy) است: برای تغییر اندازه بافرهای سراسری، پارامتر \f[CR]memorysize\f[R] را تغییر دهید. این مقدار پس از مقداردهی اولیه JFR قابل تغییر نیست. (STRING, پیش‌فرض توسط مقدار \f[CR]memorysize\f[R] تعیین می‌شود) .IP \(bu 2 \f[CR]maxchunksize\f[R]: (اختیاری) حداکثر اندازه یک تکه داده (data chunk) مجزا به بایت، در صورتی که یکی از پسوندهای زیر استفاده نشده باشد: \(aqm\(aq یا \(aqM\(aq برای مگابایت، یا \(aqg\(aq یا \(aqG\(aq برای گیگابایت. این مقدار پس از مقداردهی اولیه JFR قابل تغییر نیست. (STRING, 12M) .IP \(bu 2 \f[CR]memorysize\f[R]: (اختیاری) اندازه کلی حافظه به بایت، در صورتی که یکی از پسوندهای زیر استفاده نشده باشد: \(aqm\(aq یا \(aqM\(aq برای مگابایت، یا \(aqg\(aq یا \(aqG\(aq برای گیگابایت. این مقدار پس از مقداردهی اولیه JFR قابل تغییر نیست. (STRING, 10M) .IP \(bu 2 \f[CR]repositorypath\f[R]: (اختیاری) مسیر مکانی که فایل‌های ضبط تا زمان نوشته شدن در یک فایل دائمی در آنجا ذخیره می‌شوند. (STRING, مکان پیش‌فرض، دایرکتوری موقت سیستم‌عامل است. در سیستم‌های عامل لینوکس، دایرکتوری موقت \f[CR]/tmp\f[R] است. در ویندوز، دایرکتوری موقت توسط متغیر محیطی \f[CR]TMP\f[R] مشخص می‌شود.) .IP \(bu 2 \f[CR]preserve\-repository=\f[R]{\f[CR]true\f[R]|\f[CR]false\f[R]} : مشخص می‌کند که آیا فایل‌های ذخیره‌شده در مخزن دیسک باید پس از خروج JVM حفظ شوند یا خیر. اگر مقدار false باشد، فایل‌ها حذف می‌شوند. به طور پیش‌فرض، این پارامتر غیرفعال است. .IP \(bu 2 \f[CR]stackdepth\f[R]: (اختیاری) عمق پشته برای ردگیری‌های پشته (stack traces). تنظیم این مقدار به بیشتر از مقدار پیش‌فرض 64 ممکن است باعث افت کارایی شود. این مقدار پس از مقداردهی اولیه JFR قابل تغییر نیست. (LONG, 64) .IP \(bu 2 \f[CR]thread_buffer_size\f[R]: (اختیاری) اندازه بافر محلی برای هر رشته به بایت، در صورتی که یکی از پسوندهای زیر استفاده نشده باشد: \(aqk\(aq یا \(aqK\(aq برای کیلوبایت، یا \(aqm\(aq یا \(aqM\(aq برای مگابایت. تغییر مقدار این پارامتر می‌تواند کارایی را کاهش دهد و توصیه نمی‌شود. این مقدار پس از مقداردهی اولیه JFR قابل تغییر نیست. (STRING, 8k) .IP \(bu 2 \f[CR]samplethreads\f[R]: (اختیاری) پرچمی برای فعال‌سازی نمونه‌برداری از رشته‌ها (thread sampling). (BOOLEAN, true) .RE .TP \f[CR]JFR.dump\f[R] [\f[I]گزینه‌ها\f[R]] نوشتن داده‌ها در یک فایل در حین اجرای flight recording .RS تاثیر: کم \f[B]نکته:\f[R] \f[I]گزینه‌ها\f[R] باید با نحو \f[I]key\f[R] یا \f[I]key\f[R]\f[CR]=\f[R]\f[I]value\f[R] مشخص شوند. هیچ گزینه‌ای الزامی نیست. ضبط پس از نوشته شدن داده‌ها به اجرای خود ادامه می‌دهد. \f[I]گزینه‌ها\f[R]:.IP \(bu 2 \f[CR]begin\f[R]: (اختیاری) مشخص کردن زمانی که داده‌های ضبط‌شده از آن زمان به بعد در فایل رونوشت (dump) گنجانده می‌شوند. قالب آن به‌صورت زمان محلی مشخص می‌شود. (STRING، بدون مقدار پیش‌فرض) .IP \(bu 2 \f[CR]end\f[R]: (اختیاری) مشخص کردن زمانی که داده‌های ضبط‌شده تا آن زمان در فایل رونوشت (dump) گنجانده می‌شوند. قالب آن به‌صورت زمان محلی مشخص می‌شود. (STRING، بدون مقدار پیش‌فرض) .RS 2 .PP \f[B]نکته:\f[R] هم برای \f[CR]begin\f[R] و هم برای \f[CR]end\f[R]، زمان باید در قالبی باشد که توسط java.time.LocalTime::parse(STRING)، java.time.LocalDateTime::parse(STRING) یا java.time.Instant::parse(STRING) قابل خواندن باشد. برای مثال، \(dq13:20:15\(dq، \(dq2020\-03\-17T09:00:00\(dq یا \(dq2020\-03\-17T09:00:00Z\(dq. .PP \f[B]نکته:\f[R] زمان‌های \f[CR]begin\f[R] و \f[CR]end\f[R] با برچسب‌های زمانی (timestamps) موجود در اطلاعات ضبط‌شده در داده‌های flight recording مطابقت دارند. .PP گزینه دیگر استفاده از یک زمان نسبی نسبت به زمان فعلی است که با یک عدد صحیح منفی به همراه \(dqs\(dq، \(dqm\(dq یا \(dqh\(dq مشخص می‌شود. برای مثال، \(dq\-12h\(dq، \(dq\-15m\(dq یا \(dq\-30s\(dq. .RE .IP \(bu 2 \f[CR]filename\f[R]: (اختیاری) نام فایلی که داده‌های flight recording در آن تخلیه (dump) می‌شوند. اگر نام فایلی داده نشود، نام فایل از PID و تاریخ فعلی تولید می‌شود. نام فایل می‌تواند یک دایرکتوری نیز باشد که در این حالت، نام فایل از PID و تاریخ فعلی درون دایرکتوری مشخص‌شده تولید می‌شود. اگر %p و/یا %t در نام فایل مشخص شده باشد، به ترتیب به PID مربوط به JVM و برچسب زمانی فعلی بسط می‌یابد. (FILE، بدون مقدار پیش‌فرض) .IP \(bu 2 \f[CR]maxage\f[R]: (اختیاری) بازه زمانی برای رونوشت گرفتن از داده‌های flight recording در یک فایل. (INTEGER به همراه \(aqs\(aq برای ثانیه، \(aqm\(aq برای دقیقه یا \(aqh\(aq برای ساعت، بدون مقدار پیش‌فرض) .IP \(bu 2 \f[CR]maxsize\f[R]: (اختیاری) حداکثر اندازه برای مقدار داده‌ای که از flight recording رونوشت گرفته می‌شود، به بایت در صورتی که هیچ‌یک از پسوندهای زیر استفاده نشده باشد: \(aqm\(aq یا \(aqM\(aq برای مگابایت یا \(aqg\(aq یا \(aqG\(aq برای گیگابایت. (STRING، بدون مقدار پیش‌فرض) .IP \(bu 2 \f[CR]name\f[R]: (اختیاری) نام ضبط. اگر نامی ارائه نشود، داده‌های تمام ضبط‌ها تخلیه می‌شوند. (STRING، بدون مقدار پیش‌فرض) .IP \(bu 2 \f[CR]path\-to\-gc\-roots\f[R]: (اختیاری) پرچمی برای ذخیره مسیر به ریشه‌های جمع‌آوری زباله (GC) در زمان تخلیه داده‌های ضبط. اطلاعات مسیر برای یافتن نشت‌های حافظه (memory leaks) مفید است، اما جمع‌آوری آن می‌تواند باعث مکث کوتاه‌مدت برنامه شود. این پرچم را فقط زمانی فعال کنید که مشکوک به وجود نشت حافظه در برنامه خود هستید. (BOOLEAN، false) .RE .TP \f[CR]JFR.start\f[R] [\f[I]options\f[R]] شروع یک flight recording .RS تأثیر: کم \f[B]نکته:\f[R] گزینه‌های \f[I]options\f[R] باید با استفاده از نحو \f[I]key\f[R] یا \f[I]key\f[R]\f[CR]=\f[R]\f[I]value\f[R] مشخص شوند. اگر پارامتری وارد نشود، ضبط با مقادیر پیش‌فرض آغاز خواهد شد. \f[I]options\f[R]: .IP \(bu 2 \f[CR]delay\f[R]: (اختیاری) مدت زمانی که قبل از شروع ضبط باید منتظر ماند (INTEGER به همراه \(aqs\(aq برای ثانیه، \(aqm\(aq برای دقیقه یا \(aqh\(aq برای ساعت، 0s) .IP \(bu 2 \f[CR]disk\f[R]: (اختیاری) پرچمی برای نوشتن هم‌زمان داده‌ها بر روی دیسک هنگام ضبط (BOOLEAN، true) .IP \(bu 2 \f[CR]dumponexit\f[R]: (اختیاری) پرچمی برای نوشتن داده‌های ضبط بر روی دیسک هنگام خاموش شدن ماشین مجازی جاوا (JVM). در صورت تنظیم روی \(aqtrue\(aq و عدم تعیین مقداری برای \f[CR]filename\f[R]، اطلاعات ضبط در فایلی در همان دایرکتوری که فرایند از آنجا آغاز شده بود نوشته می‌شود. نام این فایل به‌صورت سیستمی تولید شده و شامل شناسه فرایند (PID)، شناسه ضبط و برچسب زمانی فعلی است. (برای مثال: \f[CR]id\-1\-2019_12_12_10_41.jfr\f[R]) (BOOLEAN، false) .IP \(bu 2 \f[CR]duration\f[R]: (اختیاری) مدت زمان ضبط. توجه داشته باشید که \f[CR]0s\f[R] به معنای ضبط نامحدود (همیشگی) است (INTEGER به همراه \(aqs\(aq برای ثانیه، \(aqm\(aq برای دقیقه یا \(aqh\(aq برای ساعت، 0s) .IP \(bu 2 \f[CR]filename\f[R]: (اختیاری) نام فایلی که پس از توقف ضبط، داده‌های flight recording در آن نوشته می‌شوند. اگر نام فایلی داده نشود، نام فایل از PID و تاریخ فعلی تولید شده و در دایرکتوری محل آغاز فرایند قرار می‌گیرد. نام فایل همچنین می‌تواند یک دایرکتوری باشد که در این صورت، نام فایل از PID و تاریخ فعلی در دایرکتوری مشخص‌شده تولید می‌شود. اگر %p و/یا %t در نام فایل مشخص شده باشد، به ترتیب به PID مربوط به JVM و برچسب زمانی فعلی بسط می‌یابد. (FILE، بدون مقدار پیش‌فرض) .IP \(bu 2 \f[CR]maxage\f[R]: (اختیاری) حداکثر زمان نگهداری داده‌های ضبط‌شده بر روی دیسک. این پارامتر فقط زمانی معتبر است که پارامتر \f[CR]disk\f[R] روی \f[CR]true\f[R] تنظیم شده باشد. توجه داشته باشید که \f[CR]0s\f[R] به معنای نامحدود (همیشگی) است. (INTEGER به همراه \(aqs\(aq برای ثانیه، \(aqm\(aq برای دقیقه یا \(aqh\(aq برای ساعت، 0s) .IP \(bu 2 \f[CR]maxsize\f[R]: (اختیاری) حداکثر اندازه داده‌های نگهداری‌شده روی دیسک به بایت در صورتی که هیچ‌یک از پسوندهای زیر استفاده نشده باشد: \(aqm\(aq یا \(aqM\(aq برای مگابایت یا \(aqg\(aq یا \(aqG\(aq برای گیگابایت. این پارامتر فقط زمانی معتبر است که پارامتر \f[CR]disk\f[R] روی \(aqtrue\(aq تنظیم شده باشد. این مقدار نباید از مقدار پارامتر \f[CR]maxchunksize\f[R] تنظیم‌شده با دستور \f[CR]JFR.configure\f[R] کمتر باشد. (STRING، 0 (بدون حداکثر اندازه)) .IP \(bu 2 \f[CR]name\f[R]: (اختیاری) نام ضبط. اگر نامی ارائه نشود، یک نام تولید می‌شود. نام تولیدشده را که در پاسخ دستور نشان داده می‌شود یادداشت کنید تا بتوانید از آن در دستورات دیگر استفاده کنید. (STRING، نام پیش‌فرض تولیدشده توسط سیستم) .IP \(bu 2 \f[CR]path\-to\-gc\-roots\f[R]: (اختیاری) پرچمی برای ذخیره مسیر به ریشه‌های جمع‌آوری زباله (GC) در پایان ضبط. اطلاعات مسیر برای یافتن نشت‌های حافظه مفید است، اما جمع‌آوری آن زمان‌بر است. این پرچم را فقط زمانی فعال کنید که مشکوک به وجود نشت حافظه در برنامه خود هستید. اگر پارامتر \f[CR]settings\f[R] روی \(aqprofile\(aq تنظیم شده باشد، اطلاعات جمع‌آوری‌شده شامل رد پشته (stack trace) مکانی است که شیء دارای نشت احتمالی در آن تخصیص یافته بود. (BOOLEAN، false) .IP \(bu 2 \f[CR]settings\f[R]: (اختیاری) نام فایل تنظیماتی که مشخص می‌کند کدام رویدادها باید ضبط شوند. برای تعیین بیش از یک فایل، نام‌ها را با کاما (\(aq,\(aq) جدا کنید. اگر فایل در \f[CR]JAVA\-HOME\f[R]/lib/jfr قرار ندارد، مسیر آن را قید کنید. پروفایل‌های زیر به همراه JDK در دایرکتوری \f[CR]JAVA\-HOME\f[R]/lib/jfr ارائه شده‌اند: \(aqdefault.jfc\(aq: مجموعه‌ای پیش‌تعریف‌شده از اطلاعات را با بار اضافی (overhead) کم جمع‌آوری می‌کند، بنابراین حداقل تأثیر را بر عملکرد دارد و می‌تواند برای ضبط‌هایی که به صورت مداوم اجرا می‌شوند استفاده شود؛ \(aqprofile.jfc\(aq: داده‌های بیشتری نسبت به پروفایل \(aqdefault.jfc\(aq ارائه می‌دهد، اما بار اضافی و تأثیر بیشتری بر عملکرد دارد. از این پیکربندی برای دوره‌های زمانی کوتاه در صورت نیاز به اطلاعات بیشتر استفاده کنید. برای شروع ضبط بدون فایل پیکربندی از پیش‌تعریف‌شده، از \f[CR]none\f[R] استفاده کنید. (STRING، \f[CR]JAVA\-HOME\f[R]/lib/jfr/default.jfc) تنظیمات رویداد و گزینه‌های .jfc را می‌توان با استفاده از نحو زیر مشخص کرد: .IP \(bu 2 \f[CR]option\f[R]: (اختیاری) مقدار گزینه‌ای که باید تغییر کند را مشخص می‌کند. برای مشاهده گزینه‌های موجود، از ابزار \f[CR]JAVA_HOME\f[R]/bin/jfr استفاده کنید. .IP \(bu 2 \f[CR]event\-setting\f[R]: (اختیاری) مقدار تنظیمات رویدادی که باید تغییر کند را مشخص می‌کند. از قالب زیر استفاده کنید: \f[CR]#=\f[R] برای افزودن یک تنظیمات رویداد جدید، نام رویداد را با پیشوند \(aq+\(aq مشخص کنید. می‌توانید مقادیر چندین تنظیمات رویداد و گزینه .jfc را با جدا کردن آن‌ها با فاصله (whitespace) مشخص کنید. در صورت بروز تداخل بین یک پارامتر و یک گزینه .jfc، پارامتر اولویت خواهد داشت. جداکننده فاصله را می‌توان برای مقادیر بازه زمانی حذف کرد، یعنی 20ms. برای اطلاعات بیشتر در مورد نحو تنظیمات، به Javadoc بسته jdk.jfr مراجعه کنید. .RE .TP \f[CR]JFR.stop\f[R] [\f[I]options\f[R]] توقف یک flight recording .RS تأثیر: کم \f[B]نکته:\f[R] گزینه‌های \f[I]options\f[R] باید با استفاده از نحو \f[I]key\f[R] یا \f[I]key\f[R]\f[CR]=\f[R]\f[I]value\f[R] مشخص شوند. اگر پارامتری وارد نشود، هیچ ضبطی متوقف نخواهد شد. \f[I]options\f[R]: .IP \(bu 2 \f[CR]filename\f[R]: (اختیاری) نام فایلی که پس از متوقف شدن ضبط، داده‌های ضبط در آن نوشته می‌شوند. اگر %p و/یا %t در نام فایل مشخص شده باشد، به ترتیب به PID مربوط به JVM و برچسب زمانی فعلی بسط می‌یابد. اگر هیچ مسیری ارائه نشود، داده‌های ضبط دور ریخته می‌شوند. (FILE، بدون مقدار پیش‌فرض) .IP \(bu 2 \f[CR]name\f[R]: (اختیاری) نام ضبط (STRING، بدون مقدار پیش‌فرض) .RE .TP \f[CR]JFR.view\f[R] [\f[I]options\f[R]] نمایش داده‌های رویداد در نماهای از پیش‌تعریف‌شده. .RS تأثیر: متوسط \f[B]نکته:\f[R] گزینه‌های \f[I]options\f[R] باید با استفاده از نحو \f[I]key\f[R] یا \f[I]key\f[R]\f[CR]=\f[R]\f[I]value\f[R] مشخص شوند. اگر هیچ پارامتری وارد نشود، فهرستی از نماهای موجود نمایش داده می‌شود. \f[I]options\f[R]:.IP \(bu 2 \f[CR]cell\-height\f[R]: (اختیاری) بیشترین تعداد سطرها در یک سلول جدول. (INT، مقدار پیش‌فرض به نما بستگی دارد) .IP \(bu 2 \f[CR]maxage\f[R]: (اختیاری) طول بازه زمانی تحت پوشش نما. (INT به همراه \(aqs\(aq برای ثانیه، \(aqm\(aq برای دقیقه یا \(aqh\(aq برای ساعت، مقدار پیش‌فرض 10m است) .IP \(bu 2 \f[CR]maxsize\f[R]: (اختیاری) بیشترین اندازه تحت پوشش نما به بایت در صورتی که یکی از پسوندهای زیر استفاده نشود: \(aqm\(aq یا \(aqM\(aq برای مگابایت یا \(aqg\(aq یا \(aqG\(aq برای گیگابایت. (STRING، مقدار پیش‌فرض 32MB است) .IP \(bu 2 \f[CR]truncate\f[R]: (اختیاری) بیشترین تعداد سطرها در یک سلول جدول. (INT، مقدار پیش‌فرض به نما بستگی دارد) .IP \(bu 2 \f[CR]verbose\f[R]: (اختیاری) پرسمانی که نما را تشکیل می‌دهد نمایش می‌دهد. (BOOLEAN، مقدار پیش‌فرض false است) .IP \(bu 2 \f[CR]width\f[R]: (اختیاری) عرض نما بر حسب نویسه. (INT، مقدار پیش‌فرض به نما بستگی دارد) \f[I]آرگومان‌ها\f[R]: .IP \(bu 2 \f[CR]view\f[R]: نام نما یا نوع رویداد برای نمایش. برای دیدن فهرست نماهای دردسترس از \f[CR]help JFR.view\f[R] استفاده کنید. (STRING، بدون مقدار پیش‌فرض) پارامتر view می‌تواند نام یک نوع رویداد باشد. برای مشاهده فهرست از \f[CR]JFR.view types\f[R] استفاده کنید. برای نمایش همه نماها، از \f[CR]JFR.view all\-views\f[R] استفاده کنید. برای نمایش همه رویدادها، از \f[CR]JFR.view all\-events\f[R] استفاده کنید. .RE .TP \f[CR]JVMTI.agent_load\f[R] [\f[I]آرگومان‌ها\f[R]] عامل محلی JVMTI را بارگذاری می‌کند. .RS تأثیر: کم \f[I]آرگومان‌ها\f[R]: .IP \(bu 2 \f[I]library path\f[R]: مسیر مطلق عامل JVMTI برای بارگذاری. (STRING، بدون مقدار پیش‌فرض) .IP \(bu 2 \f[I]agent option\f[R]: (اختیاری) رشته گزینه برای ارسال به عامل. (STRING، بدون مقدار پیش‌فرض) .RE .TP \f[CR]JVMTI.data_dump\f[R] به JVM جهت انجام یک درخواست data\-dump برای JVMTI سیگنال می‌دهد. .RS تأثیر: زیاد .RE .TP \f[CR]ManagementAgent.start\f[R] [\f[I]گزینه‌ها\f[R]] عامل مدیریت راه دور را شروع می‌کند. .RS تأثیر: کم \-\-\- بدون تأثیر \f[B]نکته:\f[R] \f[I]گزینه‌ها\f[R]ی زیر باید یا با نحو \f[I]key\f[R] یا \f[I]key\f[R]\f[CR]=\f[R]\f[I]value\f[R] مشخص شوند. \f[I]گزینه‌ها\f[R]: .IP \(bu 2 \f[CR]config.file\f[R]: (اختیاری) مقدار \f[CR]com.sun.management.config.file\f[R] را تنظیم می‌کند (STRING، بدون مقدار پیش‌فرض) .IP \(bu 2 \f[CR]jmxremote.host\f[R]: (اختیاری) مقدار \f[CR]com.sun.management.jmxremote.host\f[R] را تنظیم می‌کند (STRING، بدون مقدار پیش‌فرض) .IP \(bu 2 \f[CR]jmxremote.port\f[R]: (اختیاری) مقدار \f[CR]com.sun.management.jmxremote.port\f[R] را تنظیم می‌کند (STRING، بدون مقدار پیش‌فرض) .IP \(bu 2 \f[CR]jmxremote.rmi.port\f[R]: (اختیاری) مقدار \f[CR]com.sun.management.jmxremote.rmi.port\f[R] را تنظیم می‌کند (STRING، بدون مقدار پیش‌فرض) .IP \(bu 2 \f[CR]jmxremote.ssl\f[R]: (اختیاری) مقدار \f[CR]com.sun.management.jmxremote.ssl\f[R] را تنظیم می‌کند (STRING، بدون مقدار پیش‌فرض) .IP \(bu 2 \f[CR]jmxremote.registry.ssl\f[R]: (اختیاری) مقدار \f[CR]com.sun.management.jmxremote.registry.ssl\f[R] را تنظیم می‌کند (STRING، بدون مقدار پیش‌فرض) .IP \(bu 2 \f[CR]jmxremote.authenticate\f[R]: (اختیاری) مقدار \f[CR]com.sun.management.jmxremote.authenticate\f[R] را تنظیم می‌کند (STRING، بدون مقدار پیش‌فرض) .IP \(bu 2 jmxremote.password.file: (اختیاری) مقدار \f[CR]com.sun.management.jmxremote.password.file\f[R] را تنظیم می‌کند (STRING، بدون مقدار پیش‌فرض) .IP \(bu 2 \f[CR]jmxremote.access.file\f[R]: (اختیاری) مقدار \f[CR]com.sun.management.jmxremote.acce ss.file\f[R] را تنظیم می‌کند (STRING، بدون مقدار پیش‌فرض) .IP \(bu 2 \f[CR]jmxremote.login.config\f[R]: (اختیاری) مقدار \f[CR]com.sun.management.jmxremote.log in.config\f[R] را تنظیم می‌کند (STRING، بدون مقدار پیش‌فرض) .IP \(bu 2 \f[CR]jmxremote.ssl.enabled.cipher.suites\f[R]: (اختیاری) مقدار \f[CR]com.sun.management\f[R] را تنظیم می‌کند. .IP \(bu 2 \f[CR]jmxremote.ssl.enabled.cipher.suite\f[R]: (STRING، بدون مقدار پیش‌فرض) .IP \(bu 2 \f[CR]jmxremote.ssl.enabled.protocols\f[R]: (اختیاری) مقدار \f[CR]com.sun.management.jmxr emote.ssl.enabled.protocols\f[R] را تنظیم می‌کند (STRING، بدون مقدار پیش‌فرض) .IP \(bu 2 \f[CR]jmxremote.ssl.need.client.auth\f[R]: (اختیاری) مقدار \f[CR]com.sun.management.jmxre mote.need.client.auth\f[R] را تنظیم می‌کند (STRING، بدون مقدار پیش‌فرض) .IP \(bu 2 \f[CR]jmxremote.ssl.config.file\f[R]: (اختیاری) مقدار \f[CR]com.sun.management.jmxremote. ssl_config_file\f[R] را تنظیم می‌کند (STRING، بدون مقدار پیش‌فرض) .IP \(bu 2 \f[CR]jmxremote.autodiscovery\f[R]: (اختیاری) مقدار \f[CR]com.sun.management.jmxremote.au todiscovery\f[R] را تنظیم می‌کند (STRING، بدون مقدار پیش‌فرض) .IP \(bu 2 \f[CR]jdp.port\f[R]: (اختیاری) مقدار \f[CR]com.sun.management.jdp.port\f[R] را تنظیم می‌کند (INT، بدون مقدار پیش‌فرض) .IP \(bu 2 \f[CR]jdp.address\f[R]: (اختیاری) مقدار \f[CR]com.sun.management.jdp.address\f[R] را تنظیم می‌کند (STRING، بدون مقدار پیش‌فرض) .IP \(bu 2 \f[CR]jdp.source_addr\f[R]: (اختیاری) مقدار \f[CR]com.sun.management.jdp.source_addr\f[R] را تنظیم می‌کند (STRING، بدون مقدار پیش‌فرض) .IP \(bu 2 \f[CR]jdp.ttl\f[R]: (اختیاری) مقدار \f[CR]com.sun.management.jdp.ttl\f[R] را تنظیم می‌کند (INT، بدون مقدار پیش‌فرض) .IP \(bu 2 \f[CR]jdp.pause\f[R]: (اختیاری) مقدار \f[CR]com.sun.management.jdp.pause\f[R] را تنظیم می‌کند (INT، بدون مقدار پیش‌فرض) .IP \(bu 2 \f[CR]jdp.name\f[R]: (اختیاری) مقدار \f[CR]com.sun.management.jdp.name\f[R] را تنظیم می‌کند (STRING، بدون مقدار پیش‌فرض) .RE .TP \f[CR]ManagementAgent.start_local\f[R] عامل مدیریت محلی را شروع می‌کند. .RS تأثیر: کم \-\-\- بدون تأثیر .RE .TP \f[CR]ManagementAgent.status\f[R] وضعیت عامل مدیریت را چاپ می‌کند. .RS تأثیر: کم \-\-\- بدون تأثیر .RE .TP \f[CR]ManagementAgent.stop\f[R] عامل مدیریت راه دور را متوقف می‌کند. .RS تأثیر: کم \-\-\- بدون تأثیر .RE .TP \f[CR]System.dump_map\f[R] [\f[I]گزینه‌ها\f[R]] (تنها در لینوکس) نگاشت حاشیه‌نویسی‌شده حافظه فرایند را در یک فایل خروجی ذخیره می‌کند. .RS تأثیر: کم \f[B]نکته:\f[R] \f[I]گزینه‌ها\f[R]ی زیر باید یا با نحو \f[I]key\f[R] یا \f[I]key\f[R]\f[CR]=\f[R]\f[I]value\f[R] مشخص شوند. \f[I]گزینه‌ها\f[R]: .IP \(bu 2 \f[CR]\-H\f[R]: (اختیاری) قالب خوانا برای انسان (BOOLEAN، false) .IP \(bu 2 \f[CR]\-F\f[R]: (اختیاری) مسیر فایل. اگر %p در نام فایل مشخص شود، به PID مربوط به JVM بسط داده می‌شود. (FILE، \(dqvm_memory_map_%p.txt\(dq) .RE .TP \f[CR]System.map\f[R] [\f[I]گزینه‌ها\f[R]] (تنها در لینوکس) یک نگاشت حاشیه‌نویسی‌شده از حافظه فرایند VM را چاپ می‌کند. .RS تأثیر: کم \f[B]نکته:\f[R] \f[I]گزینه‌ها\f[R]ی زیر باید یا با نحو \f[I]key\f[R] یا \f[I]key\f[R]\f[CR]=\f[R]\f[I]value\f[R] مشخص شوند. \f[I]گزینه‌ها\f[R]: .IP \(bu 2 \f[CR]\-H\f[R]: (اختیاری) قالب خوانا برای انسان (BOOLEAN، false) .RE .TP \f[CR]System.native_heap_info\f[R] (تنها در لینوکس) تلاش می‌کند اطلاعات مربوط به میزان مصرف هیپ بومی (native heap) را از طریق malloc_info(3) ارائه دهد. در صورت ناموفق بودن، عبارت \(dqError: \(dq و دلیل آن را چاپ می‌کند. .RS تأثیر: کم .RE .TP \f[CR]System.trim_native_heap\f[R] (تنها در لینوکس) تلاش می‌کند با هرس کردن هیپ C (C\-heap)، حافظه را آزاد کند. .RS تأثیر: کم .RE .TP \f[CR]Thread.dump_to_file\f[R] [\f[I]گزینه‌ها\f[R]] \f[I]filepath\f[R] تخلیه رشته‌ها (threads)، به همراه ردپای پشته (stack traces)، در یک فایل با قالب متنی ساده یا JSON. .RS تأثیر: متوسط: بستگی به تعداد رشته‌ها دارد. \f[B]نکته:\f[R] \f[I]گزینه‌ها\f[R]ی زیر باید یا با نحو \f[I]key\f[R] یا \f[I]key\f[R]\f[CR]=\f[R]\f[I]value\f[R] مشخص شوند. \f[I]گزینه‌ها\f[R]:.IP \(bu 2 \f[CR]\-overwrite\f[R]: (اختیاری) ممکن است فایل موجود را بازنویسی کند (BOOLEAN، false) .IP \(bu 2 \f[CR]\-format\f[R]: (اختیاری) قالب خروجی (\(dqplain\(dq یا \(dqjson\(dq) (STRING، plain) \f[I]آرگومان‌ها\f[R]: .IP \(bu 2 \f[I]filepath\f[R]: مسیر فایل خروجی. اگر %p در نام فایل مشخص شده باشد، به PID مربوط به JVM بسط می‌یابد. (FILE، بدون مقدار پیش‌فرض) .RE .TP \f[CR]Thread.print\f[R] [\f[I]گزینه‌ها\f[R]] تمام رشته‌ها را همراه با رد پشته (stacktrace) چاپ می‌کند. .RS تأثیر: متوسط \-\-\- به تعداد رشته‌ها بستگی دارد. \f[B]نکته:\f[R] \f[I]گزینه‌های\f[R] زیر باید با استفاده از نحو \f[I]key\f[R] یا \f[I]key\f[R]\f[CR]=\f[R]\f[I]value\f[R] مشخص شوند. \f[I]گزینه‌ها\f[R]: .IP \(bu 2 \f[CR]\-e\f[R]: (اختیاری) چاپ اطلاعات گسترش‌یافتهٔ رشته (BOOLEAN، false) .IP \(bu 2 \f[CR]\-l\f[R]: (اختیاری) قفل‌های \f[CR]java.util.concurrent\f[R] را چاپ می‌کند (BOOLEAN، false) .RE .TP \f[CR]Thread.vthread_scheduler\f[R] زمان‌بند رشته‌های مجازی و زمان‌بندهای کارهای با تاخیر را که از رشته‌های مجازی در حال انجام عملیات زمان‌بندی‌شده پشتیبانی می‌کنند، چاپ می‌کند. .RS تأثیر: کم .RE .TP \f[CR]Thread.vthread_pollers\f[R] وارسی‌کننده‌های ورودی/خروجی (I/O pollers) را که از رشته‌های مجازی در حال انجام عملیات مسدودکنندهٔ ورودی/خروجی شبکه پشتیبانی می‌کنند، چاپ می‌کند. .RS تأثیر: کم .RE .TP \f[CR]VM.cds\f[R] [\f[I]آرگومان‌ها\f[R]] یک آرشیو اشتراکی ایستا یا پویا شامل تمام کلاس‌های بارگذاری‌شدهٔ کنونی را ذخیره (dump) می‌کند. .RS تأثیر: متوسط \-\-\- مدت زمان توقف به تعداد کلاس‌های بارگذاری‌شده بستگی دارد \f[I]آرگومان‌ها\f[R]: .IP \(bu 2 \f[I]subcmd\f[R]: باید \f[CR]static_dump\f[R] یا \f[CR]dynamic_dump\f[R] باشد (STRING، بدون مقدار پیش‌فرض) .IP \(bu 2 \f[I]filename\f[R]: (اختیاری) نام آرشیو اشتراکی که باید دامپ شود. اگر %p در نام فایل مشخص شده باشد، به PID مربوط به JVM بسط می‌یابد. (FILE، \(dqjava_pid%p_.jsa\(dq) اگر \f[CR]dynamic_dump\f[R] مشخص شده باشد، JVM هدف باید با گزینه JVM به نام \f[CR]\-XX:+RecordDynamicDumpInfo\f[R] راه‌اندازی شود. .RE .TP \f[CR]VM.class_hierarchy\f[R] [\f[I]گزینه‌ها\f[R]] [\f[I]آرگومان‌ها\f[R]] فهرستی از تمام کلاس‌های بارگذاری‌شده را که برای نمایش سلسله‌مراتب کلاس‌ها دارای تورفتگی است، چاپ می‌کند. نام هر کلاس با *ClassLoaderData مربوط به ClassLoader آن، یا در صورتی که توسط بارگذار کلاس راه‌انداز (bootstrap) بارگذاری شده باشد با \(dqnull\(dq دنبال می‌شود. .RS تأثیر: متوسط \-\-\- به تعداد کلاس‌های بارگذاری‌شده بستگی دارد. \f[B]نکته:\f[R] \f[I]گزینه‌های\f[R] زیر باید با استفاده از نحو \f[I]key\f[R] یا \f[I]key\f[R]\f[CR]=\f[R]\f[I]value\f[R] مشخص شوند. \f[I]گزینه‌ها\f[R]: .IP \(bu 2 \f[CR]\-i\f[R]: (اختیاری) رابط‌های (interfaces) به ارث‌رسیده چاپ شوند. (BOOLEAN، false) .IP \(bu 2 \f[CR]\-s\f[R]: (اختیاری) اگر یک classname مشخص شده باشد، علاوه بر ابرکلاس‌ها، زیرکلاس‌های آن نیز چاپ شوند. بدون این گزینه فقط ابرکلاس‌ها چاپ خواهند شد. (BOOLEAN، false) \f[I]آرگومان‌ها\f[R]: .IP \(bu 2 \f[I]classname\f[R]: (اختیاری) نام کلاسی که سلسله‌مراتب آن باید چاپ شود. در صورت عدم تعیین، سلسله‌مراتب تمام کلاس‌ها چاپ می‌شود. (STRING، بدون مقدار پیش‌فرض) .RE .TP \f[CR]VM.classes\f[R] [\f[I]گزینه‌ها\f[R]] چاپ تمام کلاس‌های بارگذاری‌شده .RS تأثیر: متوسط: به تعداد کلاس‌های بارگذاری‌شده بستگی دارد. \f[I]گزینه‌های\f[R] زیر باید با استفاده از نحو \f[I]key\f[R] یا \f[I]key\f[R]\f[CR]=\f[R]\f[I]value\f[R] مشخص شوند. \f[I]گزینه‌ها\f[R]: .IP \(bu 2 \f[CR]\-verbose\f[R]: (اختیاری) محتوای تفصیلی یک کلاس جاوا را دامپ می‌کند. برخی کلاس‌ها با پرچم‌ها نشانه‌گذاری شده‌اند: \f[CR]F\f[R] = دارای یک متد finalize غیرخالی است (یا آن را به ارث می‌برد)، \f[CR]f\f[R] = دارای متد final است، \f[CR]W\f[R] = متدها بازنویسی شده‌اند، \f[CR]C\f[R] = با یادداشت \f[CR]\(atContended\f[R] نشانه‌گذاری شده است، \f[CR]R\f[R] = بازتعریف شده است، \f[CR]S\f[R] = کلاس اشتراکی است (BOOLEAN، false) .RE .TP \f[CR]VM.classloader_stats\f[R] آمار مربوط به تمام ClassLoaderها را چاپ می‌کند. .RS تأثیر: کم .RE .TP \f[CR]VM.classloaders\f[R] [\f[I]گزینه‌ها\f[R]] سلسله‌مراتب classloader را چاپ می‌کند. .RS تأثیر: متوسط \-\-\- به تعداد بارگذارهای کلاس و کلاس‌های بارگذاری‌شده بستگی دارد. \f[I]گزینه‌های\f[R] زیر باید با استفاده از نحو \f[I]key\f[R] یا \f[I]key\f[R]\f[CR]=\f[R]\f[I]value\f[R] مشخص شوند. \f[I]گزینه‌ها\f[R]: .IP \(bu 2 \f[CR]show\-classes\f[R]: (اختیاری) چاپ کلاس‌های بارگذاری‌شده. (BOOLEAN، false) .IP \(bu 2 \f[CR]verbose\f[R]: (اختیاری) چاپ اطلاعات تفصیلی. (BOOLEAN، false) .IP \(bu 2 \f[CR]fold\f[R]: (اختیاری) نمایش بارگذارهای با نام و کلاس یکسان به صورت یکی. (BOOLEAN، true) .RE .TP \f[CR]VM.command_line\f[R] خط فرمان استفاده‌شده برای راه‌اندازی این نمونهٔ VM را چاپ می‌کند. .RS تأثیر: کم .RE .TP \f[CR]VM.dynlibs\f[R] کتابخانه‌های پویای بارگذاری‌شده را چاپ می‌کند. .RS تأثیر: کم .RE .TP \f[CR]VM.events\f[R] [\f[I]گزینه‌ها\f[R]] چاپ لاگ‌های رویداد VM .RS تأثیر: کم \-\-\- به اندازهٔ لاگ رویدادها بستگی دارد. \f[I]گزینه‌ها\f[R]: \f[B]نکته:\f[R] \f[I]گزینه‌های\f[R] زیر باید با استفاده از نحو \f[I]key\f[R] یا \f[I]key\f[R]\f[CR]=\f[R]\f[I]value\f[R] مشخص شوند. .IP \(bu 2 \f[CR]log\f[R]: (اختیاری) نام لاگی که باید چاپ شود. در صورت عدم تعیین، تمام لاگ‌ها چاپ می‌شوند. (STRING، بدون مقدار پیش‌فرض) .IP \(bu 2 \f[CR]max\f[R]: (اختیاری) حداکثر تعداد رویدادها برای چاپ (جدیدترین‌ها اول). در صورت حذف یا صفر بودن، تمام رویدادها چاپ می‌شوند. (INT، 0) .RE .TP \f[CR]VM.flags\f[R] [\f[I]گزینه‌ها\f[R]] گزینه‌های پرچم VM و مقادیر کنونی آن‌ها را چاپ می‌کند. .RS تأثیر: کم \f[B]نکته:\f[R] \f[I]گزینه‌های\f[R] زیر باید با استفاده از نحو \f[I]key\f[R] یا \f[I]key\f[R]\f[CR]=\f[R]\f[I]value\f[R] مشخص شوند. \f[I]گزینه‌ها\f[R]: .IP \(bu 2 \f[CR]\-all\f[R]: (اختیاری) تمام پرچم‌های پشتیبانی‌شده توسط VM را چاپ می‌کند (BOOLEAN، false). .RE .TP \f[CR]VM.info\f[R] اطلاعات مربوط به محیط و وضعیت JVM را چاپ می‌کند. .RS تأثیر: کم .RE .TP \f[CR]VM.log\f[R] [\f[I]گزینه‌ها\f[R]] پیکربندی فعلی لاگ را فهرست می‌کند، یک خروجی لاگ را فعال/غیرفعال/پیکربندی می‌کند، یا تمام لاگ‌ها را می‌چرخاند (rotate می‌کند). .RS تأثیر: کم \f[I]گزینه‌ها\f[R]: \f[B]نکته:\f[R] \f[I]گزینه‌های\f[R] زیر باید با استفاده از نحو \f[I]key\f[R] یا \f[I]key\f[R]\f[CR]=\f[R]\f[I]value\f[R] مشخص شوند. .IP \(bu 2 \f[CR]output\f[R]: (اختیاری) نام یا شناسه (#) خروجی برای پیکربندی. (STRING، بدون مقدار پیش‌فرض) .IP \(bu 2 \f[CR]output_options\f[R]: (اختیاری) گزینه‌های مربوط به خروجی. (STRING، بدون مقدار پیش‌فرض) .IP \(bu 2 \f[CR]what\f[R]: (اختیاری) برچسب‌هایی (tags) که باید لاگ شوند را پیکربندی می‌کند. (STRING، بدون مقدار پیش‌فرض ).IP \(bu 2 \f[CR]decorators\f[R]: (اختیاری) تعیین می‌کند از کدام دکوراتورها استفاده شود. برای حذف همه، از \(aqnone\(aq یا یک مقدار خالی استفاده کنید. (STRING، بدون مقدار پیش‌فرض) .IP \(bu 2 \f[CR]disable\f[R]: (اختیاری) تمام ثبت وقایع (لاگ‌گیری) را غیرفعال کرده و پیکربندی لاگ را پاک می‌کند. (BOOLEAN، بدون مقدار پیش‌فرض) .IP \(bu 2 \f[CR]list\f[R]: (اختیاری) پیکربندی فعلی لاگ را فهرست می‌کند. (BOOLEAN، بدون مقدار پیش‌فرض) .IP \(bu 2 \f[CR]rotate\f[R]: (اختیاری) تمام لاگ‌ها را چرخش می‌دهد (rotate). (BOOLEAN، بدون مقدار پیش‌فرض) .RE .TP \f[CR]VM.metaspace\f[R] [\f[I]options\f[R]] آمارهای metaspace را چاپ می‌کند. .RS تأثیر: متوسط \-\-\- به تعداد کلاس‌های بارگذاری‌شده بستگی دارد. \f[B]نکته:\f[R] گزینه‌های \f[I]options\f[R] زیر باید با استفاده از ساختار \f[I]key\f[R] یا \f[I]key\f[R]\f[CR]=\f[R]\f[I]value\f[R] مشخص شوند. \f[I]options\f[R]: .IP \(bu 2 \f[CR]basic\f[R]: (اختیاری) خلاصه‌ای پایه را چاپ می‌کند (نیازی به safepoint ندارد). (BOOLEAN، false) .IP \(bu 2 \f[CR]show\-loaders\f[R]: (اختیاری) میزان مصرف را بر اساس بارگذار کلاس نمایش می‌دهد. (BOOLEAN، false) .IP \(bu 2 \f[CR]show\-classes\f[R]: (اختیاری) در صورت تعیین show\-loaders، کلاس‌های بارگذاری‌شده را برای هر بارگذار نشان می‌دهد. (BOOLEAN، false) .IP \(bu 2 \f[CR]by\-chunktype\f[R]: (اختیاری) تفکیک آمار بر اساس نوع تکه (chunk type). (BOOLEAN، false) .IP \(bu 2 \f[CR]by\-spacetype\f[R]: (اختیاری) تفکیک آمار بر اساس نوع بارگذار. (BOOLEAN، false) .IP \(bu 2 \f[CR]vslist\f[R]: (اختیاری) جزئیات مربوط به فضای مجازی زیرین (virtual space) را نمایش می‌دهد. (BOOLEAN، false) .IP \(bu 2 \f[CR]chunkfreelist\f[R]: (اختیاری) جزئیات مربوط به فهرست‌های آزاد تکه سراسری (ChunkManager) را نمایش می‌دهد. (BOOLEAN، false) .IP \(bu 2 \f[CR]scale\f[R]: (اختیاری) مقیاس نمایش مصرف حافظه. مقادیر معتبر عبارتند از: 1، KB، MB یا GB (مقیاس ثابت) یا \(dqdynamic\(dq برای مقیاسی که به صورت پویا انتخاب می‌شود. (STRING، dynamic) .RE .TP \f[CR]VM.native_memory\f[R] [\f[I]options\f[R]] میزان مصرف حافظه محلی (native memory) را چاپ می‌کند. .RS تأثیر: متوسط \f[B]نکته:\f[R] گزینه‌های \f[I]options\f[R] زیر باید با استفاده از ساختار \f[I]key\f[R] یا \f[I]key\f[R]\f[CR]=\f[R]\f[I]value\f[R] مشخص شوند. \f[I]options\f[R]: .IP \(bu 2 \f[CR]summary\f[R]: (اختیاری) از زمان‌اجرا (runtime) درخواست می‌کند که خلاصه حافظه فعلی را گزارش کند، که شامل کل حافظه رزروشده و تخصیص‌یافته (committed)، به همراه خلاصه مصرف حافظه توسط هر زیرسیستم است. (BOOLEAN، false) .IP \(bu 2 \f[CR]detail\f[R]: (اختیاری) از زمان‌اجرا درخواست می‌کند تخصیص‌های حافظه >= 1K را برای هر محل فراخوانی (callsite) گزارش دهد. (BOOLEAN، false) .IP \(bu 2 \f[CR]baseline\f[R]: (اختیاری) از زمان‌اجرا درخواست می‌کند مصرف حافظه فعلی را به عنوان خط مبنا ثبت کند تا بتوان بعداً با آن مقایسه کرد. (BOOLEAN، false) .IP \(bu 2 \f[CR]summary.diff\f[R]: (اختیاری) از زمان‌اجرا درخواست می‌کند گزارش مقایسه خلاصه حافظه در برابر خط مبنای قبلی را ارائه دهد. (BOOLEAN، false) .IP \(bu 2 \f[CR]detail.diff\f[R]: (اختیاری) از زمان‌اجرا درخواست می‌کند گزارش مقایسه تفصیلی حافظه در برابر خط مبنای قبلی را ارائه دهد، که فعالیت‌های تخصیص حافظه را در محل‌های مختلف فراخوانی نشان می‌دهد. (BOOLEAN، false) .IP \(bu 2 \f[CR]statistics\f[R]: (اختیاری) آمارهای ردیاب (tracker) را به منظور بهینه‌سازی و تنظیم چاپ می‌کند. (BOOLEAN، false) .IP \(bu 2 \f[CR]scale\f[R]: (اختیاری) مقیاس مصرف حافظه؛ KB، MB یا GB (STRING، KB) .RE .TP \f[CR]VM.set_flag\f[R] [\f[I]arguments\f[R]] گزینه پرچم ماشین مجازی را با استفاده از مقدار ارائه‌شده تنظیم می‌کند. .RS تأثیر: کم \f[I]arguments\f[R]: .IP \(bu 2 \f[I]flag name\f[R]: نام پرچمی که می‌خواهید تنظیم کنید (STRING، بدون مقدار پیش‌فرض) .IP \(bu 2 \f[I]string value\f[R]: (اختیاری) مقداری که می‌خواهید تنظیم کنید (STRING، بدون مقدار پیش‌فرض) .RE .TP \f[CR]VM.stringtable\f[R] [\f[I]options\f[R]] جدول رشته‌ها (string table) را تخلیه (dump) می‌کند. .RS تأثیر: متوسط \-\-\- به محتوای Java بستگی دارد. \f[B]نکته:\f[R] گزینه‌های \f[I]options\f[R] زیر باید با استفاده از ساختار \f[I]key\f[R] یا \f[I]key\f[R]\f[CR]=\f[R]\f[I]value\f[R] مشخص شوند. \f[I]options\f[R]: .IP \(bu 2 \f[CR]\-verbose\f[R]: (اختیاری) محتوای هر رشته در جدول را تخلیه می‌کند (BOOLEAN، false) .RE .TP \f[CR]VM.symboltable\f[R] [\f[I]options\f[R]] جدول نمادها (symbol table) را تخلیه (dump) می‌کند. .RS تأثیر: متوسط \-\-\- به محتوای Java بستگی دارد. \f[B]نکته:\f[R] گزینه‌های \f[I]options\f[R] زیر باید با استفاده از ساختار \f[I]key\f[R] یا \f[I]key\f[R]\f[CR]=\f[R]\f[I]value\f[R] مشخص شوند. \f[I]options\f[R]: .IP \(bu 2 \f[CR]\-verbose\f[R]: (اختیاری) محتوای هر نماد در جدول را تخلیه می‌کند (BOOLEAN، false) .RE .TP \f[CR]VM.system_properties\f[R] ویژگی‌های سیستم (system properties) را چاپ می‌کند. .RS تأثیر: کم .RE .TP \f[CR]VM.systemdictionary\f[R] آمارهای مربوط به اندازه جدول هش دیکشنری و طول باکت‌ها (bucket length) را چاپ می‌کند. .RS تأثیر: متوسط \f[B]نکته:\f[R] گزینه‌های \f[I]options\f[R] زیر باید با استفاده از ساختار \f[I]key\f[R] یا \f[I]key\f[R]\f[CR]=\f[R]\f[I]value\f[R] مشخص شوند. \f[I]options\f[R]: .IP \(bu 2 \f[CR]verbose\f[R]: (اختیاری) محتوای هر مدخل دیکشنری را برای تمام بارگذارهای کلاس تخلیه می‌کند (BOOLEAN، false). .RE .TP \f[CR]VM.uptime\f[R] [\f[I]options\f[R]] مدت زمان فعال بودن (uptime) ماشین مجازی را چاپ می‌کند. .RS تأثیر: کم \f[B]نکته:\f[R] گزینه‌های \f[I]options\f[R] زیر باید با استفاده از ساختار \f[I]key\f[R] یا \f[I]key\f[R]\f[CR]=\f[R]\f[I]value\f[R] مشخص شوند. \f[I]options\f[R]: .IP \(bu 2 \f[CR]\-date\f[R]: (اختیاری) یک پیشوند شامل تاریخ فعلی اضافه می‌کند (BOOLEAN، false) .RE .TP \f[CR]VM.version\f[R] اطلاعات نگارش JVM را چاپ می‌کند. .RS تأثیر: کم .RE