JSTAT(1) JDK Commands JSTAT(1)

jstat - پایش آمارهای JVM

نکته: این دستور آزمایشی است و پشتیبانی نمی‌شود.

jstat generalOptions

jstat outputOptions [-t] [-h lines] vmid [interval [count]]

یک تک‌گزینه عمومی خط فرمان. بخش General Options را ببینید.
گزینه‌ای که توسط گزینه -options گزارش شده است. یک یا چند گزینه خروجی که شامل یک statOption منفرد، به‌همراه هر یک از گزینه‌های -t، -h و -J است. بخش Output Options for the jstat Command را ببینید.
یک ستون برچسب زمان (time-stamp) را به‌عنوان نخستین ستون خروجی نمایش می‌دهد. برچسب زمان، مدت‌زمان سپری‌شده از زمان شروع JVM هدف است.
یک سرستون را به‌ازای هر n نمونه (ردیف‌های خروجی) نمایش می‌دهد، که در آن n یک عدد صحیح مثبت است. مقدار پیش‌فرض 0 است، که سرستون را برای نخستین ردیف داده‌ها نمایش می‌دهد.
شناسه ماشین مجازی، که رشته‌ای نمایانگر JVM هدف است. بخش Virtual Machine Identifier را ببینید.
بازه زمانی نمونه‌برداری با واحدهای مشخص‌شده، ثانیه (s) یا میلی‌ثانیه (ms). واحد پیش‌فرض میلی‌ثانیه است. این مقدار باید یک عدد صحیح مثبت باشد. در صورت تعیین، دستور jstat خروجی خود را در هر بازه زمانی تولید می‌کند.
تعداد نمونه‌ها برای نمایش. مقدار پیش‌فرض بی‌نهایت است، که باعث می‌شود دستور jstat آمار را تا زمانی که JVM هدف خاتمه یابد یا خود دستور jstat متوقف شود، نمایش دهد. این مقدار باید یک عدد صحیح مثبت باشد.

دستور jstat آمارهای عملکردی را برای یک Java HotSpot VM ابزاربندی‌شده نمایش می‌دهد. ماشین مجازی JVM هدف توسط شناسه ماشین مجازی (virtual machine identifier) یا گزینه vmid مشخص می‌شود.

دستور jstat از دو نوع گزینه پشتیبانی می‌کند: گزینه‌های عمومی و گزینه‌های خروجی. گزینه‌های عمومی باعث می‌شوند دستور jstat اطلاعات کاربردی ساده و نسخه را نمایش دهد. گزینه‌های خروجی، محتوا و قالب خروجی آماری را تعیین می‌کنند.

تمام گزینه‌ها و عملکردهای آن‌ها ممکن است در نسخه‌های بعدی دستخوش تغییر یا حذف شوند.

اگر یکی از گزینه‌های عمومی را مشخص کنید، نمی‌توانید هیچ گزینه یا پارامتر دیگری را تعیین نمایید.

یک پیام راهنما را نمایش می‌دهد.
فهرستی از گزینه‌های آماری را نمایش می‌دهد. بخش گزینه‌های خروجی برای دستور JSTAT را ببینید.

اگر گزینه عمومی را مشخص نکنید، می‌توانید گزینه‌های خروجی را تعیین کنید. گزینه‌های خروجی، محتوا و قالب خروجی دستور jstat را تعیین کرده و شامل یک statOption منفرد به‌همراه هر یک از دیگر گزینه‌های خروجی (-h، -t و -J) هستند. گزینه statOption باید در ابتدا بیاید.

خروجی در قالب یک جدول قالب‌بندی می‌شود که ستون‌های آن با فاصله از یکدیگر جدا شده‌اند. یک سطر سرایند با عنوان‌ها، ستون‌ها را توصیف می‌کند. از گزینه -h برای تنظیم بسامد نمایش سرایند استفاده کنید. نام‌های سرایند ستون‌ها در بین گزینه‌های مختلف یکپارچه هستند. به‌طور کلی، اگر دو گزینه ستونی با نام یکسان ارائه دهند، منبع داده آن دو ستون یکسان است.

از گزینه -t برای نمایش یک ستون برچسب زمان، با عنوان Timestamp به‌عنوان نخستین ستون خروجی استفاده کنید. ستون Timestamp شامل زمان سپری‌شده (به ثانیه) از زمان شروع JVM هدف است. دقت برچسب زمان به عوامل متعددی بستگی دارد و ممکن است به‌دلیل تأخیر در زمان‌بندی رشته‌ها (thread scheduling) در سیستم‌های زیر بار سنگین، دستخوش نوسان شود.

از پارامترهای interval و count به‌ترتیب برای مشخص کردن بسامد زمانی و تعداد دفعاتی که دستور jstat خروجی خود را نمایش می‌دهد، استفاده کنید.

نکته:

برای پردازش و تجزیه خروجی دستور jstat اسکریپت ننویسید؛ زیرا قالب آن ممکن است در نسخه‌های آینده تغییر کند. اگر اسکریپت‌هایی برای تجزیه خروجی دستور jstat می‌نویسید، انتظار داشته باشید که مجبور به اصلاح آن‌ها برای نسخه‌های بعدی این ابزار شوید.

اطلاعات آماری‌ای را که دستور jstat نمایش می‌دهد تعیین می‌کند. موارد زیر گزینه‌های موجود را فهرست می‌کنند. از گزینه عمومی -options برای نمایش فهرست گزینه‌ها در یک نصب خاص از بستر استفاده کنید. بخش گزینه‌های آماری و خروجی (Stat Options and Output) را ببینید.

class: آمارهای مربوط به رفتار بارگذار کلاس (class loader) را نمایش می‌دهد.

compiler: آمارهای مربوط به رفتار کامپایلر درجا (Just-in-Time) ماشین مجازی Java HotSpot را نمایش می‌دهد.

gc: آمارهای مربوط به رفتار حافظه هیپ زباله‌روبی‌شده (garbage collected heap) را نمایش می‌دهد.

gccapacity: آمارهای مربوط به ظرفیت‌های نسل‌ها و فضاهای متناظر آن‌ها را نمایش می‌دهد.

gccause: خلاصه‌ای از آمارهای زباله‌روبی (مشابه -gcutil) را همراه با علت آخرین رویداد زباله‌روبی و رویداد فعلی (در صورت وجود) نمایش می‌دهد.

gcnew: آمارهای مربوط به رفتار نسل جدید (new generation) را نمایش می‌دهد.

gcnewcapacity: آمارهای مربوط به اندازه‌های نسل جدید و فضاهای متناظر آن‌ها را نمایش می‌دهد.

gcold: آمارهای مربوط به رفتار نسل قدیم (old generation) و آمارهای metaspace را نمایش می‌دهد.

gcoldcapacity: آمارهای مربوط به اندازه‌های نسل قدیم را نمایش می‌دهد.

gcmetacapacity: آمارهای مربوط به اندازه‌های metaspace را نمایش می‌دهد.

gcutil: خلاصه‌ای از آمارهای مربوط به زباله‌روبی را نمایش می‌دهد.

printcompilation: آمارهای متد کامپایل Java HotSpot VM را نمایش می‌دهد.

مقدار javaOption را به راه‌انداز برنامه جاوا (launcher) ارسال می‌کند. برای نمونه، -J-Xms48m حافظه راه‌اندازی را روی ۴۸ مگابایت تنظیم می‌کند. برای فهرست کامل گزینه‌ها، java را ببینید.

اطلاعات زیر ستون‌هایی را که دستور jstat برای هر statOption در خروجی نمایش می‌دهد، خلاصه می‌کند.

گزینهٔ -class
آمار بارگذار کلاس.

Loaded: تعداد کلاس‌های بارگذاری‌شده.

Bytes: تعداد کیلوبایت‌های بارگذاری‌شده.

Unloaded: تعداد کلاس‌های تخلیه‌شده.

Bytes: تعداد کیلوبایت‌های تخلیه‌شده.

Time: مدت‌زمان صرف‌شده برای انجام عملیات بارگذاری و تخلیهٔ کلاس‌ها.

گزینهٔ -compiler
آمار کامپایلر Just-in-Time در Java HotSpot VM.

Compiled: تعداد وظایف کامپایل انجام‌شده.

Failed: تعداد وظایف کامپایل شکست‌خورده.

Invalid: تعداد وظایف کامپایلی که باطل شده‌اند.

Time: مدت‌زمان صرف‌شده برای انجام وظایف کامپایل.

FailedType: نوع کامپایل آخرین کامپایل ناموفق.

FailedMethod: نام کلاس و متد آخرین کامپایل ناموفق.

گزینهٔ -gc
آمار هیپ زباله‌روبی‌شده.

S0C: ظرفیت فعلی فضای بازماندهٔ ۰ (KB).

S1C: ظرفیت فعلی فضای بازماندهٔ ۱ (KB).

S0U: میزان استفاده از فضای بازماندهٔ ۰ (KB).

S1U: میزان استفاده از فضای بازماندهٔ ۱ (KB).

EC: ظرفیت فعلی فضای eden (بر حسب KB).

EU: میزان استفاده از فضای eden (بر حسب KB).

OC: ظرفیت فعلی فضای قدیمی (KB).

OU: میزان استفاده از فضای قدیمی (KB).

MC: اندازهٔ تخصیص‌یافتهٔ Metaspace (بر حسب KB).

MU: میزان استفاده از Metaspace (بر حسب KB).

CCSC: اندازهٔ تخصیص‌یافتهٔ کلاس فشرده (KB).

CCSU: میزان استفاده از فضای کلاس فشرده (KB).

YGC: تعداد رخدادهای زباله‌روبی (GC) نسل جوان.

YGCT: مدت‌زمان زباله‌روبی نسل جوان.

FGC: تعداد رخدادهای GC کامل (Full GC).

FGCT: مدت‌زمان زباله‌روبی کامل.

GCT: کل مدت‌زمان زباله‌روبی.

گزینهٔ -gccapacity
ظرفیت‌های فضا و نسل‌های استخر حافظه.

NGCMN: حداقل ظرفیت نسل جدید (KB).

NGCMX: حداکثر ظرفیت نسل جدید (KB).

NGC: ظرفیت فعلی نسل جدید (KB).

S0C: ظرفیت فعلی فضای بازماندهٔ ۰ (KB).

S1C: ظرفیت فعلی فضای بازماندهٔ ۱ (KB).

EC: ظرفیت فعلی فضای eden (بر حسب KB).

OGCMN: حداقل ظرفیت نسل قدیم (KB).

OGCMX: حداکثر ظرفیت نسل قدیم (KB).

OGC: ظرفیت فعلی نسل قدیم (KB).

OC: ظرفیت فعلی فضای قدیمی (KB).

MCMN: حداقل ظرفیت Metaspace (بر حسب KB).

MCMX: حداکثر ظرفیت Metaspace (بر حسب KB).

MC: اندازهٔ تخصیص‌یافتهٔ Metaspace (بر حسب KB).

CCSMN: حداقل ظرفیت فضای کلاس فشرده (KB).

CCSMX: حداکثر ظرفیت فضای کلاس فشرده (KB).

CCSC: اندازهٔ تخصیص‌یافتهٔ فضای کلاس فشرده (KB).

YGC: تعداد رخدادهای GC در نسل جوان.

FGC: تعداد رخدادهای GC کامل.

گزینهٔ -gccause
این گزینه همان خلاصهٔ آمارهای زباله‌روبی را که توسط گزینهٔ -gcutil نمایش داده می‌شود ارائه می‌کند، اما علت‌های آخرین رخداد زباله‌روبی و (در صورت وجود) رخداد زباله‌روبیِ فعلی را نیز شامل می‌شود. علاوه بر ستون‌های فهرست‌شده برای -gcutil، این گزینه ستون‌های زیر را اضافه می‌کند:

LGCC: علت آخرین زباله‌روبی

GCC: علت زباله‌روبی فعلی

گزینهٔ -gcnew
آمارهای نسل جدید.

S0C: ظرفیت فعلی فضای بازماندهٔ ۰ (KB).

S1C: ظرفیت فعلی فضای بازماندهٔ ۱ (KB).

S0U: میزان استفاده از فضای بازماندهٔ ۰ (KB).

S1U: میزان استفاده از فضای بازماندهٔ ۱ (KB).

TT: آستانهٔ ارتقا (Tenuring threshold).

MTT: حداکثر آستانهٔ ارتقا.

DSS: اندازهٔ مطلوب فضای بازمانده (KB).

EC: ظرفیت فعلی فضای eden (بر حسب KB).

EU: میزان استفاده از فضای eden (بر حسب KB).

YGC: تعداد رخدادهای GC نسل جوان.

YGCT: مدت‌زمان زباله‌روبی نسل جوان.

گزینهٔ -gcnewcapacity
آمارهای اندازهٔ فضای نسل جدید.

NGCMN: حداقل ظرفیت نسل جدید (KB).

NGCMX: حداکثر ظرفیت نسل جدید (KB).

NGC: ظرفیت فعلی نسل جدید (KB).

S0CMX: حداکثر ظرفیت فضای بازماندهٔ ۰ (KB).

S0C: ظرفیت فعلی فضای بازماندهٔ ۰ (KB).

S1CMX: حداکثر ظرفیت فضای بازماندهٔ ۱ (KB).

S1C: ظرفیت فعلی فضای بازماندهٔ ۱ (KB).

ECMX: حداکثر ظرفیت فضای eden (بر حسب KB).

EC: ظرفیت فعلی فضای eden (بر حسب KB)..PP YGC: تعداد رویدادهای GC نسل جوان.

FGC: تعداد رویدادهای Full GC.

آمارهای اندازهٔ نسل قدیم.

MC: اندازهٔ تخصیص‌یافتهٔ Metaspace (کیلوبایت).

MU: میزان استفاده از Metaspace (کیلوبایت).

CCSC: اندازهٔ تخصیص‌یافتهٔ کلاس فشرده (کیلوبایت).

CCSU: فضای استفاده‌شدهٔ کلاس فشرده (کیلوبایت).

OC: ظرفیت فعلی فضای قدیم (کیلوبایت).

OU: میزان استفاده از فضای قدیم (کیلوبایت).

YGC: تعداد رویدادهای GC نسل جوان.

FGC: تعداد رویدادهای Full GC.

FGCT: زمان جمع‌آوری زباله کامل (Full GC).

GCT: کل زمان جمع‌آوری زباله.

آمارهای نسل قدیم.

OGCMN: حداقل ظرفیت نسل قدیم (کیلوبایت).

OGCMX: حداکثر ظرفیت نسل قدیم (کیلوبایت).

OGC: ظرفیت فعلی نسل قدیم (کیلوبایت).

OC: ظرفیت فعلی فضای قدیم (کیلوبایت).

YGC: تعداد رویدادهای GC نسل جوان.

FGC: تعداد رویدادهای Full GC.

FGCT: زمان جمع‌آوری زباله کامل (Full GC).

GCT: کل زمان جمع‌آوری زباله.

آمارهای اندازهٔ Metaspace.

MCMN: حداقل ظرفیت Metaspace (کیلوبایت).

MCMX: حداکثر ظرفیت Metaspace (کیلوبایت).

MC: اندازهٔ تخصیص‌یافتهٔ Metaspace (کیلوبایت).

CCSMN: حداقل ظرفیت فضای کلاس فشرده (کیلوبایت).

CCSMX: حداکثر ظرفیت فضای کلاس فشرده (کیلوبایت).

YGC: تعداد رویدادهای GC نسل جوان.

FGC: تعداد رویدادهای Full GC.

FGCT: زمان جمع‌آوری زباله کامل (Full GC).

GCT: کل زمان جمع‌آوری زباله.

خلاصهٔ آمارهای جمع‌آوری زباله.

S0: میزان استفاده از فضای نجات‌یافته ۰ (Survivor space 0) به صورت درصدی از ظرفیت فعلی فضا.

S1: میزان استفاده از فضای نجات‌یافته ۱ (Survivor space 1) به صورت درصدی از ظرفیت فعلی فضا.

E: میزان استفاده از فضای Eden به صورت درصدی از ظرفیت فعلی فضا.

O: میزان استفاده از فضای قدیم (Old space) به صورت درصدی از ظرفیت فعلی فضا.

M: میزان استفاده از Metaspace به صورت درصدی از ظرفیت فعلی فضا.

CCS: میزان استفاده از فضای کلاس فشرده به صورت درصد.

YGC: تعداد رویدادهای GC نسل جوان.

YGCT: زمان جمع‌آوری زباله نسل جوان.

FGC: تعداد رویدادهای Full GC.

FGCT: زمان جمع‌آوری زباله کامل (Full GC).

GCT: کل زمان جمع‌آوری زباله.

آمارهای متدهای کامپایلر Java HotSpot VM.

Compiled: تعداد وظایف کامپایل انجام‌شده توسط جدیدترین متد کامپایل‌شده.

Size: تعداد بایت‌های بایت‌کدِ جدیدترین متد کامپایل‌شده.

Type: نوع کامپایل جدیدترین متد کامپایل‌شده.

Method: نام کلاس و نام متدی که جدیدترین متد کامپایل‌شده را مشخص می‌کنند. نام کلاس به جای نقطه (.) از یک اسلش (/) به عنوان جداکنندهٔ فضای نام استفاده می‌کند. نام متد، متدِ درون کلاس مشخص‌شده است. قالب این دو فیلد با گزینهٔ -XX:+PrintCompilation در HotSpot سازگار است.

ساختار نوشتاری رشتهٔ vmid متناظر با نحو یک URI است:

[protocol:][//]lvmid[@hostname[:port][/servername]

ساختار رشتهٔ vmid با ساختار یک URI همخوانی دارد. رشتهٔ vmid می‌تواند از یک عدد صحیح ساده که نشان‌دهندهٔ یک JVM محلی است تا ساختاری پیچیده‌تر که پروتکل ارتباطی، شماره پورت و سایر مقادیر وابسته به پیاده‌سازی را مشخص می‌کند، متغیر باشد.

پروتکل ارتباطی. اگر مقدار protocol حذف شود و نام میزبانی مشخص نشده باشد، پروتکل پیش‌فرض یک پروتکل محلی بهینه‌شده و وابسته به پلتفرم خواهد بود. اگر مقدار protocol حذف شود اما نام میزبان مشخص شده باشد، پروتکل پیش‌فرض rmi است.
شناسهٔ محلی ماشین مجازی برای JVM هدف. مقدار lvmid یک مقدار وابسته به پلتفرم است که به‌طور یکتا یک JVM را روی سیستم مشخص می‌کند. lvmid تنها مؤلفهٔ الزامی در شناسهٔ ماشین مجازی است. به‌طور معمول، اما نه لزوماً، lvmid همان شناسه فرایند (PID) سیستم‌عامل برای فرایند JVM هدف است. در صورتی که فرایندهای JVM در یک نمونهٔ مجزای docker اجرا نشده باشند، می‌توانید از دستور jps برای تعیین lvmid استفاده کنید. همچنین می‌توانید lvmid را در پلتفرم‌های Linux و OS X با دستور ps، و در Windows از طریق Task Manager ویندوز به دست آورید.
نام میزبان یا نشانی IP که میزبان هدف را مشخص می‌کند. اگر مقدار hostname حذف شود، میزبان هدف همان میزبان محلی خواهد بود.
پورت پیش‌فرض برای برقراری ارتباط با سرور دوردست. اگر مقدار hostname حذف شود یا مقدار protocol یک پروتکل محلی بهینه‌شده را تعیین کند، مقدار port نادیده گرفته می‌شود. در غیر این صورت، نحوهٔ رفتار با پارامتر port وابسته به پیاده‌سازی است. برای پروتکل پیش‌فرض rmi، مقدار پورت نشان‌دهندهٔ شماره پورت برای rmiregistry روی میزبان دوردست است. اگر مقدار port حذف شود و مقدار protocol نمایانگر rmi باشد، از پورت پیش‌فرض rmiregistry یعنی (1099) استفاده می‌شود.
نحوهٔ رفتار با پارامتر servername به پیاده‌سازی بستگی دارد. برای پروتکل محلی بهینه‌شده، این فیلد نادیده گرفته می‌شود. برای پروتکل rmi، این فیلد نشان‌دهندهٔ نام شیء دوردست RMI روی میزبان دوردست است.

این بخش چند مثال از پایش یک JVM محلی با lvmid برابر با 21891 را ارائه می‌دهد.

این مثال به lvmid با شمارهٔ 21891 متصل شده و ۷ نمونه در فواصل زمانی ۲۵۰ میلی‌ثانیه‌ای می‌گیرد و خروجی را همان‌طور که توسط گزینهٔ -gcutil تعیین شده نمایش می‌دهد.

خروجی این مثال نشان می‌دهد که یک جمع‌آوری حافظه در نسل جوان (young generation collection) بین نمونه‌های سوم و چهارم رخ داده است. این جمع‌آوری 0.078 ثانیه به طول انجامید و اشیاء را از فضای eden (با E) به فضای old (با O) ارتقا داد، که منجر به افزایش بهره‌برداری از فضای old از 66.80% به 68.19% شد. پیش از این جمع‌آوری، فضای survivor به میزان 97.02% مورد استفاده بود، اما پس از این جمع‌آوری بهره‌برداری از آن به 91.03% رسید.


jstat -gcutil 21891 250 7
  S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT
  0.00  97.02  70.31  66.80  95.52  89.14      7    0.300     0    0.000    0.300
  0.00  97.02  86.23  66.80  95.52  89.14      7    0.300     0    0.000    0.300
  0.00  97.02  96.53  66.80  95.52  89.14      7    0.300     0    0.000    0.300
 91.03   0.00   1.98  68.19  95.89  91.24      8    0.378     0    0.000    0.378
 91.03   0.00  15.82  68.19  95.89  91.24      8    0.378     0    0.000    0.378
 91.03   0.00  17.80  68.19  95.89  91.24      8    0.378     0    0.000    0.378
 91.03   0.00  17.80  68.19  95.89  91.24      8    0.378     0    0.000    0.378
این مثال به lvmid 21891 متصل شده و در بازه‌های زمانی ۲۵۰ میلی‌ثانیه‌ای نمونه‌برداری می‌کند و خروجی را همان‌گونه که توسط گزینه
-gcnew مشخص شده، نمایش می‌دهد.
علاوه بر این، از گزینه -h3 برای نمایش سرستون پس از هر ۳ سطر داده استفاده می‌کند.
این مثال، علاوه بر نمایش رشته سرستون تکرارشونده، نشان می‌دهد که بین نمونه‌های دوم و سوم، یک GC نسل جوان (young GC) رخ داده است.
مدت زمان آن 0.001 ثانیه بود.
این گردآوری به اندازه کافی داده فعال پیدا کرد که در نتیجه آن، میزان مصرف فضای بازمانده ۰ (S0U) از اندازه بازمانده مطلوب (DSS) فراتر می‌رفت.
در نتیجه، اشیاء به نسل قدیمی (old generation) ارتقا یافتند (که در این خروجی قابل مشاهده نیست) و آستانه ماندگاری (TT) از ۳۱ به ۲ کاهش یافت.
گردآوری دیگری بین نمونه‌های پنجم و ششم رخ می‌دهد.
این گردآوری، بازماندگان بسیار اندکی یافت و آستانه ماندگاری را به ۳۱ بازگرداند.

jstat -gcnew -h3 21891 250
 S0C    S1C    S0U    S1U   TT MTT  DSS      EC       EU     YGC     YGCT
  64.0   64.0    0.0   31.7 31  31   32.0    512.0    178.6    249    0.203
  64.0   64.0    0.0   31.7 31  31   32.0    512.0    355.5    249    0.203
  64.0   64.0   35.4    0.0  2  31   32.0    512.0     21.9    250    0.204
 S0C    S1C    S0U    S1U   TT MTT  DSS      EC       EU     YGC     YGCT
  64.0   64.0   35.4    0.0  2  31   32.0    512.0    245.9    250    0.204
  64.0   64.0   35.4    0.0  2  31   32.0    512.0    421.1    250    0.204
  64.0   64.0    0.0   19.0 31  31   32.0    512.0     84.4    251    0.204
 S0C    S1C    S0U    S1U   TT MTT  DSS      EC       EU     YGC     YGCT
  64.0   64.0    0.0   19.0 31  31   32.0    512.0    306.7    251    0.204

این مثال به lvmid 21891 متصل شده و ۳ نمونه در بازه‌های زمانی ۲۵۰ میلی‌ثانیه‌ای می‌گیرد. گزینه -t برای ایجاد یک برچسب زمانی برای هر نمونه در ستون اول استفاده شده است.

ستون Timestamp زمان سپری‌شده بر حسب ثانیه را از زمان شروع JVM هدف گزارش می‌کند. علاوه بر این، خروجی -gcoldcapacity نشان می‌دهد که ظرفیت نسل قدیمی (OGC) و ظرفیت فضای قدیمی (OC) هم‌زمان با گسترش heap برای برآورده کردن نیازهای تخصیص یا ارتقا، افزایش می‌یابند. ظرفیت نسل قدیمی (OGC) پس از هشتاد و یکمین گردآوری زباله کامل (FGC)، از ۱۱٬۶۹۶ کیلوبایت به ۱۳٬۸۲۰ کیلوبایت افزایش یافته است. حداکثر ظرفیت این نسل (و فضا) ۶۰٬۵۴۴ کیلوبایت (OGCMX) است، بنابراین هنوز فضای کافی برای گسترش دارد.


Timestamp      OGCMN    OGCMX     OGC       OC       YGC   FGC    FGCT    GCT
          150.1   1408.0  60544.0  11696.0  11696.0   194    80    2.874   3.799
          150.4   1408.0  60544.0  13820.0  13820.0   194    81    2.938   3.863
          150.7   1408.0  60544.0  13820.0  13820.0   194    81    2.938   3.863

این مثال به lvmid 40496 در سیستمی به نام remote.domain با استفاده از گزینه -gcutil متصل می‌شود، و نمونه‌ها هر یک ثانیه یک‌بار به‌طور نامحدود گرفته می‌شوند.

مقدار lvmid با نام میزبان راه دور ترکیب می‌شود تا یک vmid به صورت 40496@remote.domain بسازد. این vmid موجب استفاده از پروتکل rmi برای برقراری ارتباط با سرور پیش‌فرض jstatd در میزبان راه دور می‌شود. سرور jstatd با استفاده از دستور rmiregistry در remote.domain تعیین مکان می‌شود که به درگاه پیش‌فرض دستور rmiregistry (درگاه 1099) مقید شده است.


jstat -gcutil 40496@remote.domain 1000
... output omitted
2021 JDK 17