| PCP-ATOP(1) | General Commands Manual | PCP-ATOP(1) |
نام (NAME)
pcp-atop - پایشگر پیشرفته کارایی و پردازشهای سیستم در چارچوب PCP
خلاصه دستور (SYNOPSIS)
استفاده تعاملی:
pcp [pcp options] atop [-aABcCdDfFgGHmMnNopRsuvxyY1] [-L linelen] [-Plabel[,label]... [-Z]] [interval [samples]]
نوشتن و خواندن آرشیوهای PCP:
pcp [pcp options] atop -w
directory [-a] [-S] [interval [samples]]
pcp [pcp options] atop -r archive
[-AcCdDfFgGmMnNopRsuvxy1] [-b [yy-mm-dd] hh:mm]
[-e yy-mm-dd] hh:mm] [-L linelen]
[-Plabel[,label]... [-Z]] [interval
[samples]]
توضیحات (DESCRIPTION)
برنامه pcp-atop یک پایشگر تعاملی برای مشاهده جنبههای مختلف بار روی یک سیستم است. هر interval ثانیه (پیشفرض: ۱۰ ثانیه) اطلاعاتی درباره اشغال منابع در سطح سیستم برای حیاتیترین منابع سختافزاری (از دیدگاه کارایی)، یعنی CPUها، حافظه، دیسکها و رابطهای شبکه جمعآوری میشود. علاوه بر این، اطلاعاتی درباره پردازشها (یا ریسهها) که مسئول استفاده از CPUها، حافظه و دیسکها هستند گردآوری میشود. بار شبکه به ازای هر پردازش تنها زمانی نمایش داده میشود که معیارهای اختیاری pmdabpf(1) نصب و پیکربندی شده باشند.
حالت نمودار میلهای (BAR GRAPH MODE)
هنگام
اجرای pcp-atop
میتوانید
بار سیستم
را در حالت
نمودار
میلهای یا
حالت متنی
مشاهده
کنید. در
حالت
نمودار
میلهای،
استفاده از
منابع CPUها،
حافظه،
دیسکها و
رابطهای
شبکه از
طریق
نمودارهای
میلهای
(مبتنی بر
کاراکتر)
نمایش داده
میشود،
اما فقط در
سطح سیستم.
هنگامی که
میخواهید
اطلاعات
دقیقتری
در سطح
سیستم
مشاهده
کنید یا
مصرف منابع
را در سطح
پردازش یا
ریسه بررسی
نمایید،
میتوانید
با فشردن
کلید 'B' به
حالت متنی
بروید.
همچنین
میتوانید
مجدداً از
کلید 'B' برای
بازگشت از
حالت متنی
به حالت
نمودار
میلهای
استفاده
کنید.
بهطور
پیشفرض،
pcp-atop در حالت
متنی شروع
به کار
میکند،
مگر اینکه
فلگ -B
استفاده
شود یا 'B' به
عنوان فلگ
پیشفرض در
فایل .atoprc
پیکربندی
شده باشد
(برای
اطلاعات
بیشتر
درباره
فلگهای
پیشفرض به
صفحه
راهنمای
pcp-atoprc(5) مراجعه
کنید).
در حالت نمودار میلهای، ترمینال به چهار پنجره کاراکتری تقسیم میشود، یعنی یک پنجره برای هر منبع سختزاری:
- پردازندهها (Processors)
- اولین
میله،
میانگین
درصد مشغول
بودن تمام
CPUها را با
برچسب 'Avg'
نشان
میدهد
(ممکن است
به 'Av' یا حتی 'A'
خلاصه شود).
میلههای
بعدی درصد
مشغول بودن
تکتک CPUها
را نشان
میدهند.
هنگامی که فضای افقی کافی برای نمایش تمام CPUها وجود نداشته باشد، تنها مشغولترین CPUها در هر نمونهبرداری پس از کاهش عرض هر میله به حداقل، نمایش داده خواهند شد.بهطور پیشفرض، دستههای مختلف مصرف CPU با رنگهای متفاوت در میلهها مشخص میشوند که با نویسههای 'S' (حالت سیستم)، 'U' (حالت کاربر)، 'I' (رسیدگی به وقفه)، 's' (سرقت یا steal) و 'G' (مهمان، یعنی مصرفشده توسط ماشینهای مجازی) نشانهگذاری شدهاند.
بخش بالایی میله ممکن است شامل رنگ بدون نشانهای باشد که دستهای «خنثی» را نشان میدهد. فرض کنید واحد مقیاس ۵٪ به ازای هر خط باشد و کل درصد مشغول بودن ۵۴٪ شامل دو دسته ۲۷ درصدی باشد. این دو دسته به ۲۵٪ (۵ خط ۵ درصدی) گرد میشوند اما درصد کل مشغول بودن به ۵۵٪ (۱۱ خط ۵ درصدی) گرد میشود. سپس خط بالایی یک دسته «خنثی» را نمایش خواهد داد.
با فشردن کلید 'H' یا اجرای pcp-atop با فلگ -H هیچ دستهبندی نمایش داده نمیشود.یک خط قرمز به عنوان آستانه بحرانی در نمودار میلهای کشیده میشود. این مقدار بهطور پیشفرض ۹۰٪ است و با گزینه 'cpucritperc' در فایل پیکربندی قابل تغییر است (به صفحه راهنمای مجزای pcp-atoprc(5) مراجعه کنید). هنگامی که این مقدار روی صفر تنظیم شود، هیچ خط آستانهای کشیده نخواهد شد.
- حافظه و فضای مبادله (Memory and swap space)
- حافظه به
عنوان
ستونی
ارائه
میشود که
در آن
دستههای
خاص مصرف
حافظه
نمایش داده
میشوند.
این
دستهها
عبارتند از
(کد، داده و
پشته)
پردازشها/کرنل،
حافظههای
نهان اسلب
(یعنی حافظه
پویای
تخصیصیافته
به کرنل)،
حافظه
اشتراکی،
tmpfs، صفحات
بزرگ ایستا
(static huge pages)، حافظه
نهان صفحه (page
cache) و حافظه
آزاد.
فضای مبادله یا Swap (در صورت وجود) نیز به عنوان ستونی ارائه میشود که در آن دستههای پردازشها/tmpfs، حافظه اشتراکی و فضای آزاد نمایش داده میشوند.در سمت راست، شمارندههای رویداد مربوط به حافظه نمایش داده میشوند.
سه شمارنده پایینی در صورت عدم وجود فشار حافظه به رنگ سبز هستند. هنگامی که فعالیت قابل توجهی مشاهده شود، چنین شمارندهای ممکن است به رنگ نارنجی و با فعالیت بالا به رنگ قرمز درآید.
هنگام آغاز فشار بر حافظه، معمولاً ابتدا پویش صفحات حافظه فعال میشود. با افزایش فشار، ممکن است صفحات حافظه پردازشها به فضای مبادله (در صورت وجود) فرستاده شوند (swap out).
شمارنده 'oomkills' (کشتن به دلیل کمبود حافظه یا Out Of Memory) جدیترین مورد است: این شمارنده تعداد پردازشهایی را که به دلیل کمبود حافظه (و فضای مبادله) کشته شدهاند بازتاب میدهد. بنابراین این شمارنده تعداد مطلق (نه در ثانیه) پردازشهای کشتهشده در طول آخرین بازه را نشان میدهد و با ۱ یا بیشتر بودن، بلافاصله قرمز خواهد شد. علاوه بر این، پس از آنکه pcp-atop رویداد OOM killing را متوجه شود، شمارنده 'oomkills' برای ۱۵ دقیقه آینده نارنجی میماند، صرفاً در صورتی که خود رویداد OOM killing را از دست داده باشید.
هنگامی که فضای عمودی کافی در پنجره حافظه وجود داشته باشد، شمارندههای رویدادی درباره تعداد صفحات حافظه مبادلهشده به داخل (swapped in)، تعداد صفحات حافظه صفحهبندیشده به دستگاههای بلوکی و تعداد صفحات حافظه صفحهبندیشده به داخل از دستگاههای بلوکی نمایش داده میشوند.مصرف حافظه و فضای مبادله ترجیحاً در یک پنجره کاراکتری نمایش داده میشود که بهطور عمودی از تمام صفحه برای دقت بهینه استفاده میکند. با این حال، هنگامی که تعداد زیادی دیسک و/یا رابط شبکه وجود داشته باشد، مصرف حافظه و فضای مبادله در پنجرهای کاراکتری که تنها از نیمه بالایی صفحه استفاده میکند نشان داده خواهد شد.
- دیسکها (Disks)
- برای هر
دیسک، درصد
مشغول بودن
به عنوان یک
میله نمایش
داده
میشود.
هنگامی که فضای افقی کافی برای نمایش تمام دیسکها وجود نداشته باشد، تنها مشغولترین دیسکها در هر نمونهبرداری نمایش داده خواهند شد.بهطور پیشفرض، دستههای مصرف دیسک با رنگهای مختلف در میلهها مشخص میشوند که با نویسههای 'R' (خواندن) و 'W' (نوشتن) علامتگذاری شدهاند.
بخش بالایی میله ممکن است شامل رنگ بدون نشانهای باشد که دستهای «خنثی» را نشان میدهد. فرض کنید واحد مقیاس ۵٪ به ازای هر خط باشد و کل درصد مشغول بودن ۵۴٪ شامل دو دسته ۲۷ درصدی باشد. این دو دسته به ۲۵٪ (۵ خط ۵ درصدی) گرد میشوند اما درصد کل مشغول بودن به ۵۵٪ (۱۱ خط ۵ درصدی) گرد میشود. سپس خط بالایی یک دسته «خنثی» را نشان خواهد داد.
با فشردن کلید 'H' یا اجرای pcp-atop با فلگ -H هیچ دستهبندی نمایش داده نمیشود.یک خط قرمز به عنوان آستانه بحرانی در نمودار میلهای کشیده میشود. این مقدار بهطور پیشفرض ۹۰٪ است و با گزینه 'dskcritperc' در فایل پیکربندی قابل تغییر است (به صفحه راهنمای مجزای atoprc مراجعه کنید). هنگامی که این مقدار روی صفر تنظیم شود، هیچ خط آستانهای کشیده نخواهد شد.
- رابطها (Interfaces)
- برای هر
رابط شبکه
غیرمجازی،
یک نمودار
میلهای
دوگانه با
مقیاس
اختصاصی
نمایش داده
میشود که
نرخ ترافیک
را نشان
میدهد. یکی
از میلهها
نرخ ارسال ('TX')
و میله دیگر
نرخ دریافت
('RX') را نشان
میدهد.
مقیاس
ترافیک هر
رابط شبکه
در
بالاترین
سطح خود
باقی
میماند.
تمام
مقیاسهای
رابطها را
میتوان در
حین
اندازهگیری
با فشردن
کلید 'L'
بازنشانی
کرد.
بیشتر اوقات سرعت واقعی (حداکثر پهنای باند) رابطهای شبکه مشخص نیست، برای مثال در مورد رابطهای شبکه ماشینهای مجازی. بنابراین امکان نمایش میزان استفاده از رابط به صورت درصد وجود ندارد. با این حال، هرگاه سرعت واقعی یک رابط مشخص باشد، در زیر نمودار میلهای مربوطه نمایش داده خواهد شد.
هنگامی که فضای افقی کافی برای نمایش تمام رابطهای شبکه وجود نداشته باشد، تنها مشغولترین رابطها در هر نمونهبرداری نمایش داده خواهند شد.
معمولاً هنگامی که فضای افقی کافی وجود داشته باشد، نمودارهای میلهای بر اساس درصد مشغول بودن مرتب نمیشوند. با این حال، پس از تغییر حالت از متنی به نمودار میلهای، ممکن است نمودارهای میلهای مرتب شده باشند زیرا این کار برای ارائه در حالت متنی لازم بوده است. بازه زمانی بعدی در حالت نمودار میلهای، میلهها را مجدداً نامرتب نشان میدهد مگر اینکه عرض پنجره برای همه میلهها ناکافی باشد.
بخش باقیمانده این صفحه راهنما عمدتاً اطلاعات نمایشدادهشده در حالت متنی را توصیف میکند. هرگاه توضیحات خاصی برای حالت نمودار میلهای نیز کاربرد داشته باشد، صراحتاً ذکر خواهد شد.
حالت متنی به طور کلی (TEXT MODE IN GENERAL)
صفحه نخست در حالت متنی نشان میدهد که آیا pcp-atop با نمای محدود (کاربر بدون امتیاز) یا نمای نامحدود (کاربر دارای امتیاز) اجرا میشود. در صورت اجرای با نمای محدود، pcp-atop از امتیازات لازم (هویت root یا قابلیتهای مورد نیاز) برای دریافت مقادیر تمام شمارندهها در سطح سیستم و سطح پردازش برخوردار نیست.
در هر بازه
زمانی،
اطلاعاتی
درباره
اشغال
منابع در
سطح سیستم
(لایههای
CPU، حافظه،
دیسکها و
شبکه) نمایش
داده
میشود و به
دنبال آن
فهرستی از
پردازشهایی
که در طول
آخرین بازه
فعال
بودهاند
آورده
میشود.
توجه داشته
باشید
پردازشهایی
که در طول
بازه گذشته
بدون تغییر
ماندهاند
نمایش داده
نمیشوند،
مگر آنکه
کلید 'a'
فشرده شده
باشد یا
مرتبسازی
بر اساس
اشغال
حافظه
انجام شود
(که در این
صورت
پردازشهای
غیرفعال
نیز اهمیت
دارند). اگر
فهرست
پردازشهای
فعال
بهطور
کامل در
صفحه
نگنجد،
تنها بخش
بالایی
فهرست
(مرتبشده
بر اساس
میزان
فعالیت)
نمایش داده
میشود.
بازهها تا
زمانی
تکرار
میشوند که
تعداد samples
(مشخصشده
به عنوان
آرگومان
دستور) حاصل
شود، یا تا
زمانی که
کلید 'q' در
حالت
تعاملی
فشرده شود.
هنگامی که
از طریق
دستور pcp(1)
فراخوانی
شود،
گزینههای
PCPIntro(1) شامل
-A/--align، -a/--archive،
-h/--host، -O/--origin،
-S/--start، -s/--samples،
-T/--finish، -t/--interval،
-v/--version، -z/--hostzone و
-z/--timezone بهطور
غیرمستقیم
در دسترس
قرار
میگیرند.
علاوه بر
این، گزینه
--hotproc
میتواند
برای
درخواست
استفاده از
معیارهای PCP
به ازای هر
پردازش به
جای
معیارهای
پیشفرض proc
از pmdaproc(1)
استفاده
شود.
هنگامی که pcp-atop شروع میشود، بررسی میکند که آیا کانال خروجی استاندارد به یک نمایشگر متصل است یا به یک فایل/پایپ. در حالت اول، کدهای کنترلی صفحه را تولید میکند (از طریق کتابخانه ncurses) و رفتار تعاملی دارد؛ در حالت دوم، خروجی متنی ساده تولید میکند.
در حالت
تعاملی،
خروجی pcp-atop
بهصورت
پویا با
ابعاد جاری
صفحه/پنجره
مقیاسبندی
میشود.
اگر اندازه
پنجره
بهصورت
افقی تغییر
کند،
ستونها
بهطور
خودکار
اضافه یا
حذف
میشوند.
برای این
منظور، هر
ستون وزن
مشخصی دارد.
ستونهای
دارای
بیشترین
وزن که در
عرض فعلی
بگنجند
نمایش داده
خواهند شد.
اگر اندازه
پنجره
بهصورت
عمودی
تغییر کند،
خطوط فهرست
پردازش/ریسه
بهطور
خودکار
اضافه یا
حذف
میشوند.
در حالت
تعاملی،
خروجی pcp-atop
میتواند
با فشردن
کلیدهای
خاص کنترل
شود. با این
حال امکان
تعیین چنین
کلیدی به
عنوان فلگ
در خط فرمان
نیز وجود
دارد. در این
حالت، pcp-atop از
پیش به حالت
مشخصشده
تغییر
وضعیت
میدهد. این
حالت را
میتوان
مجدداً
بهصورت
تعاملی
تغییر داد.
مشخص کردن
چنین کلیدی
به عنوان
فلگ
بهویژه
هنگام
اجرای pcp-atop با
خروجی به یک
لوله (pipe) یا
فایل
(بهصورت
غیرتعاملی)
بسیار مفید
است. این
فلگها
همان
کلیدهایی
هستند که
میتوان در
حالت
تعاملی
فشرد (به بخش
دستورات
تعاملی
مراجعه
کنید).
فلگهای
اضافی نیز
برای
پشتیبانی
از
ذخیرهسازی
دادههای
pcp-atop در قالب
آرشیو PCP
موجود است
(به بخش
ذخیرهسازی
دادههای PCP
مراجعه
کنید).
رنگها (COLORS)
برای مصرف
منابع در
سطح سیستم،
pcp-atop در حالت
متنی از
رنگها
استفاده
میکند تا
نشان دهد
درصد اشغال
بحرانی
(تقریباً)
فرا رسیده
است. درصد
اشغال
بحرانی
بدین
معناست که
به احتمال
زیاد این
بار تأثیر
منفی
چشمگیری بر
کارایی
برنامههای
استفادهکننده
از این منبع
میگذارد.
درصد
بحرانی به
نوع منبع
بستگی دارد:
برای مثال
تأثیر
کارایی
دیسکی با
درصد مشغول
بودن ۸۰٪
ممکن است
برای
برنامهها/کاربران
ملموستر
از CPU با درصد
مشغول بودن
۹۰٪ باشد.
در حال حاضر
pcp-atop از
مقادیر
پیشفرض
زیر برای
محاسبه
درصد
وزندار به
ازای هر
منبع
استفاده
میکند:
- پردازنده (Processor)
- درصد مشغول بودن ۹۰٪ یا بالاتر «بحرانی» در نظر گرفته میشود (همچنین در حالت نمودار میلهای).
- دیسک (Disk)
- درصد مشغول بودن ۹۰٪ یا بالاتر «بحرانی» در نظر گرفته میشود.
- شبکه (Network)
- درصد مشغول بودن ۹۰٪ یا بالاتر برای بار یک رابط «بحرانی» در نظر گرفته میشود.
- حافظه (Memory)
- درصد اشغال
۹۰٪
«بحرانی»
در نظر
گرفته
میشود.
توجه داشته
باشید که
این درصد
اشغال،
مجموع مصرف
حافظه کرنل
(از جمله
اسلب) و
تمام
پردازشها
است. حافظه
مربوط به کش
صفحه ('cache' و 'buff' در
خط MEM) و بخش
قابل
آزادسازی
اسلب ('slrec')
شامل آن
نمیشود!
اگر تعداد صفحات مبادلهشده به بیرون ('swout' در خط PAG) بیش از ۱۰ مورد در ثانیه باشد، منبع حافظه «بحرانی» محسوب میشود. مقدار حداقل ۱ مورد در ثانیه «تقریباً بحرانی» در نظر گرفته میشود.
اگر حافظه مجازی متعهدشده از حد مجاز فراتر رود ('vmcom' و 'vmlim' در خط SWP)، خط SWP به دلیل تعهد بیش از حد حافظه سیستم رنگی میشود. - فضای مبادله (Swap)
- درصد اشغال ۸۰٪ «بحرانی» در نظر گرفته میشود زیرا ممکن است فضای مبادله در آینده نزدیک کاملاً تخلیه شود. این موضوع از دیدگاه کارایی بحرانی نیست.
این مقادیر پیشفرض را میتوان در فایل پیکربندی تغییر داد (به صفحه راهنمای مجزای pcp-atoprc(5) مراجعه کنید).
هنگامی که
یک منبع از
درصد اشغال
بحرانی خود
فراتر رود،
مقادیر
مربوطه در
خط صفحه
بهطور
پیشفرض به
رنگ قرمز
درمیآیند.
هنگامی که
یک منبع از
۸۰٪ (بهطور
پیشفرض)
درصد
بحرانی خود
فراتر رود
(یعنی
تقریباً
بحرانی
باشد)،
مقادیر
مربوطه در
خط صفحه
بهطور
پیشفرض
فیروزهای
(cyan) میشوند.
این «درصد
تقریباً
بحرانی» (یک
مقدار برای
همه منابع)
در فایل
پیکربندی
قابل تغییر
است (به صفحه
راهنمای
مجزای pcp-atoprc(5)
مراجعه
کنید).
رنگهای
پیشفرض
قرمز و
فیروزهای
نیز در فایل
پیکربندی
قابل تغییر
هستند (به
صفحه
راهنمای
مجزای pcp-atoprc(5)
مراجعه
کنید).
با کلید 'x' (یا فلگ -x)، میتوان استفاده از رنگها را در حالت متنی متوقف کرد. با این حال استفاده از رنگها در حالت نمودار میلهای اجباری است.
ماژول BPF NETATOP (NETATOP BPF MODULE)
فعالیت
شبکه به
ازای هر
پردازش و هر
ریسه را
میتوان با
ماژول BPF به
نام netatop
اندازهگیری
کرد که
میتواند
بهطور
جداگانه با
pmdabpf(1) نصب شود.
هنگامی که
pcp-atop
شمارندهها
را برای یک
بازه جدید
گردآوری
میکند،
بررسی
میکند که
آیا ماژول eBPF
در حال حاضر
فعال است یا
خیر. در صورت
فعال بودن،
pcp-atop
شمارندههای
شبکه
مربوطه را
از این
ماژول
دریافت
کرده و
تعداد
بستههای
ارسالی و
دریافتی به
ازای هر
پردازش/ریسه
را در صفحه
عمومی نشان
میدهد.
علاوه بر
این،
شمارندههای
دقیقتر را
میتوان با
فشردن کلید
'n' درخواست
کرد.
جمعآوری آمار پردازنده گرافیکی (GPU STATISTICS GATHERING)
آمار پردازنده گرافیکی (GPU) را میتوان توسط pmdanvidia(1) که یک پردازش دیمن مجزا برای جمعآوری دادههاست گردآوری کرد. این دیمن شمارندههای مصرف تجمعی هر پردازنده گرافیکی Nvidia در سیستم، و نیز شمارندههای مصرف هر پردازشی را که از GPU استفاده میکند جمعآوری مینماید. هنگامی که pcp-atop متوجه شود دیمن فعال است، این شمارندههای مصرف GPU را در هر بازه زمانی میخواند.
توضیحات مربوط به شمارندههای مصرف را در بخش شرح خروجی بیابید.
دستورات تعاملی (INTERACTIVE COMMANDS)
هنگام اجرای تعاملی pcp-atop (بدون تغییر مسیر خروجی)، میتوان با فشردن کلیدها خروجی را کنترل کرد. بهطور کلی، از کلیدهای حروف کوچک میتوان برای نمایش سایر اطلاعات برای پردازشهای فعال استفاده کرد، در حالی که برخی کلیدهای حروف بزرگ میتوانند برای تغییر ترتیب مرتبسازی فهرست پردازشها/ریسههای فعال به کار روند. برخی از این کلیدها همچنین میتوانند برای تغییر وضعیت از حالت نمودار میلهای به اطلاعات تفصیلی پردازش در حالت متنی استفاده شوند.
- g
- نمایش
خروجی
عمومی
(پیشفرض).
به ازای هر پردازش، در صورت عرض پنجره با ۸۰ جایگاه، فیلدهای زیر نمایش داده میشوند: شناسه پردازش (process-id)، مصرف CPU در طول آخرین بازه در حالتهای سیستم و کاربر، و رشد حافظه مجازی و مقیم پردازش.
انتقال داده به ازای هر پردازش برای خواندن/نوشتن روی دیسک تنها زمانی قابل نمایش است که pcp-atop معیارها را با امتیازات دسترسی ریشه (root) دریافت کند.
هنگامی که ماژول اختیاری pmdabpf(1) با نام netatop بارگذاری شده باشد، میزان انتقال داده برای ارسال/دریافت بستههای شبکه به ازای هر پردازش نمایش داده میشود.
آخرین ستونها شامل وضعیت، درصد اشغال برای منبع انتخابشده (پیشفرض: CPU) و نام پردازش هستند.هنگامی که بیش از ۸۰ جایگاه در دسترس باشد، اطلاعات دیگری اضافه میشود.
- m
- نمایش
خروجی
مربوط به
حافظه.
به ازای هر پردازش، در صورت عرض پنجره با ۸۰ جایگاه، فیلدهای زیر نمایش داده میشوند: شناسه پردازش، خطاهای حافظه جزئی و کلی (minor and major faults)، اندازه متن اشتراکی مجازی، اندازه کل حافظه مجازی پردازش، اندازه کل حافظه مقیم پردازش، رشد مجازی و مقیم در طول آخرین بازه، درصد اشغال حافظه و نام پردازش.
هنگامی که بیش از ۸۰ جایگاه در دسترس باشد، اطلاعات دیگری اضافه میشود.
برای مصرف حافظه، همواره تمام پردازشها نمایش داده میشوند (حتی پردازشهایی که در طول بازه فعال نبودهاند).
- d
- نمایش
خروجی
مربوط به
دیسک.
هنگامی که pcp-atop با دسترسی ریشه اجرا شود، فیلدهای زیر نمایش داده میشوند: شناسه پردازش، مقدار داده خواندهشده از دیسک، مقدار داده نوشتهشده روی دیسک، مقدار دادهای که نوشته شده اما مجدداً لغو شده است (WCANCL)، درصد اشغال دیسک و نام پردازش.
- n
- نمایش
خروجی
مربوط به
شبکه.
به ازای هر پردازش، در صورت عرض پنجره با ۸۰ جایگاه، فیلدهای زیر نمایش داده میشوند: شناسه پردازش، شناسه ریسه، کل پهنای باند برای بستههای دریافتی، کل پهنای باند برای بستههای ارسالی، تعداد بستههای TCP دریافتی با میانگین اندازه هر بسته (به بایت)، تعداد بستههای TCP ارسالی با میانگین اندازه هر بسته (به بایت)، تعداد بستههای UDP دریافتی با میانگین اندازه هر بسته (به بایت)، تعداد بستههای UDP ارسالی با میانگین اندازه هر بسته (به بایت)، درصد اشغال شبکه و نام پردازش.
این اطلاعات تنها زمانی قابل نمایش است که ماژول اختیاری pmdabpf(1) با نام netatop نصب شده باشد.هنگامی که بیش از ۸۰ جایگاه در دسترس باشد، اطلاعات دیگری اضافه میشود.
- s
- نمایش
ویژگیهای
زمانبندی
(scheduling).
به ازای هر پردازش، در صورت عرض پنجره با ۸۰ جایگاه، فیلدهای زیر نمایش داده میشوند: شناسه پردازش، تعداد ریسهها در حالت 'running' (R)، تعداد ریسهها در حالت 'interruptible sleeping' (S)، تعداد ریسهها در حالت 'uninterruptible sleeping' (D)، تعداد ریسهها در حالت 'idle' (I)، خطمشی زمانبندی (تسهیم زمانی عادی، بیادردنگ دورهای یا realtime round-robin، بیدرنگ ترتیبی یا realtime fifo)، مقدار nice، اولویت، اولویت بیدرنگ، پردازنده فعلی، وضعیت، کد خروج، حالت، درصد اشغال برای منبع انتخابشده و نام پردازش.
هنگامی که بیش از ۸۰ جایگاه در دسترس باشد، اطلاعات دیگری اضافه میشود.
- v
- نمایش
ویژگیهای
گوناگون
پردازش.
به ازای هر پردازش، در صورت عرض پنجره با ۸۰ جایگاه، فیلدهای زیر نمایش داده میشوند: شناسه پردازش، نام کاربر و گروه، تاریخ و زمان شروع، وضعیت (مانند کد خروج در صورت پایان پردازش)، حالت، درصد اشغال برای منبع انتخابشده و نام پردازش.
هنگامی که بیش از ۸۰ جایگاه در دسترس باشد، اطلاعات دیگری اضافه میشود.
- c
- نمایش خط
فرمان
پردازش.
به ازای هر پردازش فیلدهای زیر نمایش داده میشوند: شناسه پردازش، درصد اشغال برای منبع انتخابشده و خط فرمان شامل آرگومانها.
- X
- نمایش
اطلاعات cgroup v2.
به ازای هر پردازش فیلدهای زیر نمایش داده میشوند: شناسه پردازش، نام دستور و مسیر cgroup (با قابلیت پیمایش افقی).
- e
- نمایش مصرف
GPU.
به ازای هر پردازش حداقل فیلدهای زیر نمایش داده میشوند: شناسه پردازش، محدوده شمارههای GPU که پردازش در حال حاضر روی آنها اجرا میشود، درصد مشغول بودن GPU روی تمام پردازندههای گرافیکی، درصد مشغول بودن حافظه (یعنی دسترسیهای خواندن و نوشتن حافظه) روی تمام پردازندههای گرافیکی، اشغال حافظه در لحظه نمونهبرداری، میانگین اشغال حافظه در طول نمونهبرداری، و درصد GPU.
هنگامی که دیمن pmdanvidia با امتیاز ریشه اجرا نشود، درصد مشغول بودن GPU و درصد مشغول بودن حافظه در سطح پردازش در دسترس نیستند. در این حالت، درصد GPU در سطح پردازش نشاندهنده اشغال حافظه GPU به جای درصد مشغول بودن GPU است (که ارجحیت دارد).
- o
- نمایش خط
تعریفشده
توسط کاربر
برای
پردازش.
در فایل پیکربندی، کلیدواژه ownprocline میتواند به همراه توصیف یک خط خروجی تعریفشده توسط کاربر مشخص شود.
برای توضیحات دقیق به صفحه راهنمای pcp-atoprc(5) مراجعه کنید. - y
- نمایش
ریسههای
مجزا درون
یک پردازش
(تغییر
وضعیت - toggle).
پردازشهای تکریسهای همچنان به عنوان یک خط نمایش داده میشوند.
برای پردازشهای چندریسهای، یک خط نشاندهنده پردازش است در حالی که خطوط اضافی فعالیت هر ریسه را (با رنگی متفاوت) نشان میدهند. بسته به گزینه 'a' (تغییر وضعیت نمایش همه یا فقط فعالها)، تمام ریسهها یا تنها ریسههایی که در طول بازه گذشته فعال بودهاند نمایش داده میشوند. بسته به گزینه 'Y' (مرتبسازی ریسهها)، ریسههای هر پردازش بر اساس معیار مرتبسازی انتخابشده مرتب میشوند یا خیر.
فعال بودن یا نبودن این کلید در خط هدر قابل مشاهده است. - Y
- مرتبسازی ریسهها به ازای هر پردازش در صورت ترکیب با گزینه 'y' (تغییر وضعیت).
- u
- نمایش
فعالیت
پردازشها
تجمیعشده
بر اساس
کاربر.
به ازای هر کاربر فیلدهای زیر نمایش داده میشوند: تعداد پردازشهای فعال یا پایانیافته در طول آخرین بازه (یا در مجموع در صورت ترکیب با دستور 'a')، مصرف تجمعی CPU در طول آخرین بازه در حالت سیستم و کاربر، فضای حافظه مجازی و مقیم فعلی مصرفشده توسط پردازشهای فعال (یا تمام پردازشهای کاربر در صورت ترکیب با دستور 'a').
هنگامی که pcp-atop معیارها را با امتیازات دسترسی ریشه بخواند، توان عملیاتی خواندن و نوشتن تجمعی روی دیسک نمایش داده میشود. هنگامی که ماژول اختیاری pmdabpf(1) با نام 'netproc' نصب شده باشد، تعداد فراخوانیهای شبکه برای دریافت و ارسال نمایش داده میشود.
آخرین ستونها شامل درصد اشغال تجمعی برای منبع انتخابشده (پیشفرض: CPU) و نام کاربر هستند. - p
- نمایش
فعالیت
پردازشها
تجمیعشده
بر اساس
برنامه
(یعنی نام
پردازش).
به ازای هر برنامه فیلدهای زیر نمایش داده میشوند: تعداد پردازشهای فعال یا پایانیافته در طول آخرین بازه (یا در مجموع در صورت ترکیب با دستور 'a')، مصرف تجمعی CPU در طول آخرین بازه در حالت سیستم و کاربر، فضای حافظه مجازی و مقیم فعلی مصرفشده توسط پردازشهای فعال (یا تمام پردازشهای کاربر در صورت ترکیب با دستور 'a').
هنگامی که pcp-atop معیارها را با امتیازات دسترسی ریشه بخواند، توان عملیاتی خواندن و نوشتن تجمعی روی دیسک نمایش داده میشود. هنگامی که ماژول pmdabpf(1) با نام 'netproc' نصب شده باشد، تعداد فراخوانیهای شبکه برای دریافت و ارسال نمایش داده میشود.
آخرین ستونها شامل درصد اشغال تجمعی برای منبع انتخابشده (پیشفرض: CPU) و نام برنامه هستند. - j
- نمایش
فعالیت
پردازشها
تجمیعشده
بر اساس
کانتینر/پاد.
به ازای هر کانتینر (مانند Docker/Podman) یا پاد (مانند Kubernetes) فیلدهای زیر نمایش داده میشوند: تعداد پردازشهای فعال یا پایانیافته در طول آخرین بازه (یا در مجموع در صورت ترکیب با دستور 'a')، مصرف تجمعی CPU در طول آخرین بازه در حالت سیستم و کاربر، فضای حافظه مجازی و مقیم فعلی مصرفشده توسط پردازشهای فعال (یا تمام پردازشهای کاربر در صورت ترکیب با دستور 'a').
هنگامی که pcp-atop معیارها را با امتیازات دسترسی ریشه بخواند، توان عملیاتی خواندن و نوشتن تجمعی روی دیسک نمایش داده میشود. هنگامی که ماژول pmdabpf(1) با نام 'netproc' نصب شده باشد، تعداد فراخوانیهای شبکه برای دریافت و ارسال نمایش داده میشود.
آخرین ستونها شامل درصد اشغال تجمعی برای منبع انتخابشده (پیشفرض: CPU) و نام کانتینر/پاد (CID/POD) هستند. - C
- مرتبسازی فهرست جاری بر اساس مصرف CPU (پیشفرض). ستون ماقبل آخر به 'CPU' تغییر مییابد.
- E
- مرتبسازی فهرست جاری بر اساس میزان استفاده از GPU (ترجیحی، اما فقط زمانی کاربرد دارد که دیمن pmdanvidia تحت امتیازات دسترسی ریشه اجرا شود) یا بر اساس اشغال حافظه GPU. ستون ماقبل آخر به 'GPU' تغییر مییابد.
- M
- مرتبسازی فهرست جاری بر اساس مصرف حافظه مقیم. ستون ماقبل آخر به 'MEM' تغییر مییابد. در صورت مرتبسازی بر اساس حافظه، کل فهرست پردازشها نمایش داده خواهد شد (نه فقط پردازشهای فعال).
- D
- مرتبسازی فهرست جاری بر اساس تعداد دسترسیهای صادرشده به دیسک. ستون ماقبل آخر به 'DSK' تغییر مییابد.
- N
- مرتبسازی فهرست جاری بر اساس پهنای باند شبکه (دریافتی و ارسالی). ستون ماقبل آخر به 'NET' تغییر مییابد.
- A
- مرتبسازی
خودکار
فهرست جاری
بر اساس
پرمشغلهترین
منبع سیستم
در طول این
بازه. ستون
ماقبل آخر
یکی از
مقادیر 'ACPU'،
'AMEM'، 'ADSK' یا 'ANET' را
نشان
میدهد
(پیشوند 'A'
نشاندهنده
ترتیب
مرتبسازی
خودکار
است).
پرمشغلهترین
منبع با
مقایسه
درصدهای
مشغول بودن
وزندار
منابع
سیستم،
همانطور
که پیشتر
در بخش
رنگها
توصیف شد،
تعیین
میشود.
این گزینه تا زمانی که یک ترتیب مرتبسازی دیگر صراحتاً انتخاب شود معتبر میماند.
ترتیب مرتبسازی برای دیسک تنها زمانی ممکن است که pcp-atop با دسترسی ریشه اجرا شود. ترتیب مرتبسازی برای شبکه تنها زمانی امکانپذیر است که ماژول pmdabpf(1) با نام 'netproc' نصب شده باشد.
دستورات تعاملی گوناگون:
- ?
- درخواست اطلاعات راهنما (همچنین کلید 'h' را میتوان فشرد).
- V
- درخواست اطلاعات نسخه (شماره نسخه و تاریخ).
- R
- گردآوری و محاسبه اندازه مجموعه متناسب (PSIZE) پردازشها (تغییر وضعیت). جمعآوری تمام مقادیر مورد نیاز برای محاسبه PSIZE یک پردازش کاری بسیار زمانبر است، بنابراین این کلید تنها باید هنگام تحلیل مصرف حافظه مقیم پردازشها فعال شود.
- W
- دریافت رشته WCHAN به ازای هر ریسه (تغییر وضعیت). گردآوری رشته WCHAN به ازای هر ریسه فرآیندی نسبتاً زمانبر است، بنابراین این کلید تنها باید هنگام تحلیل علت قرار گرفتن ریسهها در حالت خواب فعال شود.
- x
- عدم
استفاده از
رنگها
برای
برجستهسازی
منابع
بحرانی
(تغییر
وضعیت).
فعال بودن یا نبودن این کلید در خط هدر قابل مشاهده است. - z
- کلید مکث (pause)
را میتوان
برای ثابت
نگه داشتن
وضعیت جاری
به منظور
بررسی
خروجی روی
صفحه
استفاده
کرد. در حین
مکث pcp-atop
میتوان
کلیدهای
توصیفشده
در بالا را
برای نمایش
سایر
اطلاعات
درباره
فهرست جاری
پردازشها
فشرد. هرگاه
کلید مکث
مجدداً
فشرده شود،
pcp-atop با
نمونهبرداری
بعدی ادامه
خواهد داد.
کلید مکث در هر دو حالت متنی و نمودار میلهای قابل استفاده است. - i
- تغییر
تایمر بازه
زمانی
(پیشفرض:
۱۰ ثانیه).
اگر مقدار ۰
برای بازه
زمانی وارد
شود، تایمر
بازه خاموش
میشود. در
این حالت
نمونهبرداری
جدید تنها
میتواند
بهصورت
دستی با
فشردن کلید
't' فعال شود.
بازه زمانی در هر دو حالت متنی و نمودار میلهای قابل تغییر است. - t
- راهاندازی
دستی یک
نمونهبرداری
جدید. این
کلید زمانی
فشرده
میشود که
نمونه فعلی
باید پیش از
به پایان
رسیدن زمان
تایمر
پایان
یابد، یا در
حالتی که
اصلاً
تایمری
تنظیم نشده
باشد (بازه
زمانی روی ۰
تعیین شده
باشد). در
حالت دوم pcp-atop
میتواند
به عنوان
کرنومتر
برای
اندازهگیری
بار ناشی از
یک تراکنش
برنامهای
خاص، بدون
اطلاع قبلی
از
مدتزمان
تراکنش،
مورد
استفاده
قرار گیرد.
این کلید در هر دو حالت متنی و نمودار میلهای قابل استفاده است.هنگام مشاهده محتوای یک آرشیو، این کلید میتواند برای نمایش نمونه بعدی از آرشیو استفاده شود.
- T
- هنگام
مشاهده
محتوای یک
آرشیو، این
کلید
میتواند
برای نمایش
نمونه قبلی
از آرشیو
استفاده
شود.
این کلید در هر دو حالت متنی و نمودار میلهای قابل استفاده است. - b
- هنگام
مشاهده
محتوای یک
آرشیو، این
کلید
میتواند
برای
انتقال به
یک برچسب
زمانی خاص
درون فایل
(به جلو یا
عقب)
استفاده
شود.
این کلید در هر دو حالت متنی و نمودار میلهای قابل استفاده است. - r
- بازنشانی
تمام
شمارندهها
به صفر برای
مشاهده
مجدد
فعالیت
سیستم و
پردازشها
از زمان
راهاندازی
(boot).
این کلید در هر دو حالت متنی و نمودار میلهای قابل استفاده است.هنگام مشاهده محتوای یک آرشیو، این کلید میتواند برای بازگشت به ابتدای فایل استفاده شود.
- U
- مشخص کردن
رشته جستجو
برای
نامهای
کاربری خاص
به صورت یک
عبارت
باقاعده (regular
expression). از این
پس، تنها
پردازشهای
(فعال)
کاربری
نمایش داده
میشوند که
با عبارت
باقاعده
مطابقت
داشته باشد.
آمار سیستم
همچنان در
سطح کل
سیستم است.
اگر کلید Enter
بدون تعیین
نام فشرده
شود،
مجدداً
پردازشهای
(فعال) تمام
کاربران
نمایش داده
خواهند شد.
فعال بودن یا نبودن این کلید در خط هدر قابل مشاهده است. - I
- مشخص کردن
فهرستی از
یک یا چند PID
برای
انتخاب. از
این پس،
تنها
پردازشهایی
نمایش داده
میشوند که
PID آنها با
یکی از
موارد
فهرست
ارائهشده
مطابقت
داشته باشد.
آمار سیستم
همچنان در
سطح کل
سیستم است.
اگر کلید Enter
بدون تعیین
PID فشرده
شود،
مجدداً
تمام
پردازشهای
(فعال)
نمایش داده
خواهند شد.
فعال بودن یا نبودن این کلید در خط هدر قابل مشاهده است. - P
- مشخص کردن
رشته جستجو
برای
نامهای
پردازش خاص
به صورت یک
عبارت
باقاعده. از
این پس،
تنها
پردازشهایی
نمایش داده
میشوند که
نام آنها
با عبارت
باقاعده
مطابقت
دارد. آمار
سیستم
همچنان در
سطح کل
سیستم است.
اگر کلید Enter
بدون تعیین
نام فشرده
شود،
مجدداً
تمام
پردازشهای
(فعال)
نمایش داده
خواهند شد.
فعال بودن یا نبودن این کلید در خط هدر قابل مشاهده است. - /
- مشخص کردن
رشته جستجو
برای خط
فرمان به
صورت یک
عبارت
باقاعده. از
این پس،
تنها
پردازشهایی
نمایش داده
میشوند که
خط فرمان
آنها با
عبارت
باقاعده
تطابق
داشته باشد.
آمار سیستم
همچنان در
سطح کل
سیستم است.
اگر کلید Enter
بدون تعیین
رشته فشرده
شود،
مجدداً
تمام
پردازشهای
(فعال)
نمایش داده
خواهند شد.
فعال بودن یا نبودن این کلید در خط هدر قابل مشاهده است. - J
- مشخص کردن
شناسه
کانتینر
(مانند Docker یا Podman)
یا نام پاد
(مانند Kubernetes)
حداکثر تا
۱۵ نویسه.
در صورتی که
نام
طولانیتر
باشد، ۱۵
نویسه
پایانی
مورد
انتظار است.
از این پس،
تنها
پردازشهایی
نمایش داده
میشوند که
در آن
کانتینر یا
پاد خاص
اجرا
میشوند.
آمار سیستم
همچنان در
سطح کل
سیستم است.
اگر کلید Enter
بدون تعیین
شناسه
کانتینر یا
نام پاد
فشرده شود،
مجدداً
تمام
پردازشهای
(فعال)
نمایش داده
خواهند شد.
فعال بودن یا نبودن این کلید در خط هدر قابل مشاهده است. - Q
- مشخص کردن
فهرستی از
نویسههای
حالت
پردازش،
جداشده با
ویرگول. از
این پس،
تنها
پردازشهایی
نمایش داده
میشوند که
در آن
حالتهای
پردازشی
خاص قرار
دارند.
حالتهای
پذیرفتهشده
عبارتند از:
R (در حال
اجرا)، S (در
حال خواب)، D
(خواب
دیسک)، T
(متوقفشده)،
t (توقف
ردیابی)، X
(مرده)، Z
(زامبی) و P
(پارکشده).
آمار سیستم
همچنان در
سطح کل
سیستم است.
اگر کلید Enter
بدون تعیین
حالت فشرده
شود،
مجدداً
تمام
پردازشهای
(فعال)
نمایش داده
خواهند شد.
فعال بودن یا نبودن این کلید در خط هدر قابل مشاهده است. - S
- مشخص کردن
رشتههای
جستجو برای
نامهای
حجم منطقی
خاص،
نامهای
دیسک خاص و
نامهای
رابط شبکه
خاص. تمام
رشتههای
جستجو به
عنوان
عبارت
باقاعده
تفسیر
میشوند. از
این پس،
تنها منابع
سیستمی
نمایش داده
میشوند که
با عبارت
باقاعده
مربوطه
مطابقت
داشته
باشند. اگر
کلید Enter بدون
تعیین رشته
جستجو
فشرده شود،
مجدداً
تمام منابع
سیستمی
(فعال) از آن
نوع نمایش
داده
خواهند شد.
فعال بودن یا نبودن این کلید در خط هدر قابل مشاهده است. - a
- کلید
'همه/فعال'
را میتوان
برای تغییر
وضعیت میان
نمایش/تجمیع
تنها
پردازشهایی
که در طول
آخرین بازه
فعال
بودهاند
(پیشفرض)
یا
نمایش/تجمیع
تمام
پردازشها
استفاده
کرد.
فعال بودن یا نبودن این کلید در خط هدر قابل مشاهده است. - G
- بهطور
پیشفرض،
pcp-atop
پردازشهای
زنده و
پردازشهای
خارجشده
در طول
آخرین بازه
را نمایش
داده/تجمیع
میکند. با
این کلید
(تغییر
وضعیت)،
میتوان از
نمایش/تجمیع
پردازشهای
پایانیافته
جلوگیری
کرد.
فعال بودن یا نبودن این کلید در خط هدر قابل مشاهده است. - f
- نمایش
تعداد ثابت
(حداکثر)
خطوط هدر
برای منابع
سیستم
(تغییر
وضعیت).
بهطور
پیشفرض
تنها خطوطی
درباره
منابع
سیستم (CPUها،
صفحهبندی،
حجمهای
منطقی،
دیسکها،
رابطهای
شبکه) نمایش
داده
میشوند که
واقعاً در
طول آخرین
بازه فعال
بودهاند.
با این کلید
میتوانید
pcp-atop را وادار
کنید خطوط
منابع
غیرفعال را
نیز نشان
دهد.
فعال بودن یا نبودن این کلید در خط هدر قابل مشاهده است. - F
- عدم
مرتبسازی
منابع
سیستم
(تغییر
وضعیت).
بهطور
پیشفرض
منابع
سیستم (CPUها،
حجمهای
منطقی،
دیسکها،
رابطهای
شبکه) بر
اساس میزان
استفاده
مرتب
میشوند.
فعال بودن یا نبودن این کلید در خط هدر قابل مشاهده است. - 1
- نمایش
شمارندههای
مربوطه به
صورت
میانگین در
ثانیه (در
قالب '..../s') به
جای مجموع
در طول بازه
(تغییر
وضعیت).
فعال بودن یا نبودن این کلید در خط هدر قابل مشاهده است. - l
- محدود کردن
تعداد خطوط
سطح سیستم
برای
شمارندههای
هر CPU،
دیسکهای
فعال و
رابطهای
شبکه.
بهطور
پیشفرض
خطوط مربوط
به تمام
CPUها،
دیسکها و
رابطهای
شبکهای که
در طول
آخرین بازه
فعال
بودهاند
نمایش داده
میشوند.
محدود کردن
این خطوط
میتواند
در
سیستمهایی
با تعداد
بسیار زیاد
CPU، دیسک یا
رابط
کاربری
برای امکان
اجرای pcp-atop
روی
صفحه/پنجرهای
با مثلاً ۲۴
خط مفید
باشد.
برای تمام منابع ذکرشده میتوان حداکثر تعداد خطوط را بهصورت تعاملی مشخص کرد. هنگام استفاده از فلگ -l حداکثر تعداد خطوط به ازای هر CPU روی ۰، حداکثر تعداد خطوط دیسک روی ۵ و حداکثر تعداد خطوط رابط روی ۳ تنظیم میشود. این مقادیر را میتوان مجدداً در حالت تعاملی تغییر داد. - k
- ارسال سیگنال به یک پردازش فعال (یا اصطلاحاً kill کردن یک پردازش).
- q
- خروج از
برنامه.
این کلید در هر دو حالت متنی و نمودار میلهای قابل استفاده است. - PgDn
- نمایش صفحه
بعدی از
فهرست
پردازشها/ریسهها.
با کلید جهتنمای پایین، فهرست را میتوان خط به خط به سمت پایین پیمایش کرد. - ^F
- نمایش صفحه
بعدی از
فهرست
پردازشها/ریسهها
(به سمت جلو).
با کلید جهتنمای پایین، فهرست را میتوان خط به خط به سمت پایین پیمایش کرد. - PgUp
- نمایش صفحه
قبلی از
فهرست
پردازشها/ریسهها.
با کلید جهتنمای بالا، فهرست را میتوان خط به خط به سمت بالا پیمایش کرد. - ^B
- نمایش صفحه
قبلی از
فهرست
پردازشها/ریسهها
(به سمت عقب).
با کلید جهتنمای بالا، فهرست را میتوان خط به خط به سمت بالا پیمایش کرد. - ^L
- باز ترسیم صفحه.
ذخیرهسازی دادههای PCP (PCP DATA STORAGE)
به منظور
ذخیره آمار
در سطح
سیستم و
پردازش
برای تحلیل
بلندمدت
(برای مثال
برای بررسی
بار سیستم و
پردازشهای
فعال در حال
اجرا در روز
گذشته بین
ساعات ۱۵:۰۰
تا ۱۶:۰۰)، pcp-atop
میتواند
آمار سطح
سیستم و
پردازش را
در قالب
آرشیو PCP
ذخیره کند
(به mkaf(1)
مراجعه
کنید).
تمام
اطلاعات
مربوط به
پردازشها
و ریسهها
در آرشیو
ذخیره
میشوند.
بازه زمانی
(پیشفرض: ۱۰
ثانیه) و
تعداد
نمونهها
(پیشفرض:
نامحدود) را
میتوان به
عنوان
آخرین
آرگومانها
منتقل کرد.
به جای
تعداد
نمونهها،
میتوان از
فلگ -S برای
مشخص کردن
اینکه pcp-atop در
هر صورت
باید پیش از
نیمهشب
پایان یابد
استفاده
کرد.
یک آرشیو PCP
را میتوان
با گزینه -r
مجدداً
خواند و
بصریسازی
کرد.
آرگومان
مربوطه
فهرستی از
نامها است
که با
ویرگول جدا
شدهاند و
هر کدام
میتواند
نام پایه یک
آرشیو یا
نام
پوشهای
حاوی یک یا
چند آرشیو
باشد. اگر
آرگومانی
مشخص نشود،
فایل $PCP_LOG_DIR/pmlogger/HOST/YYYYMMDD
برای ورودی
باز میشود
(که در آن YYYYMMDD
ارقام
نشاندهنده
تاریخ جاری
و HOST نام
میزبان
دستگاه در
حال
لاگبرداری
است). اگر نام
فایلی با
قالب YYYYMMDD
(نشاندهنده
هر تاریخ
معتبر) مشخص
شود، فایل
$PCP_LOG_DIR/pmlogger/HOST/YYYYMMDD باز
میشود. اگر
نام فایلی
با نام
نمادین y
مشخص شود،
فایل لاگ
روزانه
دیروز باز
میشود (این
کار
میتواند
تکرار شود،
بنابراین 'yyyy'
نشاندهنده
فایل لاگ
چهار روز
پیش است).
نمونههای
درون فایل
را میتوان
بهصورت
تعاملی با
استفاده از
کلید 't' برای
نمایش
نمونه
بعدی، کلید
'T' برای
نمایش
نمونه
قبلی، کلید
'b' برای پرش
به یک زمان
مشخص یا
کلید 'r' برای
بازگشت به
ابتدای
فایل
مشاهده کرد.
این کلیدها
در هر دو
حالت متنی و
حالت
نمودار
میلهای
قابل
استفاده
هستند.
هنگامی که
خروجی به یک
فایل یا
لوله (pipe)
هدایت شود،
pcp-atop تمام
نمونهها
را با متنی
ساده چاپ
میکند. طول
خط پیشفرض
در این حالت
۸۰ نویسه
است. با فلگ
-L به همراه
طول خط
متناوب،
ستونهای
بیشتر (یا
کمتری)
نمایش داده
خواهد شد.
با فلگ -b
(زمان شروع)
و/یا -e (زمان
پایان) به
همراه
آرگومان
زمانی به
شکل [YYYYMMDD]hhmm[ss]،
میتوان
بازه زمانی
مشخصی را
درون آرشیو
انتخاب
کرد.
شرح خروجی (OUTPUT DESCRIPTION)
اولین نمونه، فعالیت در سطح سیستم را از زمان راهاندازی (boot) نشان میدهد (زمان سپریشده در هدر، مدت زمان سپریشده از بوت را نشان میدهد).
در حالت
متنی، pcp-atop
ابتدا خطوط
مربوط به
فعالیت سطح
سیستم را
برای هر
نمونه
نمایش
میدهد. اگر
یک منبع
سیستم خاص
در طول بازه
استفاده
نشده باشد،
کل خط مربوط
به آن منبع
حذف میشود.
بنابراین
تعداد خطوط
سطح سیستم
ممکن است
برای هر
نمونه
متفاوت
باشد.
پس از آن،
فهرستی از
پردازشهایی
که در طول
آخرین بازه
فعال
بودهاند
نشان داده
میشود. این
فهرست
بهطور
پیشفرض بر
اساس مصرف CPU
مرتب شده
است، اما
این ترتیب
را میتوان
با
کلیدهایی
که پیشتر
توصیف شدند
تغییر داد.
اگر مقادیری باید توسط pcp-atop نمایش داده شوند که در عرض ستون نمیگنجند، از قالب دیگری استفاده میشود. برای مثال اگر مصرف CPU به میزان ۲۳۳۲۱۶ میلیثانیه باید در ستونی با عرض ۴ جایگاه نمایش داده شود، به شکل '233s' (بر حسب ثانیه) نشان داده میشود. برای مقادیر بزرگ حافظه، در صورتی که مقدار در ستون نگنجد واحد دیگری انتخاب میشود (Mb به جای Kb، Gb به جای Mb، Tb به جای Gb و غیره). برای مقادیر دیگر، نوعی نماد نمایی استفاده میشود (نمایش مقدار ۱۲۳۴۵۶۷۸۹ در ستونی با ۵ جایگاه مقدار 123e6 را به دست میدهد).
شرح خروجی - سطح سیستم (OUTPUT DESCRIPTION - SYSTEM LEVEL)
اطلاعات سطح سیستم در حالت متنی شامل خطوط خروجی زیر است:
- PRC
- مجموعهای
سطح پردازش
و ریسه.
این خط شامل کل زمان مصرفشده CPU در حالت سیستم ('sys') و در حالت کاربر ('user')، تعداد کل پردازشهای موجود در این لحظه ('#proc')، تعداد کل ریسههای موجود در این لحظه در حالتهای 'running' ('#trun')، خواب با امکان وقفه یا 'sleeping interruptible' ('#tslpi')، خواب بدون امکان وقفه یا 'sleeping uninterruptible' ('#tslpu') و بیکار یا 'idle' ('#tidle')، تعداد پردازشهای زامبی ('#zombie')، تعداد فراخوانیهای سیستم clone ('clones') و تعداد پردازشهای پایانیافته در طول بازه ('#exit') هنگام استفاده از حسابرسی پردازش (process accounting) است. به جای '#exit'، آخرین ستون ممکن است نشان دهد که حسابرسی پردازش فعال نشده است ('no procacct').
اگر عرض صفحه اجازه نمایش تمام این شمارندهها را ندهد، تنها زیرمجموعهای مرتبط نمایش داده میشود. - CPU
- میزان
استفاده از
پردازنده (CPU).
حداقل یک خط برای اشغال کل تمام CPUها با یکدیگر نشان داده میشود.
در مورد سیستمهای چندپردازندهای، یک خط اضافی برای هر پردازنده مجزا (با 'cpu' با حروف کوچک)، مرتبشده بر اساس فعالیت نشان داده میشود. CPUهای غیرفعال بهطور پیشفرض نمایش داده نمیشوند. خطوط نشاندهنده اشغال به ازای هر CPU حاوی شماره CPU در فیلد ترکیبشده با درصد انتظار هستند.هر خط شامل درصد زمان CPU صرفشده در حالت کرنل توسط تمام پردازشهای فعال ('sys')، درصد زمان CPU مصرفشده در حالت کاربر ('user') برای تمام پردازشهای فعال (شامل پردازشهای در حال اجرا با مقدار nice بزرگتر از صفر)، درصد زمان CPU صرفشده برای رسیدگی به وقفه ('irq') شامل وقفههای نرمافزاری (softirq)، درصد زمان بدون استفاده CPU در حالی که هیچ پردازشی منتظر ورودی/خروجی دیسک نبوده است ('idle') و درصد زمان بدون استفاده CPU در حالی که حداقل یک پردازش در انتظار ورودی/خروجی دیسک بوده است ('wait') میباشد.
در صورت اشغال به ازای هر CPU، شماره CPU و درصد انتظار ('w') برای آن CPU نشان داده میشود. تعداد خطوط نشاندهنده اشغال هر CPU قابل محدودسازی است.برای ماشینهای مجازی، درصد سرقت ('steal') درصد زمان CPU ربودهشده توسط سایر ماشینهای مجازی در حال اجرا بر روی همان سختافزار را نشان میدهد.
برای ماشینهای فیزیکی میزبان یک یا چند ماشین مجازی، درصد مهمان ('guest') درصد زمان CPU استفادهشده توسط ماشینهای مجازی را نشان میدهد. توجه داشته باشید که این درصد با درصد کاربر همپوشانی دارد!هنگامی که شمارندههای پایش کارایی PMC توسط CPU و هسته پشتیبانی شوند (و pmdaperfevent(1) با دسترسی ریشه اجرا شود)، تعداد دستورالعملها در هر چرخه CPU یا همان 'ipc' نمایش داده میشود. اولین نمونه همیشه مقدار 'initial' را نشان میدهد، زیرا شمارندهها درست در لحظه آغاز به کار pcp-atop فعال شدهاند.
هنگامی که درصد مشغول بودن CPU بالا و مقدار IPC کمتر از ۱٫۰ باشد، این احتمال وجود دارد که CPU در حین اجرای دستورالعمل مکرراً منتظر دسترسی به حافظه بماند (حافظههای نهان بزرگتر CPU یا حافظه سریعتر میتواند به بهبود کارایی کمک کند). هنگامی که درصد مشغول بودن CPU بالا و مقدار IPC بیشتر از ۱٫۰ باشد، به احتمال زیاد پردازنده با حجم دستورالعمل مواجه است (هستههای بیشتر/سریعتر میتوانند در بهبود کارایی مؤثر باشند).
علاوه بر این، به ازای هر CPU تعداد چرخههای مؤثر ('cycl') نشان داده میشود. این مقدار در صورتی که CPU بهطور ۱۰۰٪ مشغول باشد میتواند به بسامد (فرکانس) جاری CPU برسد. هنگامی که یک CPU بیکار متوقف شود، تعداد چرخههای مؤثر میتواند بهطور چشمگیری کمتر از بسامد جاری باشد.
توجه داشته باشید که تعداد میانگین دستورالعملها در هر چرخه و تعداد چرخهها در خط CPU برای تمام پردازندهها نشان داده میشود.
همچنین ببینید: http://www.brendangregg.com/blog/2017-05-09/cpu-utilization-is-wrong.htmlدر صورت مقیاسبندی بسامد (frequency scaling)، تمام درصدهای پیشگفته CPU نسبت به مقیاس استفادهشده CPU در طول بازه سنجیده میشوند. اگر یک CPU برای مثال ۵۰٪ در حالت کاربر در طول بازه فعال بوده در حالی که مقیاس بسامد آن CPU برابر با ۴۰٪ بوده است، تنها ۲۰٪ از ظرفیت کامل CPU در حالت کاربر استفاده شده است.
در صورتی که ماژول هسته 'cpufreq_stats' فعال باشد (پس از اجرای 'modprobe cpufreq_stats')، بسامد میانگین ('avgf') و درصد مقیاسبندی میانگین ('avgscal') نمایش داده میشود. در غیر این صورت بسامد جاری ('curf') و درصد مقیاسبندی جاری ('curscal') در لحظه نمونهبرداری نشان داده میشود. توجه داشته باشید که مقادیر میانگین برای بسامد و مقیاسبندی در خط CPU برای هر پردازنده نشان داده میشوند.
آمار مقیاسبندی بسامد تنها برای سیستمهایی با حداکثر ۸ پردازنده جمعآوری میشود، زیرا جمعآوری این مقادیر به ازای هر CPU بسیار زمانبر است.اگر عرض صفحه اجازه نمایش تمام این شمارندهها را ندهد، تنها زیرمجموعه مرتبطی نمایش داده میشود.
- CPL
- اطلاعات
بار CPU.
این خط شامل ارقام میانگین بار (load average) است که تعداد ریسههای آماده برای اجرا روی پردازنده (یعنی بخشی از صف اجرا) یا در انتظار ورودی/خروجی دیسک را نشان میدهد. این ارقام روی بازههای ۱ ('avg1')، ۵ ('avg5') و ۱۵ ('avg15') دقیقه میانگینگیری میشوند.
علاوه بر این، تعداد تعویضهای زمینه ('csw')، تعداد وقفههای رسیدگیشده ('intr') و تعداد CPUهای موجود نمایش داده میشود.اگر عرض صفحه اجازه نمایش تمام این شمارندهها را ندهد، تنها زیرمجموعه مرتبطی نمایش داده میشود.
- GPU
- میزان
استفاده از
GPU (انویدیا).
بخش جمعآوری آمار پردازنده گرافیکی را در این سند بخوانید تا از جزئیات مربوط به فعالسازی دیمن pmdanvidia آگاه شوید.در اولین ستون هر خط، شناسه گذرگاه (bus-id، ۹ نویسه پایانی) و شماره GPU نشان داده میشود. ستونهای بعدی درصد زمانی را نشان میدهند که یک یا چند کرنل در حال اجرا روی GPU بودهاند ('gpubusy')، درصد زمانی که حافظه سراسری دستگاه خوانده یا نوشته میشده است ('membusy')، درصد اشغال حافظه ('memocc')، کل حافظه ('total')، حافظه در حال استفاده در لحظه نمونهبرداری ('used')، میانگین حافظه در حال استفاده در طول زمان نمونهبرداری ('usavg')، تعداد پردازشهای فعال روی GPU در لحظه نمونهبرداری ('#proc')، و نوع GPU.
اگر عرض صفحه اجازه نمایش تمام این شمارندهها را ندهد، تنها زیرمجموعه مرتبطی نمایش داده میشود.
تعداد خطوط نشاندهنده GPUها قابل محدودسازی است. - MEM
- اشغال
حافظه (دو
خط).
این خطوط شامل مقدار کل حافظه فیزیکی ('tot')، مقدار حافظهای که در حال حاضر آزاد است ('free')، مقدار حافظهای که برای بارهای کاری جدید بدون کشاندن سیستم به فضای مبادله در دسترس است ('avail')، مقدار حافظه در حال استفاده به عنوان حافظه نهان صفحه شامل کل حافظه اشتراکی مقیم ('cache')، مقدار حافظه درون کش صفحه که باید روی دیسک تخلیه شود ('dirty')، مقدار حافظه مورد استفاده برای متادیتای سیستم فایل ('buff')، مقدار حافظه مورد استفاده برای تخصیصهای هسته ('slab')، مقدار حافظه اسلب قابل بازپسگیری ('slrec')، اندازه مقیم حافظه اشتراکی SYSV شامل tmpfs بدون صفحات بزرگ ایستا ('shmem')، اندازه مقیم حافظه اشتراکی SYSV شامل صفحات بزرگ ایستا ('shrss')، مقدار حافظه اشتراکی SYSV که در حال حاضر مبادله شده است ('shswp')، مقدار حافظهای که در حال حاضر برای جداول صفحه استفاده میشود ('pgtab')، تعداد گرههای NUMA در این سیستم ('numnode')، مقدار حافظهای که در حال حاضر توسط درایور بالون vmware مطالبه شده است ('vmbal')، مقدار حافظهای که در حال حاضر توسط ARC (کش) ZFSonlinux مطالبه شده است ('zfarc')، مقدار حافظه برای صفحات بزرگ شفاف ناشناس ('anthp')، مقدار حافظهای که برای صفحات بزرگ مطالبه شده است ('hptot')، مقدار حافظه صفحات بزرگ که واقعاً در حال استفاده است ('hpuse')، مقدار حافظه مورد استفاده برای سوکتهای TCP ('tcps') و مقدار حافظه مورد استفاده برای سوکتهای UDP ('udps') است.اگر عرض صفحه اجازه نمایش تمام این شمارندهها را ندهد، تنها زیرمجموعه مرتبطی نمایش داده میشود.
- SWP
- اشغال فضای
مبادله و
اطلاعات
تعهد بیش از
حد (overcommit).
این خط شامل کل مقدار فضای مبادله روی دیسک ('tot') و مقدار فضای مبادله آزاد ('free')، اندازه حافظه نهان مبادله ('swcac')، اندازه حافظه فشرده مورداستفاده برای zswap ('zswap')، اندازه واقعی (غیرفشرده) صفحات ذخیرهشده در zswap ('zstor')، کل اندازه حافظه مورد استفاده برای KSM ('ksuse'، یعنی اشتراکی)، و کل اندازه حافظه صرفهجوییشده (یکسانسازیشده) توسط KSM ('kssav'، یعنی در حال اشتراک) است.
علاوه بر این، فضای حافظه مجازی متعهدشده ('vmcom') و حداکثر حد مجاز فضای متعهدشده ('vmlim' که بهطور پیشفرض اندازه فضای مبادله به علاوه ۵۰٪ اندازه حافظه است) نمایش داده میشود. فضای متعهدشده همان فضای مجازی رزروشده برای تمام تخصیصهای فضای حافظه خصوصی پردازشها است. هسته تنها در صورتی که مدیریت تعهد بیش از حد سختگیرانه پیکربندی شده باشد (vm.overcommit_memory برابر با ۲ باشد) بررسی میکند که آیا فضای متعهدشده از حد مجاز فراتر رفته است یا خیر. - LLC
- اطلاعات
آخرین سطح
حافظه نهان
(Last-Level Cache)
پردازنده.
این خط شامل پهنای باند کل حافظه LLC ('tot')، پهنای باند گره محلی NUMA ('loc') و درصد LLC در حال استفاده ('LLCXX YY%') است.توجه داشته باشید که این ویژگی به شبهسیستمفایل 'resctrl' وابسته است. اطمینان حاصل کنید که هسته با پیکربندی مربوطه ساخته شده است و دقت کنید که شبهسیستمفایل سوار (mount) شده باشد:
mount -t resctrl resctrl -o mba_MBps /sys/fs/resctrl (روی Intel)
mount -t resctrl resctrl -o cdp /sys/fs/resctrl (روی AMD) - NUM
- میزان
استفاده از
حافظه به
ازای هر گره
NUMA (برای
سیستمهای
تکگره NUMA
نشان داده
نمیشود).
این خط مقدار کل حافظه فیزیکی این گره ('tot')، مقدار حافظه آزاد ('free')، مقدار حافظه برای دادههای فایل کششده ('file')، دادههای فایل کششده اصلاحشده ('dirty')، حافظه اخیراً استفادهشده ('activ')، حافظه کمتر استفادهشده ('inact')، حافظه مورد استفاده برای تخصیصهای کرنل ('slab')، مقدار حافظه اسلب قابل بازپسگیری ('slrec')، حافظه اشتراکی شامل tmpfs ('shmem')، کل صفحات بزرگ ('hptot')، صفحات بزرگ استفادهشده ('hpuse') و درصد قطعهقطعهشدگی ('frag') را نشان میدهد. - NUC
- میزان
استفاده از
CPU به ازای هر
گره NUMA (برای
سیستمهای
تکگره NUMA
نشان داده
نمیشود).
این خط درصدهای استفاده از تمام CPUهای مرتبط با این گره NUMA را دستهبندیشده برای حالت سیستم ('sys')، حالت کاربر ('user')، حالت کاربر برای پردازشهای دارای nice ('niced')، حالت بیکار ('idle')، حالت انتظار ('w' به همراه شماره گره)، حالت وقفه ('irq')، حالت وقفه نرمافزاری ('sirq')، حالت سرقت ('steal') و حالت مهمان ('guest') همپوشان با حالت کاربر نشان میدهد. - PAG
- بسامد
صفحهبندی
(Paging frequency).
این خط شامل تعداد صفحات پویششده ('scan') به دلیل کاهش حافظه آزاد به زیر آستانهای مشخص، تعداد دفعاتی که کرنل به دلیل نیاز فوری سعی در آزادسازی صفحات دارد ('stall')، تعداد توقفهای پردازش برای اجرای فشردهسازی حافظه به منظور تخصیص صفحات بزرگ ('compact')، تعداد صفحات مهاجرتیافته NUMA ('numamig')، و تعداد کل صفحات حافظه که با موفقیت مهاجرت داده شدهاند، برای مثال بین گرههای NUMA یا برای فشردهسازی ('migrate') است.
همچنین تعداد صفحات حافظهای که سیستم از دستگاههای بلوکی خوانده ('pgin')، تعداد صفحات حافظهای که سیستم روی دستگاههای بلوکی نوشته ('pgout')، تعداد صفحات حافظهای که از zswap به داخل مبادله شده ('zswin')، تعداد صفحات حافظهای که به zswap مبادله شده ('zswout')، تعداد صفحات حافظهای که سیستم از فضای مبادله خوانده ('swin')، تعداد صفحات حافظهای که سیستم روی فضای مبادله نوشته ('swout')، و تعداد کشتنهای ناشی از کمبود حافظه ('oomkill') نشان داده میشوند. - PSI
- اطلاعات
توقف ناشی
از فشار (Pressure Stall
Information).
این خط شامل درصدهایی درباره فشار منابع مرتبط با CPU، حافظه و ورودی/خروجی (I/O) است. برخی درصدها به 'some' اشاره دارند که یعنی برخی پردازشها/ریسهها به دلیل بار بیش از حد منبع دچار تأخیر شدهاند. درصدهای دیگر به 'full' اشاره دارند که به معنی از دست رفتن توان عملیاتی کلی به دلیل اضافهبار منابع است.
مقادیر 'cpusome'، 'memsome'، 'memfull'، 'iosome' و 'iofull' درصد فشار را در طول کل بازه نشان میدهند.
مقادیر 'cs' (فشار جزئی CPU)، 'ms' (فشار جزئی حافظه)، 'mf' (فشار کامل حافظه)، 'is' (فشار جزئی I/O) و 'if' (فشار کامل I/O) هر کدام سه درصد جداشده با اسلش را نشان میدهند: درصد فشار در طول ۱۰، ۶۰ و ۳۰۰ ثانیه گذشته. - LVM/MDD/DSK
- میزان
استفاده از
حجم
منطقی/چند
دستگاهی/دیسک.
به ازای هر واحد فعال یک خط تولید میشود که بر اساس فعالیت واحد مرتب شده است. چنین خطی نام (برای مثال VolGroup00-lvtmp برای یک حجم منطقی یا sda برای یک دیسک سخت)، درصد زمان سپریشدهای که طی آن درخواستهای I/O به دستگاه صادر شدهاند ('busy') (توجه داشته باشید که برای دستگاههایی که درخواستها را بهصورت موازی پاسخ میدهند مانند آرایههای RAID، دیسکهای SSD و NVMe، این عدد نمایانگر محدودیتهای کارایی آنها نیست)، تعداد درخواستهای خواندن صادرشده ('read')، تعداد درخواستهای نوشتن صادرشده ('write')، تعداد درخواستهای دور ریختن (discard) صادرشده ('discrd') در صورت پشتیبانی توسط نسخه هسته، تعداد کیبیبایت در هر خواندن ('KiB/r')، تعداد کیبیبایت در هر نوشتن ('KiB/w')، تعداد کیبیبایت در هر دور ریختن ('KiB/d') در صورت پشتیبانی توسط نسخه هسته، تعداد مبیبایت در ثانیه توان عملیاتی برای خواندن ('MBr/s')، تعداد مبیبایت در ثانیه توان عملیاتی برای نوشتن ('MBw/s')، درخواستهای صادرشده به درایور دستگاه که هنوز کامل نشدهاند ('inflt')، میانگین عمق صف ('avq') و میانگین تعداد میلیثانیههای مورد نیاز یک درخواست ('avio') برای پویش (seek)، تأخیر و انتقال داده را نشان میدهد.
اگر عرض صفحه اجازه نمایش تمام این شمارندهها را ندهد، تنها زیرمجموعه مرتبطی نمایش داده میشود.تعداد خطوط نشاندهنده واحدها را میتوان به ازای هر دسته (LVM، MDD یا DSK) با کلید 'l' یا بهصورت ایستا محدود کرد (به صفحه راهنمای مجزای pcp-atoprc(5) مراجعه کنید). با مشخص کردن مقدار ۰ برای یک دسته خاص، دیگر هیچ خطی برای آن دسته نشان داده نخواهد شد.
- NFM
- اتصالهای
سیستم فایل
شبکهای (NFS)
در سمت
کلاینت.
برای هر سیستم فایل متصلشده از طریق NFS، خطی نمایش داده میشود که شامل دایرکتوری سرور متصلشده، نام سرور ('srv')، کل تعداد بایتهای خواندهشده بهصورت فیزیکی از سرور ('read') و کل تعداد بایتهای نوشتهشده بهصورت فیزیکی روی سرور ('write') است. انتقال داده به بخشهای زیر تقسیم میشود: تعداد بایتهای خواندهشده از طریق فراخوانیهای سیستم استاندارد read() ('nread')، تعداد بایتهای نوشتهشده از طریق فراخوانیهای سیستم استاندارد read() ('nwrit')، تعداد بایتهای خواندهشده از طریق ورودی/خروجی مستقیم یا Direct I/O ('dread')، تعداد بایتهای نوشتهشده از طریق Direct I/O ('dwrit')، تعداد بایتهای خواندهشده از طریق صفحات نگاشت حافظه I/O ('mread')، و تعداد بایتهای نوشتهشده از طریق صفحات نگاشت حافظه I/O ('mwrit'). - NFC
- شمارندههای
سمت کلاینت
سیستم فایل
شبکهای (NFS).
این خط شامل تعداد فراخوانیهای RPC صادرشده توسط پردازشهای محلی ('rpc')، تعداد فراخوانیهای RPC خواندن ('read') و نوشتن ('rpwrite') صادرشده به سرور NFS، تعداد فراخوانیهای RPC که مجدداً ارسال شدهاند ('retxmit') و تعداد تازهسازیهای مجوز ('autref') است. - NFS
- شمارندههای
سمت سرور
سیستم فایل
شبکهای (NFS).
این خط شامل تعداد فراخوانیهای RPC دریافت شده از کلاینتهای NFS ('rpc')، تعداد فراخوانیهای RPC خواندن دریافتشده ('cread')، تعداد فراخوانیهای RPC نوشتن دریافتشده ('cwrit')، تعداد مگابایت در ثانیه برگشتی به درخواستهای خواندن کلاینتها ('MBcr/s')، تعداد مگابایت در ثانیه ارائهشده در درخواستهای نوشتن کلاینتها ('MBcw/s')، تعداد درخواستهای شبکه رسیدگیشده از طریق TCP ('nettcp')، تعداد درخواستهای شبکه رسیدگیشده از طریق UDP ('netudp')، تعداد برخوردها در کش پاسخ ('rchits')، تعداد عدم برخوردها در کش پاسخ ('rcmiss') و تعداد درخواستهای کشنشده ('rcnoca') است. علاوه بر این برخی شمارندههای خطا نشاندهنده تعداد درخواستها با قالب نامعتبر ('badfmt') یا مجوز نامعتبر ('badaut')، و شمارندهای نشاندهنده تعداد کلاینتهای نامعتبر ('badcln') آورده شده است. - NET
- میزان
استفاده از
شبکه (TCP/IP).
یک خط برای فعالیت لایه انتقال (TCP و UDP)، یک خط برای لایه IP و یک خط به ازای هر رابط فعال نمایش داده میشود.
برای لایه انتقال، شمارندههایی مربوط به تعداد قطعات TCP دریافتشده شامل قطعات دارای خطا ('tcpi')، تعداد قطعات TCP ارسالی به استثنای مواردی که تنها حاوی هشتبایتیهای بازترسیمی هستند ('tcpo')، تعداد دیتاگرامهای UDP دریافتشده ('udpi')، تعداد دیتاگرامهای UDP ارسالی ('udpo')، تعداد باز شدنهای فعال TCP ('tcpao')، تعداد باز شدنهای غیرفعال TCP ('tcppo')، تعداد بازترسیمهای خروجی TCP ('tcprs')، تعداد خطاهای ورودی TCP ('tcpie')، تعداد بازنشانیهای خروجی TCP ('tcpor')، تعداد درگاههای ناموجود UDP ('udpnp')، تعداد خطاهای ورودی UDP ('udpie')، و تعداد چکسامهای نادرست TCP ('csumie') نمایش داده میشوند.
اگر عرض صفحه اجازه نمایش تمام این شمارندهها را ندهد، تنها زیرمجموعه مرتبطی نمایش داده میشود.
این شمارندهها مربوط به ترکیب IPv4 و IPv6 هستند.برای لایه IP، شمارندههایی مربوط به تعداد دیتاگرامهای IP دریافتشده از رابطها شامل موارد دریافتی دارای خطا ('ipi')، تعداد دیتاگرامهای IP که پروتکلهای محلی لایههای بالاتر برای ارسال ارائه کردهاند ('ipo')، تعداد دیتاگرامهای IP دریافتشده که به سایر رابطها هدایت شدهاند ('ipfrw')، تعداد دیتاگرامهای IP تحویلدادهشده به پروتکلهای محلی لایههای بالاتر ('deliv')، تعداد دیتاگرامهای ICMP دریافتشده ('icmpi')، و تعداد دیتاگرامهای ICMP ارسالی ('icmpo') نمایش داده میشوند.
اگر عرض صفحه اجازه نمایش تمام این شمارندهها را ندهد، تنها زیرمجموعه مرتبطی نمایش داده میشود.
این شمارندهها مربوط به ترکیب IPv4 و IPv6 هستند.به ازای هر رابط شبکه فعال یک خط نمایش داده میشود که بر اساس فعالیت رابط مرتب شده است. چنین خطی نام رابط و درصد مشغول بودن آن را در اولین ستون نشان میدهد. درصد مشغول بودن برای ارتباط نیمهدوطرفه (half duplex) با مقایسه سرعت رابط با تعداد بیتهای ارسالی و دریافتی در هر ثانیه تعیین میشود؛ برای تمامدوطرفه (full duplex) سرعت رابط با بیشترین مقدار بیتهای ارسالی یا دریافتی مقایسه میشود. هنگامی که سرعت رابط قابل تعیین نباشد (برای مثال برای رابط loopback)، به جای درصد علامت '---' نمایش داده میشود.
علاوه بر این، تعداد بستههای دریافتشده ('pcki')، تعداد بستههای ارسالی ('pcko')، سرعت خط رابط ('sp')، مقدار مؤثر بیتهای دریافتشده در ثانیه ('si')، مقدار مؤثر بیتهای ارسالی در ثانیه ('so')، تعداد برخوردها ('coll')، تعداد بستههای چندپخشی (multicast) دریافتشده ('mlti')، تعداد خطاها هنگام دریافت بسته ('erri')، تعداد خطاها هنگام ارسال بسته ('erro')، تعداد بستههای دریافتی دور ریختهشده ('drpi') و تعداد بستههای ارسالی دور ریختهشده ('drpo') نشان داده میشوند.
اگر عرض صفحه اجازه نمایش تمام این شمارندهها را ندهد، تنها زیرمجموعه مرتبطی نمایش داده میشود.
تعداد خطوط نشاندهنده رابطهای شبکه قابل محدودسازی است. - IFB
- میزان
استفاده از
اینفینیباند
(Infiniband).
به ازای هر درگاه فعال Infiniband یک خط نمایش داده میشود که بر اساس فعالیت مرتب شده است. چنین خطی نام درگاه و درصد مشغول بودن آن را در اولین ستون نشان میدهد. درصد مشغول بودن با گرفتن بالاترین مقدار از بین بیتهای ارسالی یا دریافتی در طول بازه، ضرب آن مقدار در تعداد لاینها (lanes) و مقایسه آن با حداکثر سرعت درگاه تعیین میشود.
علاوه بر این، تعداد بستههای دریافتشده تقسیم بر تعداد لاینها ('pcki')، تعداد بستههای ارسالی تقسیم بر تعداد لاینها ('pcko')، حداکثر سرعت خط ('sp')، مقدار مؤثر بیتهای دریافتشده در ثانیه ('si')، مقدار مؤثر بیتهای ارسالی در ثانیه ('so') و تعداد لاینها ('lanes') نشان داده میشوند.
اگر عرض صفحه اجازه نمایش تمام این شمارندهها را ندهد، تنها زیرمجموعه مرتبطی نمایش داده میشود.
تعداد خطوط نشاندهنده درگاههای Infiniband قابل محدودسازی است.
شرح خروجی - سطح پردازش (OUTPUT DESCRIPTION - PROCESS LEVEL)
به دنبال اطلاعات سطح سیستم، فهرستی از پردازشها در حالت متنی نمایش داده میشود که مصرف منابع آنها در طول آخرین بازه تغییر کرده است. این پردازشها ممکن است از زمان CPU استفاده کرده باشند یا درخواستهای دیسک یا شبکه صادر کرده باشند. با این حال اگر بخشی از یک پردازش به دلیل کمبود حافظه صفحهبندی شده باشد (در حالی که خود پردازش در حالت خواب بوده است)، پردازش نیز نمایش داده میشود.
به ازای هر پردازش فیلدهای زیر ممکن است نمایش داده شوند (به ترتیب الفبایی)، بسته به حالت خروجی جاری همانطور که در بخش دستورات تعاملی توصیف شد و بسته به عرض فعلی پنجره شما:
- AVGRSZ
- میانگین اندازه هر عملیات خواندن روی دیسک.
- AVGWSZ
- میانگین اندازه هر عملیات نوشتن روی دیسک.
- BANDWI
- کل پهنای
باند
مصرفشده
برای
بستههای TCP
و UDP دریافتی
توسط این
پردازش (بیت
در ثانیه).
این مقدار
را میتوان
با مقدار 'si'
در سطح رابط
(پهنای باند
استفادهشده
به ازای هر
رابط)
مقایسه کرد.
این اطلاعات تنها زمانی نمایش داده میشوند که ماژول اختیاری pmdabpf(1) با نام 'netproc' نصب شده باشد. - BANDWO
- کل پهنای
باند
مصرفشده
برای
بستههای TCP
و UDP ارسالی
توسط این
پردازش (بیت
در ثانیه).
این مقدار
را میتوان
با مقدار 'so'
در سطح رابط
(پهنای باند
استفادهشده
به ازای هر
رابط)
مقایسه کرد.
این اطلاعات تنها زمانی نمایش داده میشوند که ماژول اختیاری pmdabpf(1) با نام 'netproc' نصب شده باشد. - BDELAY
- تأخیر تجمعی ورودی/خروجی بلوکی، یعنی زمان انتظار برای ورودی/خروجی دیسک.
- CGROUP
- نام مسیر cgroup (نسخه ۲) که این پردازش به آن تعلق دارد. این نام مسیر نسبت به دایرکتوری ریشه cgroup است که معمولاً '/sys/fs/cgroup' میباشد.
- CID/POD
- شناسه
کانتینر
(مانند Docker یا Podman)
یا نام پاد
(مانند Kubernetes) که
به
کانتینر/پادی
اشاره دارد
که
پردازش/ریسه
در آن در
حال اجراست.
هنگامی که
نام یک پاد
طولانیتر
از ۱۵ نویسه
باشد، تنها
۱۵ نویسه
پایانی
نمایش داده
میشوند.
اگر پردازشی در طول بازه گذشته شروع شده و به پایان رسیده باشد، علامت '?' نمایش داده میشود زیرا شناسه کانتینر یا نام پاد بخشی از رکورد حسابرسی استاندارد پردازش نیست.
این ستون تنها زمانی نمایش داده میشود که atop با امتیازات کاربر ارشد (superuser) اجرا شود و حداقل یک پردازش کانتینری شناسایی گردد.
- CMD
- نام پردازش.
این نام
میتواند
با
علامتهای
«کوچکتر/بزرگتر»
('<name>') احاطه
شده باشد که
بدین
معناست
پردازش در
طول آخرین
بازه پایان
یافته است.
یک رکورد
حسابرسی
واحد برای
کل پردازش
هنگام
پایان
آخرین ریسه
در پردازش
نوشته
میشود.
هنگامی که
ریسه اصلی
خارج
میشود،
نام پردازش
به نام ریسه
تغییر
مییابد.
در پشت اختصار 'CMD' در خط هدر، شماره صفحه فعلی و تعداد کل صفحات فهرست پردازش/ریسه نشان داده میشود. - COMMAND-LINE
- خط فرمان
کامل
پردازش
(شامل
آرگومانها).
اگر طول خط
فرمان از
طول خط صفحه
نمایش
بیشتر
باشد،
کلیدهای
جهتنمای ->
و <-
میتوانند
برای
پیمایش
افقی
استفاده
شوند.
گزینه خط فرمان '-z <regex>' میتواند برای افزودن متغیرهای محیطی منطبق به ابتدای خط فرمان نمایشدادهشده استفاده شود. نحو عبارتهای باقاعده تعمیمیافته POSIX استفاده میشود (به regex(3) مراجعه کنید). هنگامی که یک متغیر محیطی منطبق بیش از حد طولانی باشد (بیش از بافری که باید حاوی خط فرمان باشد)، کوتاه (truncate) خواهد شد.
در پشت عبارت 'COMMAND-LINE' در خط هدر، شماره صفحه فعلی و تعداد کل صفحات فهرست پردازش/ریسه نمایش داده میشود. - CPU
- درصد اشغال این پردازش نسبت به ظرفیت موجود برای این منبع در سطح سیستم.
- CPUNR
- شناسه CPU که ریسه (اصلی) روی آن در حال اجراست یا اخیراً روی آن اجرا میشده است.
- CTID
- شناسه کانتینر (OpenVZ). اگر پردازشی در طول آخرین بازه شروع و خاتمه یافته باشد، '?' نمایش داده میشود زیرا شناسه کانتینر بخشی از رکورد حسابرسی استاندارد پردازش نیست.
- DSK
- درصد اشغال
این پردازش
نسبت به کل
باری که
توسط تمام
پردازشها
ایجاد شده
است (یعنی
کل
دسترسیهای
دیسک توسط
تمام
پردازشها
در طول
آخرین
بازه).
این اطلاعات زمانی نشان داده میشوند که «حسابرسی ذخیرهسازی» (storage accounting) به ازای هر پردازش در هسته فعال باشد. - EGID
- شناسه گروه مؤثر (effective group-id) که این پردازش تحت آن اجرا میشود.
- ENDATE
- تاریخ پایان یافتن پردازش. اگر پردازش هنوز در حال اجرا باشد، این فیلد عبارت 'active' را نشان میدهد.
- ENTIME
- زمان پایان یافتن پردازش. اگر پردازش هنوز در حال اجرا باشد، این فیلد عبارت 'active' را نشان میدهد.
- ENVID
- شناسه محیط مجازی (تنها در OpenVZ).
- EUID
- شناسه کاربر مؤثر (effective user-id) که این پردازش تحت آن اجرا میشود.
- EXC
- کد خروج پردازش پایانیافته (موقعیت دوم ستون 'ST' مقدار E است) یا شماره سیگنال مرگبار (موقعیت دوم ستون 'ST' مقدار S یا C است).
- FSGID
- شناسه گروه سیستم فایل که این پردازش تحت آن اجرا میشود.
- FSUID
- شناسه کاربر سیستم فایل که این پردازش تحت آن اجرا میشود.
- GPU
- هنگامی که
دیمن pmdanvidia با
دسترسی
ریشه اجرا
نشود، درصد
GPU
بازتابدهنده
درصد اشغال
حافظه GPU است
(حافظه تمام
GPUها ۱۰۰٪
است).
هنگامی که دیمن pmdanvidia با دسترسی ریشه اجرا شود، درصد GPU درصد مشغول بودن GPU را نشان میدهد. - GPUBUSY
- درصد مشغول
بودن روی
تمام GPUها (یک GPU
برابر ۱۰۰٪
است).
هنگامی که دیمن pmdanvidia با دسترسی ریشه اجرا نشود، این مقدار در دسترس نیست. - GPUNUMS
- فهرست جداشده با ویرگول از GPUهای استفادهشده توسط پردازش در طول بازه. هنگامی که این فهرست از عرض ستون فراتر رود، یک مقدار هگزادسیمال نمایش داده میشود.
- LOCKSZ
- مقدار مجازی حافظه قفلشده (یعنی غیرقابلمبادله به swap) توسط این پردازش (یا کاربر).
- MAJFLT
- تعداد خطاهای صفحه صادرشده توسط این پردازش که با ایجاد/بارگذاری صفحه حافظه درخواستی برطرف شدهاند (major page faults).
- MEM
- درصد اشغال این پردازش نسبت به ظرفیت موجود برای این منبع در سطح سیستم.
- MEMAVG
- میانگین اشغال حافظه در طول بازه روی تمام GPUهای مورد استفاده.
- MEMBUSY
- درصد مشغول
بودن حافظه
روی تمام
GPUها (یک GPU
برابر ۱۰۰٪
است)، یعنی
زمان مورد
نیاز برای
دسترسیهای
خواندن و
نوشتن روی
حافظه.
هنگامی که دیمن pmdanvidia با دسترسی ریشه اجرا نشود، این مقدار در دسترس نیست. - MEMNOW
- اشغال حافظه در لحظه نمونهبرداری روی تمام GPUهای مورد استفاده.
- MINFLT
- تعداد خطاهای صفحه صادرشده توسط این پردازش که با بازپسگیری صفحه حافظه درخواستی از فهرست صفحات آزاد برطرف شدهاند (minor page faults).
- NET
- درصد اشغال
این پردازش
نسبت به کل
باری که
توسط تمام
پردازشها
ایجاد شده
است (یعنی
پهنای باند
مصرفشده
شبکه توسط
تمام
پردازشها
در طول
آخرین
بازه).
این اطلاعات تنها زمانی نمایش داده میشوند که ماژول اختیاری pmdabpf(1) با نام 'netproc' نصب شده باشد. - NICE
- اولویت نسبتاً ایستایی که میتواند به یک پردازش در مقیاسی از -20 (اولویت بالا) تا +19 (اولویت پایین) داده شود.
- NIVCSW
- تعداد دفعاتی که تعویض زمینه پردازش/ریسه بهصورت غیرداوطلبانه انجام شده است، در صورتی که برش زمانی (time slice) منقضی شده باشد.
- NPROCS
- تعداد پردازشهای فعال و پایانیافته تجمیعشده برای این کاربر یا برنامه.
- NVCSW
- تعداد دفعاتی که تعویض زمینه پردازش/ریسه بهصورت داوطلبانه انجام شده است در صورت یک فراخوانی سیستم مسدودکننده (blocking)، برای مثال به منظور انتظار برای تکمیل یک عملیات ورودی/خروجی.
- PID
- شناسه پردازش (Process-id).
- POLI
- خطمشیهای 'norm' (عادی که همان SCHED_OTHER است)، 'btch' (دستهای یا batch) و 'idle' به پردازشهای تسهیم زمانی اشاره دارند. خطمشیهای 'fifo' (SCHED_FIFO) و 'rr' (نوبتگردشی یا round robin که همان SCHED_RR است) به پردازشهای بیدرنگ (realtime) اشاره دارند.
- PPID
- شناسه پردازش والد (Parent process-id).
- PRI
- اولویت پردازش از ۰ (بالاترین اولویت) تا ۱۳۹ (پایینترین اولویت) متغیر است. اولویتهای ۰ تا ۹۹ برای پردازشهای بیدرنگ (اولویت ثابت مستقل از رفتار آنها) و اولویتهای ۱۰۰ تا ۱۳۹ برای پردازشهای تسهیم زمانی (اولویت متغیر بسته به مصرف اخیر CPU و مقدار nice) استفاده میشوند.
- PSIZE
- اندازه
حافظه
متناسب این
پردازش (یا
کاربر).
هر پردازش حافظه مقیم را با سایر پردازشها به اشتراک میگذارد. برای مثال هنگامی که یک برنامه خاص چندین بار اجرا میشود، صفحات کد (text) تنها یک بار در حافظه بارگذاری شده و توسط همه نمونهها به اشتراک گذاشته میشوند. همچنین کد کتابخانههای اشتراکی توسط تمام پردازشهای استفادهکننده از آن کتابخانه اشتراکی، و نیز حافظه اشتراکی و فایلهای نگاشتشده در حافظه، به اشتراک گذاشته میشوند. برای محاسبه PSIZE یک پردازش، حافظه مقیم پردازش که با سایر پردازشها به اشتراک گذاشته شده است بر تعداد به اشتراکگذارندگان تقسیم میشود. این بدان معناست که برای هر پردازش، سهم متناسبی از آن حافظه محاسبه میشود. تجمیع مقادیر PSIZE تمام پردازشها در سیستم، دیدگاهی قابل اعتماد از کل حافظه مقیم مصرفشده توسط تمام پردازشها ارائه میدهد.
از آنجا که جمعآوری تمام مقادیر مورد نیاز برای محاسبه PSIZE کاری بسیار زمانبر است، کلید 'R' (یا فلگ '-R') باید فعال باشد. گردآوری این مقادیر همچنین نیازمند امتیازات کاربر ارشد است (در غیر این صورت '?K' در خروجی نمایش داده میشود). - RDDSK
- انتقال
داده
خواندن که
بهصورت
فیزیکی روی
دیسک صادر
شده است
(بنابراین
خواندن از
حافظه نهان
دیسک
محاسبه
نمیشود).
متأسفانه هسته هنگام پایان یافتن یک پردازش، انتقال داده آن را به انتقال داده پردازش والد تجمیع میکند؛ بنابراین ممکن است انتقالهایی را برای پردازشهای (والد) مانند cron، bash یا init مشاهده کنید که واقعاً توسط آنها صادر نشدهاند. - RDELAY
- تأخیر صف اجرا (runqueue delay)، یعنی زمان سپریشده در انتظار در یک صف اجرا.
- RGID
- شناسه گروه واقعی (real group-id) که پردازش تحت آن اجرا میشود.
- RGROW
- میزان رشد حافظه مقیم پردازش در طول آخرین بازه. رشد مقیم میتواند ناشی از دسترسی به صفحات حافظهای باشد که پیشتر بهصورت فیزیکی ایجاد/بارگذاری نشده بودند (بارگذاری در صورت تقاضا یا load-on-demand). توجه داشته باشید که رشد مقیم میتواند منفی نیز باشد، برای مثال هنگامی که بخشی از پردازش به دلیل کمبود حافظه صفحهبندی شده و به بیرون رانده شود یا هنگامی که پردازش حافظه تخصیصیافته پویا را آزاد کند. برای پردازشی که در طول آخرین بازه شروع شده است، رشد مقیم کل اندازه مقیم پردازش در آن لحظه را نشان میدهد.
- RNET
- تعداد
بستههای TCP
و UDP
دریافتشده
توسط این
پردازش. این
اطلاعات
تنها زمانی
نمایش داده
میشوند که
ماژول
اختیاری pmdabpf(1)
با نام netatop نصب
شده باشد.
اگر پردازشی در طول آخرین بازه پایان یافته باشد، هیچ مقداری نمایش داده نمیشود زیرا شمارندههای شبکه بخشی از رکورد حسابرسی استاندارد پردازش نیستند. - RSIZE
- کل مصرف حافظه مقیم مصرفشده توسط این پردازش (یا کاربر). توجه داشته باشید که RSIZE یک پردازش شامل تمام حافظه مقیم استفادهشده توسط آن پردازش است، حتی اگر بخشهای خاصی از حافظه با سایر پردازشها به اشتراک گذاشته شده باشند (به توضیح PSIZE نیز مراجعه کنید).
- RTPR
- اولویت بیدرنگ مطابق استاندارد POSIX. این مقدار برای یک پردازش تسهیم زمانی میتواند ۰ باشد (خطمشی 'norm'، 'btch' یا 'idle') یا برای یک پردازش بیدرنگ از ۱ (پایینترین) تا ۹۹ (بالاترین) متغیر باشد (خطمشی 'rr' یا 'fifo').
- RUID
- شناسه کاربر واقعی (real user-id) که پردازش تحت آن اجرا میشود.
- S
- وضعیت جاری ریسه (اصلی): 'R' برای در حال اجرا (در حال پردازش یا در صف اجرا)، 'S' برای خواب با امکان وقفه (در انتظار وقوع یک رویداد)، 'D' برای خواب بدون امکان وقفه، 'Z' برای زامبی (در انتظار همگامسازی با پردازش والد)، 'T' برای متوقفشده (معلق یا در حال ردیابی)، 'W' برای مبادله، و 'E' (خروج) برای پردازشهایی که در طول آخرین بازه خاتمه یافتهاند.
- SGID
- شناسه گروه ذخیرهشده (saved group-id) پردازش.
- SNET
- تعداد بستههای TCP و UDP ارسالشده توسط این پردازش. این اطلاعات تنها زمانی نمایش داده میشوند که ماژول اختیاری pmdabpf(1) با نام netatop نصب شده باشد.
- ST
- وضعیت یک
پردازش.
موقعیت اول نشان میدهد که آیا پردازش در طول آخرین بازه شروع شده است یا خیر (مقدار N به معنای 'پردازش جدید' است).موقعیت دوم نشان میدهد که آیا پردازش در طول آخرین بازه خاتمه یافته است یا خیر.
مقدار E به معنای 'خروج' با تصمیم خود پردازش است؛ کد خروج در ستون 'EXC' نمایش داده میشود.
مقدار S بدین معناست که پردازش بهصورت غیرداوطلبانه توسط یک سیگنال پایان یافته است؛ شماره سیگنال در ستون 'EXC' نمایش داده میشود.
مقدار C بدین معناست که پردازش بهصورت غیرداوطلبانه توسط یک سیگنال متوقف شده و یک core dump در دایرکتوری جاری خود ایجاد کرده است؛ شماره سیگنال در ستون 'EXC' نمایش داده میشود. - STDATE
- تاریخ شروع پردازش.
- STTIME
- زمان شروع پردازش.
- SUID
- شناسه کاربر ذخیرهشده (saved user-id) پردازش.
- SWAPSZ
- فضای مبادله (swap) مصرفشده توسط این پردازش (یا کاربر).
- SYSCPU
- میزان مصرف زمان CPU این پردازش در حالت سیستم (حالت کرنل)، معمولاً ناشی از رسیدگی به فراخوانیهای سیستم.
- TCPRASZ
- میانگین اندازه یک بافر TCP دریافتی به بایت. این اطلاعات تنها زمانی نمایش داده میشوند که ماژول اختیاری pmdabpf(1) با نام netproc فعال باشد.
- TCPRCV
- تعداد فراخوانیهای tcp_recvmsg()/tcp_cleanup_rbuf() از این پردازش. این اطلاعات تنها زمانی نمایش داده میشوند که ماژول اختیاری pmdabpf(1) با نام netproc فعال باشد.
- TCPSASZ
- میانگین اندازه بافر TCP درخواستشده برای ارسال به بایت. این اطلاعات تنها زمانی نمایش داده میشوند که ماژول اختیاری pmdabpf(1) با نام netproc فعال باشد.
- TCPSND
- تعداد فراخوانیهای tcp_sendmsg() از این پردازش. این اطلاعات تنها زمانی نمایش داده میشوند که ماژول اختیاری pmdabpf(1) با نام netproc فعال باشد.
- THR
- تعداد کل ریسهها درون این پردازش. تمام ریسههای مرتبط درون یک گروه ریسه قرار دارند که توسط pcp-atop به عنوان یک خط، یا در صورت فعال بودن کلید 'y' (یا فلگ -y) به صورت خطوط مجزا نمایش داده میشوند.
- TID
- شناسه ریسه (Thread-id). تمام ریسههای درون یک پردازش با PID یکسان اما با TID متفاوت اجرا میشوند. این مقدار برای ریسههای مجزا در پردازشهای چندریسهای (هنگام استفاده از کلید 'y') نمایش داده میشود.
- TIDLE
- تعداد ریسههای درون این پردازش که در حالت 'idle' (I) هستند، یعنی ریسههای خواب بدون امکان وقفه که در میانگین بار (load average) شمرده نمیشوند.
- TRUN
- تعداد ریسههای درون این پردازش که در حالت 'running' (R) هستند.
- TSLPI
- تعداد ریسههای درون این پردازش که در حالت 'interruptible sleeping' (S) هستند.
- TSLPU
- تعداد ریسههای درون این پردازش که در حالت 'uninterruptible sleeping' (D) هستند.
- UDPRASZ
- میانگین اندازه بافر UDP دریافتی به بایت. این اطلاعات تنها زمانی نمایش داده میشوند که ماژول اختیاری pmdabpf(1) با نام netproc فعال باشد.
- UDPRCV
- تعداد فراخوانیهای udp_recvmsg()/skb_consume_udp() از این پردازش. این اطلاعات تنها زمانی نمایش داده میشوند که ماژول اختیاری pmdabpf(1) با نام netproc فعال باشد.
- UDPSASZ
- میانگین اندازه بافر UDP درخواستی برای ارسال به بایت. این اطلاعات تنها زمانی نمایش داده میشوند که ماژول اختیاری pmdabpf(1) با نام netproc فعال باشد.
- UDPSND
- تعداد فراخوانیهای udp_sendmsg() از این پردازش. این اطلاعات تنها زمانی نمایش داده میشوند که ماژول اختیاری pmdabpf(1) با نام netproc فعال باشد.
- USRCPU
- میزان مصرف زمان CPU این پردازش در حالت کاربر، ناشی از پردازش متن برنامه خود.
- VDATA
- اندازه حافظه مجازی دادههای خصوصی استفادهشده توسط این پردازش (شامل heap و دادههای کتابخانههای اشتراکی).
- VGROW
- میزان رشد حافظه مجازی پردازش در طول آخرین بازه. رشد مجازی میتواند برای مثال با فراخوانی malloc() یا پیوست کردن یک بخش حافظه اشتراکی ایجاد شود. توجه داشته باشید که رشد مجازی میتواند با اقداماتی نظیر فراخوانی free() یا جدا کردن بخش حافظه اشتراکی منفی نیز باشد. برای پردازشی که در طول آخرین بازه آغاز شده است، رشد مجازی کل اندازه مجازی پردازش را در آن لحظه نشان میدهد.
- VPID
- شناسه پردازش مجازی (درون یک کانتینر OpenVZ). اگر پردازشی در طول آخرین بازه آغاز شده و به پایان رسیده باشد، '?' نمایش داده میشود زیرا شناسه پردازش مجازی بخشی از رکورد حسابرسی استاندارد پردازش نیست.
- VSIZE
- کل حافظه مجازی مصرفشده توسط این پردازش (یا کاربر).
- VSLIBS
- اندازه حافظه مجازی متن (اشتراکی) تمام کتابخانههای اشتراکی استفادهشده توسط این پردازش.
- VSTACK
- اندازه حافظه مجازی پشته (خصوصی) استفادهشده توسط این پردازش.
- VSTEXT
- اندازه حافظه مجازی متن (اشتراکی) برنامه اجرایی.
- WCHAN
- کانال
انتظار (wait channel)
ریسه در
حالت خواب،
یعنی نام
تابع کرنلی
که ریسه در
آن به خواب
رفته است.
از آنجا که تعیین رشته نام تابع هسته کاری نسبتاً زمانبر است، کلید 'W' (یا فلگ '-W') باید فعال باشد. - WRDSK
- انتقال
داده نوشتن
که بهصورت
فیزیکی روی
دیسک صادر
شده است
(بنابراین
نوشتن روی
کش دیسک
محاسبه
نمیشود).
این
شمارنده
برای
پردازش
برنامهای
نگهداری
میشود که
دادههای
خود را روی
حافظه نهان
مینویسد
(با این فرض
که این
دادهها
بعداً
بهصورت
فیزیکی به
دیسک منتقل
میشوند).
توجه داشته
باشید که
ورودی/خروجی
دیسک مورد
نیاز برای swap
در نظر
گرفته
نمیشود.
متأسفانه هنگامی که یک پردازش پایان مییابد، هسته انتقال داده آن را به انتقال داده پردازش والد تجمیع میکند، بنابراین ممکن است انتقالهایی را برای پردازشهای (والد) مانند cron، bash یا init ببینید که واقعاً توسط آنها انجام نشدهاند. - WCANCL
- انتقال داده نوشتن که پیشتر برای این پردازش یا پردازش دیگری محاسبه شده اما سپس لغو شده است. فرض کنید پردازشی دادههای جدیدی را روی یک فایل مینویسد و آن دادهها پیش از تخلیه بافرهای کش روی دیسک مجدداً حذف میشوند. در این صورت، پردازش اصلی دادههای نوشتهشده را به صورت WRDSK نشان میدهد، در حالی که پردازشی که فایل را حذف/کوتاه میکند دادههای حذفشده تخلیهنشده را به عنوان WCANCL نشان میدهد.
خروجی قابل تجزیه (PARSABLE OUTPUT)
با فلگ -P
به دنبال
فهرستی از
یک یا چند
برچسب
(جداشده با
ویرگول)،
خروجی قابل
تجزیه (parsable)
برای هر
نمونه
تولید
میشود.
برچسبهایی
که میتوان
برای آمار
سطح سیستم
تعیین کرد
با
برچسبهای
(اولین کلمه
هر خط) موجود
در خروجی
تعاملی
مطابقت
دارند: "CPU"،
"cpu"، "CPL"، "GPU"،
"MEM"، "SWP"، "PAG"،
"PSI"، "LVM"، "MDD"،
"DSK"، "NFM"، "NFC"،
"NFS"، "NET"، "IFB"،
"LLC"، "NUM" و "NUC".
برای آمار
سطح پردازش
برچسبهای
ویژهای
معرفی
شدهاند: "PRG"
(عمومی)، "PRC"
(پردازنده)،
"PRE"
(پردازنده
گرافیکی)،
"PRM" (حافظه)،
"PRD" (دیسک،
تنها در
صورتی که
"حسابرسی
ذخیرهسازی"
فعال باشد) و
"PRN" (تنها در
صورتی که
ماژول
اختیاری pmdabpf(1)
با نام netproc نصب
شده باشد).
با برچسب
"ALL"، تمام
آمار سطح
سیستم و سطح
پردازش
نمایش داده
میشوند.
دستور و خط فرمان در خروجی قابل تجزیه ممکن است حاوی فاصله (space) باشند و بنابراین بهطور پیشفرض درون پرانتز قرار میگیرند. با این حال از آنجا که فاصله اغلب توسط ابزارهای تجزیه به عنوان جداکننده میان فیلدها استفاده میشود، با فلگ اضافی -Z میتوان فاصلههای موجود در دستور (یا خط فرمان) را با زیرخط (underscore) جایگزین کرد و پرانتزها را حذف نمود.
برای هر
بازه تمام
خطوط
درخواستشده
نمایش داده
میشوند و
پس از آن pcp-atop
خطی شامل
برچسب "SEP" را
به عنوان
جداکننده
پیش از
تولید خطوط
نمونه بعدی
نمایش
میدهد.
هنگامی که
یک نمونه
حاوی
مقادیر از
زمان
راهاندازی
(boot) باشد، pcp-atop
خطی شامل
برچسب "RESET" را
پیش از
تولید خطوط
برای این
نمونه
نمایش
میدهد.
بخش نخست هر خط خروجی شامل شش فیلد زیر است: label (نام برچسب)، host (نام این ماشین)، epoch (زمان این بازه به صورت تعداد ثانیهها از 1-1-1970)، date (تاریخ این بازه در قالب YYYY/MM/DD)، time (زمان این بازه در قالب HH:MM:SS)، و interval (تعداد ثانیههای سپریشده برای این بازه).
فیلدهای بعدی هر خط خروجی به برچسب بستگی دارد:
- CPU
- فیلدهای بعدی: تعداد کل تیکهای ساعت در ثانیه برای این ماشین، تعداد پردازندهها، مصرف تمام CPUها در حالت سیستم (تیکهای ساعت)، مصرف تمام CPUها در حالت کاربر (تیکهای ساعت)، مصرف تمام CPUها در حالت کاربر برای پردازشهای دارای nice (تیکهای ساعت)، مصرف تمام CPUها در حالت بیکار (تیکهای ساعت)، مصرف تمام CPUها در حالت انتظار (تیکهای ساعت)، مصرف تمام CPUها در حالت وقفه (تیکهای ساعت)، مصرف تمام CPUها در حالت وقفه نرمافزاری (تیکهای ساعت)، مصرف تمام CPUها در حالت سرقت (تیکهای ساعت)، مصرف تمام CPUها در حالت مهمان (تیکهای ساعت) همپوشان با حالت کاربر، بسامد تمام CPUها و درصد بسامد تمام CPUها.
- cpu
- فیلدهای بعدی: تعداد کل تیکهای ساعت در ثانیه برای این ماشین، شماره پردازنده، مصرف این CPU در حالت سیستم (تیکهای ساعت)، مصرف این CPU در حالت کاربر (تیکهای ساعت)، مصرف این CPU در حالت کاربر برای پردازشهای دارای nice (تیکهای ساعت)، مصرف این CPU در حالت بیکار (تیکهای ساعت)، مصرف این CPU در حالت انتظار (تیکهای ساعت)، مصرف این CPU در حالت وقفه (تیکهای ساعت)، مصرف این CPU در حالت وقفه نرمافزاری (تیکهای ساعت)، مصرف این CPU در حالت سرقت (تیکهای ساعت)، مصرف این CPU در حالت مهمان (تیکهای ساعت) همپوشان با حالت کاربر، بسامد تمام CPUها، درصد بسامد تمام CPUها، دستورالعملهای اجراشده توسط تمام CPUها و چرخهها برای تمام CPUها.
- CPL
- فیلدهای بعدی: تعداد پردازندهها، میانگین بار برای آخرین یک دقیقه، میانگین بار برای پنج دقیقه گذشته، میانگین بار برای پانزده دقیقه گذشته، تعداد تعویضهای زمینه، و تعداد وقفههای دستگاه.
- GPU
- فیلدهای بعدی: شماره GPU، رشته شناسه گذرگاه (bus-id)، رشته نوع GPU، درصد مشغول بودن GPU در طول ثانیه گذشته (در صورت عدم دسترسی -1)، درصد مشغول بودن حافظه در طول ثانیه گذشته (در صورت عدم دسترسی -1)، اندازه کل حافظه (KiB)، حافظه استفادهشده (KiB) در این لحظه، تعداد نمونههای گرفتهشده در طول بازه، درصد مشغول بودن تجمعی GPU در طول بازه (برای میانگین درصد مشغول بودن بر تعداد نمونهها تقسیم شود، در صورت عدم دسترسی -1)، درصد مشغول بودن تجمعی حافظه در طول بازه (برای میانگین درصد مشغول بودن بر تعداد نمونهها تقسیم شود، در صورت عدم دسترسی -1)، و اشغال تجمعی حافظه در طول بازه (برای میانگین اشغال بر تعداد نمونهها تقسیم شود).
- MEM
- فیلدهای بعدی: اندازه صفحه برای این ماشین (به بایت)، اندازه حافظه فیزیکی (صفحات)، اندازه حافظه آزاد (صفحات)، اندازه حافظه نهان صفحه (صفحات)، اندازه کش بافر (صفحات)، اندازه اسلب (صفحات)، صفحات کثیف در کش (صفحات)، بخش قابل آزادسازی اسلب (صفحات)، کل اندازه صفحات بالون vmware (صفحات)، کل اندازه حافظه اشتراکی (صفحات)، اندازه حافظه اشتراکی مقیم (صفحات)، اندازه حافظه اشتراکی مبادلهشده (صفحات)، اندازه صفحات بزرگ کوچکتر (به بایت)، اندازه کل صفحات بزرگ کوچکتر (صفحات بزرگ)، اندازه صفحات بزرگ کوچکتر آزاد (صفحات بزرگ)، اندازه ARC (کش) ZFSonlinux (صفحات)، اندازه صفحات اشتراکگذاری برای KSM (صفحات)، اندازه صفحات اشتراکی برای KSM (صفحات)، اندازه حافظه مورد استفاده برای سوکتهای TCP (صفحات)، اندازه حافظه مورد استفاده برای سوکتهای UDP (صفحات)، اندازه جداول صفحه (صفحات)، اندازه صفحات بزرگ بزرگتر (به بایت)، اندازه کل صفحات بزرگ بزرگتر (صفحات بزرگ)، اندازه صفحات بزرگ بزرگتر آزاد (صفحات بزرگ)، اندازه حافظه در دسترس (صفحات) برای بارهای کاری جدید بدون نیاز به مبادله، و اندازه صفحات بزرگ شفاف ناشناس (صفحات 'عادی').
- SWP
- فیلدهای بعدی: اندازه صفحه برای این ماشین (به بایت)، اندازه فضای مبادله (صفحات)، اندازه فضای مبادله آزاد (صفحات)، اندازه کش مبادله (صفحات)، اندازه فضای متعهدشده (صفحات)، سقف مجاز برای فضای متعهدشده (صفحات)، اندازه کش مبادله (صفحات)، اندازه واقعی (غیرفشرده) صفحات ذخیرهشده در zswap (صفحات)، و اندازه فضای ذخیرهسازی فشرده مورد استفاده برای zswap (صفحات).
- LLC
- فیلدهای بعدی: شناسه LLC، درصد استفاده از LLC، کل پهنای باند حافظه این LLC (به بایت)، و پهنای باند حافظه در گره محلی NUMA این LLC (به بایت).
- PAG
- فیلدهای بعدی: اندازه صفحه برای این ماشین (به بایت)، تعداد پویشهای صفحه، تعداد توقفهای تخصیص (allocstalls)، ۰ (برای استفادههای آینده)، تعداد مبادله به داخل (swapins)، تعداد مبادله به خارج (swapouts)، تعداد کشتنهای OOM (در صورت عدم وجود شمارنده -1)، تعداد توقفهای پردازش برای اجرای فشردهسازی حافظه، تعداد صفحات با موفقیت مهاجرتدادهشده در مجموع، تعداد صفحات مهاجرتیافته NUMA، تعداد صفحات خواندهشده از دستگاههای بلوکی، تعداد صفحات نوشتهشده روی دستگاههای بلوکی، تعداد مبادله به داخل از zswap، و تعداد مبادله به خارج به zswap.
- PSI
- فیلدهای بعدی: وجود آمار PSI در این سیستم (y یا n)، CPU some avg10، CPU some avg60، CPU some avg300، میکروثانیههای تجمعی فشار جزئی CPU در طول بازه، memory some avg10، memory some avg60، memory some avg300، میکروثانیههای تجمعی فشار جزئی حافظه در طول بازه، memory full avg10، memory full avg60، memory full avg300، میکروثانیههای تجمعی فشار کامل حافظه در طول بازه، I/O some avg10، I/O some avg60، I/O some avg300، میکروثانیههای تجمعی فشار جزئی I/O در طول بازه، I/O full avg10، I/O full avg60، I/O full avg300، و میکروثانیههای تجمعی فشار کامل I/O در طول بازه.
- LVM/MDD/DSK
- برای هر حجم
منطقی/چند
دستگاهی/دیسک
سخت یک خط
نمایش داده
میشود.
فیلدهای بعدی: نام، تعداد میلیثانیههای صرفشده برای I/O، تعداد درخواستهای خواندن صادرشده، تعداد بخشهای (sectors) انتقالیافته برای خواندن، تعداد درخواستهای نوشتن صادرشده، تعداد بخشهای انتقالیافته برای نوشتن، تعداد درخواستهای دور ریختن صادرشده (در صورت عدم پشتیبانی -1)، تعداد بخشهای انتقالیافته برای دور ریختن، تعداد درخواستهای در حال حاضر در حال انجام (تکمیلنشده)، و میانگین عمق صف در مدت مشغول بودن دیسک. - NFM
- فیلدهای بعدی: سیستم فایل متصلشده NFS، کل تعداد بایتهای خواندهشده، کل تعداد بایتهای نوشتهشده، تعداد بایتهای خواندهشده با فراخوانیهای سیستم عادی، تعداد بایتهای نوشتهشده با فراخوانیهای سیستم عادی، تعداد بایتهای خواندهشده با direct I/O، تعداد بایتهای نوشتهشده با direct I/O، تعداد صفحات خواندهشده با I/O نگاشت حافظه، و تعداد صفحات نوشتهشده با I/O نگاشت حافظه.
- NFC
- فیلدهای بعدی: تعداد RPCهای ارسالشده، تعداد RPCهای خواندن ارسالشده، تعداد RPCهای نوشتن ارسالشده، تعداد بازترسیمهای RPC، و تعداد تازهسازیهای مجوز.
- NFS
- فیلدهای بعدی: تعداد RPCهای رسیدگیشده، تعداد RPCهای خواندن دریافتشده، تعداد RPCهای نوشتن دریافتشده، تعداد بایتهای خواندهشده توسط کلاینتها، تعداد بایتهای نوشتهشده توسط کلاینتها، تعداد RPCها با قالب نامعتبر، تعداد RPCها با احراز هویت نامعتبر، تعداد RPCها از کلاینتهای نامعتبر، تعداد کل درخواستهای شبکه رسیدگیشده، تعداد درخواستهای شبکه رسیدگیشده از طریق TCP، تعداد درخواستهای شبکه رسیدگیشده از طریق UDP، تعداد اتصالات TCP رسیدگیشده، تعداد برخوردها در کش پاسخ، تعداد عدم برخوردها در کش پاسخ، و تعداد درخواستهای کشنشده.
- NET
- ابتدا یک خط
برای
لایههای
بالایی
پشته TCP/IP
تولید
میشود.
فیلدهای بعدی: کلمه "upper"، تعداد بستههای دریافتشده توسط TCP، تعداد بستههای ارسالی توسط TCP، تعداد بستههای دریافتشده توسط UDP، تعداد بستههای ارسالی توسط UDP، تعداد بستههای دریافتشده توسط IP، تعداد بستههای ارسالی توسط IP، تعداد بستههای تحویلدادهشده به لایههای بالاتر توسط IP، تعداد بستههای هدایتشده توسط IP، تعداد خطاهای ورودی (UDP)، تعداد خطاهای noport (در UDP)، تعداد باز شدنهای فعال (TCP)، تعداد باز شدنهای غیرفعال (TCP)، تعداد باز شدنهای غیرفعال (TCP)، تعداد ارتباطات برقرارشده در این لحظه (TCP)، تعداد قطعات بازترسیمشده (TCP)، تعداد خطاهای ورودی (TCP)، تعداد بازنشانیهای خروجی (TCP)، و تعداد خطاهای چکسام در بستههای دریافتی (TCP).سپس یک خط برای هر رابط نمایش داده میشود.
فیلدهای بعدی: نام رابط، تعداد بستههای دریافتشده توسط رابط، تعداد بایتهای دریافتشده توسط رابط، تعداد بستههای ارسالی توسط رابط، تعداد بایتهای ارسالی توسط رابط، سرعت رابط، و حالت دوبلکس (0=نیمهدوطرفه، 1=تمامدوطرفه). - IFB
- فیلدهای بعدی: نام رابط InfiniBand، شماره درگاه، تعداد لاینها، حداکثر نرخ (Mbps)، تعداد بایتهای دریافتشده، تعداد بایتهای ارسالی، تعداد بستههای دریافتشده، و تعداد بستههای ارسالی.
- NUM
- فیلدهای بعدی: شماره گره NUMA، اندازه صفحه برای این ماشین (به بایت)، درصد قطعهقطعهشدگی این گره، اندازه حافظه فیزیکی (صفحات)، اندازه حافظه آزاد (صفحات)، حافظه اخیراً استفادهشده (فعال) (صفحات)، حافظه کمتر استفادهشده (غیرفعال) (صفحات)، اندازه دادههای فایل کششده (صفحات)، صفحات کثیف در کش (صفحات)، حافظه اسلب مورد استفاده برای تخصیصهای هسته (صفحات)، حافظه اسلب قابل بازپسگیری (صفحات)، حافظه اشتراکی شامل tmpfs (صفحات)، کل صفحات بزرگ (صفحات بزرگ)، و صفحات بزرگ آزاد (صفحات بزرگ).
- NUC
- فیلدهای بعدی: شماره گره NUMA، تعداد پردازندهها برای این گره، مصرف CPUهای گره در حالت سیستم (تیکهای ساعت)، مصرف CPUهای گره در حالت کاربر (تیکهای ساعت)، مصرف CPUهای گره در حالت کاربر برای پردازشهای دارای nice (تیکهای ساعت)، مصرف CPUهای گره در حالت بیکار (تیکهای ساعت)، مصرف CPUهای گره در حالت انتظار (تیکهای ساعت)، مصرف CPUهای گره در حالت وقفه (تیکهای ساعت)، مصرف CPUهای گره در حالت وقفه نرمافزاری (تیکهای ساعت)، مصرف CPUهای گره در حالت سرقت (تیکهای ساعت)، و مصرف CPUهای گره در حالت مهمان (تیکهای ساعت) همپوشان با حالت کاربر.
- PRG
- به ازای هر
پردازش یک
خط نمایش
داده
میشود.
فیلدهای بعدی: PID (شناسه یکتای تسک)، نام (بین پرانتز یا با زیرخط به جای فاصلهها)، وضعیت، uid واقعی، gid واقعی، TGID (شماره گروه تسکها/ریسههای مرتبط)، کل تعداد ریسهها، کد خروج (در صورت سیگنال مرگبار: شماره سیگنال + ۲۵۶)، زمان شروع (epoch)، خط فرمان کامل (بین پرانتز یا با زیرخط به جای فاصلهها)، PPID، تعداد ریسهها در حالت 'running' (R)، تعداد ریسهها در حالت 'interruptible sleeping' (S)، تعداد ریسهها در حالت 'uninterruptible sleeping' (D)، uid مؤثر، gid مؤثر، uid ذخیرهشده، gid ذخیرهشده، uid سیستم فایل، gid سیستم فایل، زمان سپریشده پردازش خاتمهیافته (هرتز)، is_process (y/n)، شناسه پردازش مجازی OpenVZ (VPID)، شناسه کانتینر OpenVZ (CTID)، نام کانتینر/پاد (CID/POD)، نشانهای از شروع تازه تسک در طول این بازه ('N')، نام مسیر cgroup v2 (بین پرانتز یا با زیرخط به جای فاصلهها)، زمان پایان (epoch، یا در صورت فعال بودن ۰)، و تعداد ریسهها در حالت 'idle' (I). - PRC
- به ازای هر
پردازش یک
خط نمایش
داده
میشود.
فیلدهای بعدی: PID، نام (بین پرانتز یا با زیرخط به جای فاصلهها)، وضعیت، تعداد کل تیکهای ساعت در ثانیه برای این ماشین، مصرف CPU در حالت کاربر (تیکهای ساعت)، مصرف CPU در حالت سیستم (تیکهای ساعت)، مقدار nice، اولویت، اولویت بیدرنگ، خطمشی زمانبندی، CPU فعلی، میانگین خواب، TGID (شماره گروه تسکها/ریسههای مرتبط)، is_process (y/n)، تأخیر صف اجرا بر حسب نانوثانیه برای این ریسه یا تمام ریسهها (در صورت پردازش بودن)، کانال انتظار این ریسه (بین پرانتز یا با زیرخط به جای فاصلهها)، تأخیر ورودی/خروجی بلوکی (تیکهای ساعت)، تعداد تعویضهای زمینه داوطلبانه، و تعداد تعویضهای زمینه غیرداوطلبانه. - PRE
- به ازای هر
پردازش یک
خط نمایش
داده
میشود.
فیلدهای بعدی: PID، نام (بین پرانتز یا با زیرخط به جای فاصلهها)، وضعیت پردازش، وضعیت GPU (مقدار A برای فعال، E برای خارجشده، N برای عدم استفاده از GPU)، تعداد GPUهای استفادهشده توسط این پردازش، لیست بیتی نشاندهنده GPUهای مورد استفاده، درصد مشغول بودن GPU در طول بازه، درصد مشغول بودن حافظه در طول بازه، اشغال حافظه (KiB) در این لحظه، اشغال تجمعی حافظه (KiB) در طول بازه، و تعداد نمونههای گرفتهشده در طول بازه. - PRM
- به ازای هر
پردازش یک
خط نمایش
داده
میشود.
فیلدهای بعدی: PID، نام (بین پرانتز یا با زیرخط به جای فاصلهها)، وضعیت، اندازه صفحه برای این ماشین (به بایت)، اندازه حافظه مجازی (کیلوبایت)، اندازه حافظه مقیم (کیلوبایت)، اندازه حافظه متن اشتراکی (کیلوبایت)، رشد حافظه مجازی (کیلوبایت)، رشد حافظه مقیم (کیلوبایت)، تعداد خطاهای جزئی صفحه، تعداد خطاهای کلی صفحه، اندازه اجرایی کتابخانه مجازی (کیلوبایت)، اندازه داده مجازی (کیلوبایت)، اندازه پشته مجازی (کیلوبایت)، فضای مبادله استفادهشده (کیلوبایت)، TGID (شماره گروه تسکها/ریسههای مرتبط)، is_process (y/n)، اندازه مجموعه متناسب (کیلوبایت) در صورت تعیین گزینه 'R'، و فضای حافظه مجازی قفلشده (کیلوبایت). - PRD
- به ازای هر
پردازش یک
خط نمایش
داده
میشود.
فیلدهای بعدی: PID، نام (بین پرانتز یا با زیرخط به جای فاصلهها)، وضعیت، پچ هسته منسوخشده نصب شده ('n')، آمار io استاندارد استفاده شده ('y' یا 'n')، تعداد خواندنها روی دیسک، تعداد تجمعی بخشهای خواندهشده، تعداد نوشتنها روی دیسک، تعداد تجمعی بخشهای نوشتهشده، تعداد لغوشده بخشهای نوشتهشده، TGID (شماره گروه تسکها/ریسههای مرتبط)، مقدار منسوخشده ('n')، و is_process (y/n). - PRN
- به ازای هر
پردازش یک
خط نمایش
داده
میشود.
فیلدهای بعدی: PID، نام (بین پرانتز یا با زیرخط به جای فاصلهها)، وضعیت، ماژول pmdabpf(1) با نام 'netproc' بارگذاری شده ('y' یا 'n')، تعداد فراخوانیهای tcp_sendmsg()، اندازه تجمعی بافرهای TCP درخواستی برای ارسال، تعداد فراخوانیهای tcp_recvmsg()/tcp_cleanup_rbuf()، اندازه تجمعی بافرهای TCP دریافتشده، تعداد فراخوانیهای udp_sendmsg()، اندازه تجمعی بافرهای UDP درخواستی برای ارسال، تعداد فراخوانیهای udp_recvmsg()/skb_consume_udp()، اندازه تجمعی بافرهای UDP ارسالی، تعداد بستههای خام ارسالی (منسوخ، همیشه ۰)، تعداد بستههای خام دریافتشده (منسوخ، همیشه ۰)، TGID (شماره گروه تسکها/ریسههای مرتبط) و is_process (y/n).
سیگنالها (SIGNALS)
با ارسال سیگنال SIGUSR1 به pcp-atop یک نمونهبرداری جدید تحمیل میشود، حتی اگر بازه زمانی تایمر فعلی هنوز سپری نشده باشد. این رفتار مشابه فشردن کلید 't' در یک نشست تعاملی است.
با ارسال سیگنال SIGUSR2 به pcp-atop یک نمونهبرداری نهایی تحمیل میشود و پس از آن pcp-atop خاتمه مییابد.
مثالها (EXAMPLES)
برای پایش بار جاری سیستم بهصورت تعاملی با بازه زمانی (پیشفرض) ۱۰ ثانیه:
- pcp atop
برای پایش بار سیستم به صورت نمودارهای میلهای با بازه زمانی ۵ ثانیه:
- pcp atop -B 5
ذخیره اطلاعات مربوط به فعالیت سیستم و پردازشها در یک آرشیو PCP با بازه زمانی ده دقیقه در طول یک ساعت:
- pcp atop -w /tmp/pcp-atop 600 6
مشاهده محتوای این فایل بهصورت تعاملی:
pcp atop -r /tmp/pcp-atop
مشاهده میزان استفاده از پردازنده و دیسک در این فایل در قالب قابل تجزیه:
pcp atop -PCPU,DSK -r /tmp/pcp-atop
مشاهده محتوای فایل لاگ استاندارد امروز بهصورت تعاملی:
pcp atop -r
مشاهده محتوای فایل لاگ استاندارد پریروز بهصورت تعاملی:
pcp atop -r yy
مشاهده محتوای فایل لاگ استاندارد ۷ ژوئن ۲۰۲۳ از ساعت ۱۴:۰۰ به بعد بهصورت تعاملی:
pcp atop -r 20230607 -b 14:00
برای پایش بار سیستم و نوشتن آن در یک فایل (با متن ساده ASCII) با بازه زمانی یک دقیقه در طول نیم ساعت همراه با مرتبسازی پردازشهای فعال بر اساس مصرف حافظه:
- pcp atop -M 60 30 > /log/pcp-atop.mem
نکات (NOTES)
pcp-atop بر اساس کد منبع دستور atop(1) از https://atoptool.nl توسعه یافته است که توسط Gerlof Langeveld (gerlof.langeveld@atoptool.nl) نگهداری میشود، و هدف آن سازگاری حداکثری با آن در خط فرمان و خروجی است.
برخی قابلیتهای pcp-atop (مانند گزارشدهی درباره دیمن Apache HTTP، اینفینیباند، اشغال آخرین سطح حافظه نهان، اتصالات کلاینت NFS، شمارش رویدادهای سختافزاری، آمار GPU و آمار TCP و UDP به ازای هر پردازش) تنها در صورتی فعال میشوند که معیارهای متناظر PCP در دسترس باشند. برای جزئیات بیشتر در مورد فعالسازی این معیارها به مستندات pmdaapache(1)، pmdabpf(1)، pmdainfiniband(1)، pmdanfsclient(1)، pmdanvidia(1)، pmdaperfevent(1) و pmdaresctrl(1) مراجعه کنید. هنگامی که pcp-atop در حالت ضبط (-w) اجرا میشود، در pmdapmimport(1) ثبتنام میکند تا pcp(1) بتواند مسیر آرشیو، نسخه و زیرسیستمهای فعال آن را گزارش دهد.
معناشناسی آمار شبکه به ازای هر پردازش اندکی با ابزار atop(1) تفاوت دارد: به جای تعداد بستههای TCP/UDP ارسال/دریافتشده (که ممکن است به دلیل تخلیه بخشبندی TCP نادرست باشد)، pcp-atop تعداد فراخوانیهای هسته tcp_sendmsg()/udp_sendmsg()/etc. را به ازای هر پردازش نشان میدهد.
فایلها (FILES)
- /etc/atoprc
- فایل پیکربندی حاوی مقادیر پیشفرض در سطح سیستم. برای اطلاعات بیشتر درباره مقادیر پیشفرض، به صفحه راهنمای pcp-atoprc(5) مراجعه کنید.
- ~/.atoprc
- فایل پیکربندی حاوی مقادیر پیشفرض شخصی. برای اطلاعات بیشتر درباره مقادیر پیشفرض، به صفحه راهنمای pcp-atoprc(5) مراجعه کنید.
محیط PCP (PCP ENVIRONMENT)
متغیرهای محیطی با پیشوند PCP_ برای پارامترسازی نام فایلها و دایرکتوریهای مورد استفاده توسط PCP به کار میروند. در هر نصب، فایل /etc/pcp.conf حاوی مقادیر محلی برای این متغیرها است. متغیر $PCP_CONF ممکن است برای تعیین یک فایل پیکربندی جایگزین استفاده شود، همانطور که در pcp.conf(5) توصیف شده است.
برای متغیرهای محیطی مؤثر بر ابزارهای PCP، به pmGetOptions(3) مراجعه کنید.
گزینههای اشکالزدایی (DEBUGGING OPTIONS)
گزینه -D یا --debug در pcp خروجی عیبیابی اضافی را روی stderr برای کمک به بررسی مشکلات فعال میکند، اگرچه اطلاعات گاهی مبهم هستند و در درجه اول برای راهنمایی توسعهدهندگان به جای کاربران نهایی در نظر گرفته شدهاند. debug فهرستی جداشده با ویرگول از گزینههای اشکالزدایی است؛ از pmdbg(1) به همراه گزینه -l برای به دست آوردن فهرستی از گزینههای اشکالزدایی موجود و معانی آنها استفاده کنید.
گزینههای اشکالزدایی مختص به pcp-atop به شرح زیر هستند:
| گزینه | توضیحات |
| appl0 | عیبیابی عمومی |
| appl1 | بازیابیهای معیار و دامنه نمونه |
همچنین ببینید (SEE ALSO)
PCPIntro(1)، pcp(1)، pcp-atopsar(1)، pmdaapache(1)، pmdabpf(1)، pmdainfiniband(1)، pmdanfsclient(1)، pmdanvidia(1)، pmdaperfevent(1)، pmdapmimport(1), pmdaproc(1)، pmdaresctrl(1)، mkaf(1)، pmlogger(1)، pmlogger_daily(1) و pcp-atoprc(5).
| PCP | Performance Co-Pilot |