SYSTEMD-CGTOP(1) systemd-cgtop SYSTEMD-CGTOP(1)

systemd-cgtop - نمایش زنده و لحظه‌ای مصرف منابع توسط گروه‌های کنترلی (cgroups)

systemd-cgtop [OPTIONS...] [GROUP]

دستور systemd-cgtop برترین گروه‌های کنترلی سلسله‌مراتب محلی گروه‌های کنترلی لینوکس (cgroups) را بر اساس بار پردازنده (CPU)، حافظه، یا ورودی/خروجی دیسک (Disk I/O) مرتب کرده و نمایش می‌دهد. صفحه نمایش در بازه‌های زمانی منظم (به‌طور پیش‌فرض هر ۱ ثانیه یک‌بار) به‌سبکی شبیه به دستور top(1) تازه‌سازی می‌شود. در صورت مشخص شدن مسیر یک گروه کنترلی، تنها سرویس‌های همان گروه کنترلی مشخص‌شده نمایش داده می‌شوند.

اگر systemd-cgtop به یک tty متصل نباشد، هیچ عنوان ستونی چاپ نمی‌شود و پیش‌فرض برنامه این است که تنها یک دور (iteration) اجرا شود. در صورت تعیین آرگومان --iterations= مقدار آن رعایت خواهد شد. این حالت برای استفاده در اسکریپت‌ها مناسب است.

محاسبه مصرف منابع تنها برای گروه‌های کنترلی دارای کنترل‌کننده‌های فعال مربوطه انجام می‌شود: کنترل‌کننده "memory" برای مصرف حافظه و کنترل‌کننده "io" برای مصرف ورودی/خروجی دیسک. در صورتی که پایش این منابع مورد نیاز باشد، توصیه می‌شود تنظیمات MemoryAccounting=1 و IOAccounting=1 در فایل‌های واحد مربوطه اضافه شوند. برای جزئیات بیشتر به systemd.resource-control(5) مراجعه کنید.

مقدار بار پردازنده (CPU) می‌تواند بین ۰ تا ۱۰۰ برابر تعداد پردازنده‌های سیستم باشد. برای مثال، اگر سیستم دارای ۸ پردازنده باشد، مقدار بار پردازنده بین ۰٪ تا ۸۰۰٪ خواهد بود. تعداد پردازنده‌ها را می‌توان در فایل "/proc/cpuinfo" یافت.

جهت تاکید: مگر این‌که "MemoryAccounting=1" و "IOAccounting=1" برای سرویس‌های مورد نظر فعال شده باشند، هیچ داده‌ای برای محاسبه منابع سرویس‌های سیستمی در دسترس نخواهد بود و اطلاعات نمایش داده شده توسط systemd-cgtop ناقص خواهد بود.

گزینه‌های زیر پشتیبانی می‌شوند:

-p, --order=path

مرتب‌سازی بر اساس نام مسیر گروه کنترلی.

-t, --order=tasks

مرتب‌سازی بر اساس تعداد وظایف/فرآیندها (tasks/processes) در گروه کنترلی.

-c, --order=cpu

مرتب‌سازی بر اساس بار پردازنده (CPU).

-m, --order=memory

مرتب‌سازی بر اساس میزان مصرف حافظه.

-i, --order=io

مرتب‌سازی بر اساس بار ورودی/خروجی (I/O) دیسک.

-b, --batch

اجرا در حالت دسته‌ای (batch): ورودی از کاربر نمی‌پذیرد و تا زمانی که محدودیت دفعات تکرار تنظیم‌شده با --iterations= به پایان برسد یا فرآیند متوقف شود اجرا می‌شود. این حالت برای ارسال خروجی از systemd-cgtop به برنامه‌های دیگر یا به یک فایل مفید است.

اضافه‌شده در نسخه 188.

-r, --raw

قالب‌بندی شمارش بایت‌ها (مانند مصرف حافظه و معیارهای ورودی/خروجی) و زمان پردازنده با مقادیر عددی خام به‌جای مقادیر خوانا برای انسان (human-readable).

اضافه‌شده در نسخه 221.

--cpu=percentage, --cpu=time

کنترل می‌کند که آیا مصرف پردازنده به‌صورت درصد نمایش داده شود یا زمان. به‌طور پیش‌فرض، مصرف پردازنده به‌صورت درصد نشان داده می‌شود. این تنظیم می‌تواند در زمان اجرا با فشردن کلید % نیز تغییر یابد.

اضافه‌شده در نسخه 226.

-P

تنها فرآیندهای فضای کاربری را به‌جای همه وظایف شمارش می‌کند. به‌طور پیش‌فرض، تمام وظایف شمرده می‌شوند: هر ریسه هسته (kernel thread) و هر ریسه فضای کاربری به‌صورت مجزا. با این تنظیم، ریسه‌های هسته از شمارش حذف می‌شوند و هر فرآیند فضای کاربری فارغ از تعداد ریسه‌هایی که دارد، تنها به‌عنوان یک وظیفه شمرده می‌شود. این تنظیم می‌تواند در زمان اجرا با فشردن کلید P نیز تغییر یابد. این گزینه را نمی‌توان با -k ترکیب کرد.

اضافه‌شده در نسخه 227.

-k

تنها فرآیندهای فضای کاربری و ریسه‌های هسته را به‌جای همه وظایف شمارش می‌کند. به‌طور پیش‌فرض، تمام وظایف شمرده می‌شوند: هر ریسه هسته و هر ریسه فضای کاربری به‌صورت مجزا. با این تنظیم، ریسه‌های هسته در شمارش گنجانده می‌شوند و هر فرآیند فضای کاربری فارغ از تعداد ریسه‌هایش، تنها به‌عنوان یک وظیفه شمرده می‌شود. این تنظیم می‌تواند در زمان اجرا با فشردن کلید k نیز تغییر یابد. این گزینه را نمی‌توان با -P ترکیب کرد.

اضافه‌شده در نسخه 226.

--recursive=

مشخص می‌کند که آیا تعداد فرآیندهای نمایش‌داده‌شده برای یک گروه کنترلی باید شامل تمام فرآیندهای موجود در گروه‌های کنترلی فرزند آن نیز باشد یا خیر. یک آرگومان بولی می‌پذیرد که مقدار پیش‌فرض آن "yes" است. در صورت فعال بودن، فرآیندهای گروه‌های کنترلی فرزند نیز لحاظ می‌شوند و در صورت غیرفعال بودن، تنها فرآیندهای موجود در خود گروه کنترلی شمرده می‌شوند. این تنظیم می‌تواند در زمان اجرا با فشردن کلید r نیز تغییر یابد. توجه داشته باشید که این تنظیم تنها برای شمارش فرآیندها اعمال می‌شود، یعنی زمانی که گزینه‌های -P یا -k استفاده شوند. در صورتی که همه وظایف شمرده شوند، تاثیری ندارد؛ زیرا در آن حالت شمارش همیشه به‌صورت بازگشتی (recursive) است.

اضافه‌شده در نسخه 226.

-n, --iterations=

تنها به همین تعداد دور (iterations) تکرار انجام می‌دهد. مقدار 0 مشخص می‌کند که برنامه باید به‌طور نامحدود اجرا شود.

اضافه‌شده در نسخه 188.

-1

میان‌بری برای --iterations=1.

اضافه‌شده در نسخه 238.

-d, --delay=

تعیین تاخیر تازه‌سازی بر حسب ثانیه (یا در صورتی که یکی از واحدهای "ms"، "us"، "min" به‌عنوان واحد مشخص شود، بر حسب آن واحد زمانی). این تنظیم را می‌توان در زمان اجرا با فشردن کلیدهای + و - نیز افزایش یا کاهش داد.

--depth=

حداکثر عمق پیمایش درخت گروه کنترلی. مشخص می‌کند که systemd-cgtop تا چه عمقی از سلسله‌مراتب گروه‌های کنترلی را پیمایش کند. اگر 0 تعیین شود، تنها گروه ریشه پایش می‌شود. برای 1، تنها سطح اول گروه‌های کنترلی پایش می‌شوند و به همین ترتیب. پیش‌فرض 3 است.

-M MACHINE, --machine=MACHINE

محدود کردن گروه‌های کنترلی نمایش‌داده‌شده به بخشی که متناظر با کانتینر MACHINE است. این گزینه را نمی‌توان زمانی که مسیر گروه کنترلی مشخص شده است استفاده کرد.

اضافه‌شده در نسخه 227.

-h, --help

نمایش یک متن راهنمای کوتاه و خروج.

--version

نمایش رشته نسخه کوتاه و خروج.

دستور systemd-cgtop یک ابزار تعاملی است و می‌توان آن را از طریق ورودی‌های کاربر با استفاده از کلیدهای زیر کنترل کرد:

h

نمایش یک متن راهنمای کوتاه.

Space

تازه‌سازی فوری خروجی.

اضافه‌شده در نسخه 226.

q

پایان دادن به اجرای برنامه.

p, t, c, m, i

مرتب‌سازی گروه‌های کنترلی به‌ترتیب بر اساس مسیر، تعداد وظایف، بار پردازنده، مصرف حافظه یا بار ورودی/خروجی دیسک. این تنظیم را می‌توان با سوییچ خط فرمان --order= نیز کنترل کرد.

%

تغییر وضعیت بین نمایش مصرف پردازنده به‌صورت زمان یا درصد. این تنظیم را می‌توان با سوییچ خط فرمان --cpu= نیز کنترل کرد.

اضافه‌شده در نسخه 201.

+, -

به‌ترتیب افزایش یا کاهش تاخیر تازه‌سازی. این تنظیم را می‌توان با سوییچ خط فرمان --delay= نیز کنترل کرد.

P

تغییر وضعیت بین شمارش تمام وظایف یا فقط فرآیندهای فضای کاربری. این تنظیم را می‌توان با سوییچ خط فرمان -P (به بالا مراجعه کنید) نیز کنترل کرد.

اضافه‌شده در نسخه 227.

k

تغییر وضعیت بین شمارش تمام وظایف یا فقط فرآیندهای فضای کاربری و ریسه‌های هسته. این تنظیم را می‌توان با سوییچ خط فرمان -k (به بالا مراجعه کنید) نیز کنترل کرد.

اضافه‌شده در نسخه 226.

r

تغییر وضعیت بین گنجاندن یا حذف بازگشتی فرآیندهای موجود در گروه‌های کنترلی فرزند در شمارش فرآیندهای گروه کنترلی. این تنظیم را می‌توان با سوییچ خط فرمان --recursive= نیز کنترل کرد. این کلید در صورتی که تمام وظایف شمرده شوند در دسترس نیست؛ تنها در صورتی فعال است که فرآیندها شمارش شوند، یعنی حالتی که با کلیدهای P یا k فعال شده باشد.

اضافه‌شده در نسخه 226.

در صورت موفقیت 0 و در غیر این صورت یک کد شکست غیرصفر بازگردانده می‌شود.

systemd(1), systemctl(1), systemd-cgls(1), systemd.resource-control(5), top(1)

systemd 261.2