| ATOP(1) | General Commands Manual | ATOP(1) |
نام (NAME)
atop - پایشگر پیشرفته سامانه و فرآیندها
خلاصه دستور (SYNOPSIS)
اندازهگیری زنده در حالت نمودار میلهای:
- atop -B[H] [-t [absdir]] [interval [samples]]
اندازهگیری زنده سیگروپها در حالت متنی:
- atop -G [-t [absdir]] [-2|-3|-4|-5|-6|-7|-8|-9] [-a] [-C|-M|-D|-A] [interval [samples]]
اندازهگیری زنده فرآیندها در حالت متنی:
- atop [-t [absdir]] [-g|-m|-d|-n|-u|-p|-s|-c|-v|-o|-y|-Y] [-C|-M|-D|-N|-A] [-fFX1xR] [interval [samples]]
تولید زنده خروجی قابل تجزیه (فاصلهبندیشده با نویسه خالی یا JSON):
- atop [-Plabel[,label]... [-Z]] [-Jlabel[,label]...] [interval [samples]]
نوشتن فایلهای گزارش خام:
- atop -w rawfile [-a] [-S] [interval [samples]]
تحلیل فایلهای گزارش خام در حالت نمودار میلهای:
- atop -B[H] -r [rawfile|yyy...] [-b [YYYYMMDD]hhmm[ss]] [-e [YYYYMMDD]hhmm[ss]]
تحلیل سیگروپها از فایلهای گزارش خام در حالت متنی:
- atop -G [-2|-3|-4|-5|-6|-7|-8|-9] [-a] -r [rawfile|yyy...] [-b [YYYYMMDD]hhmm[ss]] [-e [YYYYMMDD]hhmm[ss]]
تحلیل فرآیندها از فایلهای گزارش خام در حالت متنی:
- atop -r [rawfile|yyy...] [-b [YYYYMMDD]hhmm[ss]] [-e [YYYYMMDD]hhmm[ss]] [-g|-m|-d|-n|-u|-p|-s|-c|-v|-o|-y|-Y] [-C|-M|-D|-N|-A] [-fFX1xR]
تولید خروجی قابل تجزیه از فایلهای گزارش خام (فاصلهبندیشده با نویسه خالی یا JSON):
- atop -r [rawfile|yyy...] [-b [YYYYMMDD]hhmm[ss]] [-e [YYYYMMDD]hhmm[ss]] [-Plabel[,label]... [-Z]] [-Jlabel[,label]...]
توضیحات (DESCRIPTION)
برنامه atop یک پایشگر تعاملی برای مشاهده بار کاری در یک سامانه لینوکس است. هر interval ثانیه (پیشفرض: ۱۰ ثانیه) اطلاعاتی درباره اشغال منابع در سطح سامانه (پردازندهها، حافظه، دیسکها و رابطهای شبکه) و در سطح سیگروپ (نسخه ۲) جمعآوری میشود. علاوه بر این، اطلاعاتی درباره فرآیندها و رشتههایی که مسئول استفاده از پردازندهها، حافظه و دیسکها هستند جمعآوری میگردد. بار شبکه به ازای هر فرآیند فقط زمانی نمایش داده میشود که ماژول هسته netatop یا ماژول BPF به نام netatop-bpf نصب شده باشد.
حالت دوقلو (TWIN MODE)
با استفاده از گزینه -t میتوانید atop را به صورت تعاملی در «حالت دوقلو» (twin mode) اجرا کنید. این حالت امکان اجرای یک اندازهگیری زنده را همراه با قابلیت بازبینی و تحلیل نمونههای قبلی فراهم میسازد؛ در حالی که در همین حین، اندازهگیری زنده ادامه دارد.
هنگامی که برنامه در حالت دوقلو آغاز میشود، atop یک فرآیند فرزند ایجاد میکند که شمارندهها را جمعآوری کرده و آنها را در یک فایل خام موقت مینویسد. فرآیند والد شمارندهها را از این فایل خام موقت خوانده و به کاربر نمایش میدهد. سرعت خواندن فرآیند والد همگام با نمونههای نوشتهشده توسط فرآیند فرزند برای اندازهگیریهای زنده حفظ میشود.
در حالی که جمعآوری اطلاعات توسط فرآیند فرزند ادامه دارد، با فشردن کلیدهای 'r'، 'b' یا 'T' میتوان نمونههای قبلی را بازبینی کرد. فرآیند والد با فشردن هر یک از این کلیدها به طور ضمنی، یا با فشردن کلید 'z' (مکث) به صورت صریح، اندازهگیری زنده را متوقف میکند.
پس از مرور نمونههای قبلی با کلیدهای 't' (نمونه بعدی)، 'T' (نمونه قبلی)، 'r' (بازنشانی به ابتدای اندازهگیری)، 'Z' (حرکت سریع به انتهای اندازهگیری) و 'b' (پرش به برچسب زمانی)، میتوان با فشردن کلید 'z' (ادامه پس از مکث)، اندازهگیری زنده را ادامه داد.
فایل خام موقت به طور پیشفرض در دایرکتوری /tmp نوشته خواهد شد. به صورت اختیاری میتوان نام مسیر مطلق یک دایرکتوری جایگزین را بعد از گزینه -t مشخص کرد (برای نمونه زمانی که فضای کافی در دایرکتوری /tmp وجود ندارد). در هر صورت، فرآیند والد پس از اتمام اندازهگیری، فرآیند فرزند را خاتمه داده و فایل خام موقت حذف خواهد شد.
حالت نمودار میلهای (BAR GRAPH MODE)
هنگام
اجرای atop
میتوانید
بار کاری
سامانه را
در حالت
نمودار
میلهای یا
در حالت
متنی
مشاهده
کنید. در
حالت
نمودار
میلهای،
میزان
استفاده از
منابع
پردازندهها،
حافظه،
دیسکها و
رابطهای
شبکه از
طریق
نمودارهای
میلهای
(مبتنی بر
نویسه)
نمایش داده
میشود،
اما فقط در
سطح سامانه.
هرگاه مایل
به مشاهده
اطلاعات با
جزئیات
بیشتر در
سطح سامانه
باشید یا
بخواهید
مصرف منابع
را در سطح
فرآیند یا
رشته
مشاهده
کنید،
میتوانید
با فشردن
کلید 'B' به
حالت متنی
جابهجا
شوید. به
همین
ترتیب،
میتوانید
از کلید 'B'
(دوباره)
برای
جابهجایی
از حالت
متنی به
حالت
نمودار
میلهای
استفاده
نمایید.
به طور
پیشفرض، atop
در حالت
متنی شروع
به کار
میکند مگر
اینکه از
گزینه -B
استفاده
شده باشد یا
اینکه 'B' به
عنوان یک
گزینه
پیشفرض در
فایل .atoprc
پیکربندی
شده باشد
(برای
اطلاعات
بیشتر
درباره
گزینههای
پیشفرض،
به صفحه
راهنمای atoprc
مراجعه
فرمایید).
در حالت نمودار میلهای، پایانه به چهار پنجره مبتنی بر نویسه تقسیم میشود، یعنی یک پنجره برای هر منبع سختافزاری:
- پردازندهها
- اولین
میله،
میانگین
درصد
مشغولی
تمام
پردازندهها
را با برچسب
میله 'Avg' (که
ممکن است به
'Av' یا حتی فقط
'A' خلاصه شود)
نمایش
میدهد.
میلههای
بعدی درصد
مشغولی
تکتک
پردازندهها
را نشان
میدهند.
هنگامی که فضای افقی کافی برای نمایش تمام پردازندهها وجود نداشته باشد، تنها شلوغترین پردازندهها در هر نمونه پس از کاهش عرض هر میله به حداقل ممکن نمایش داده میشوند.به طور پیشفرض، دستهبندیهای مصرف پردازنده با رنگهای مختلف در میلهها نشان داده میشوند که با نویسههای 'S' (حالت سامانه)، 'U' (حالت کاربر)، 'I' (مدیریت وقفه)، 's' (دزدی/steal) و 'G' (مهمان، یعنی مصرفشده توسط ماشینهای مجازی) مشخص شدهاند.
قسمت بالای میله ممکن است شامل یک رنگ بدون نشانه باشد که بیانگر یک دسته «خنثی» است. فرض کنید واحد مقیاس ۵٪ در هر خط باشد و کل درصد مشغولی ۵۴٪ متشکل از دو دسته ۲۷٪ باشد. این دو دسته به ۲۵٪ گرد میشوند (۵ خط ۵ درصدی برای هر کدام) اما کل درصد مشغولی به ۵۵٪ گرد خواهد شد (۱۱ خط ۵ درصدی). در این صورت، خط بالایی یک دسته «خنثی» را نمایش میدهد.
با فشردن کلید 'H' یا با شروع atop همراه با گزینه '-H'، هیچ دستهبندی خاصی نمایش داده نمیشود.یک خط قرمز به عنوان آستانه بحرانی در نمودار میلهای رسم میشود. به طور پیشفرض این مقدار ۹۰٪ است و میتواند با گزینه 'cpucritperc' در فایل پیکربندی تغییر یابد (صفحه راهنمای جداگانه atoprc را ببینید). وقتی این مقدار روی صفر تنظیم شود، هیچ خط آستانهای رسم نخواهد شد.
- حافظه و فضای سواپ
- حافظه به
عنوان
ستونی
ارائه
میشود که
در آن
دستهبندیهای
خاص مصرف
حافظه نشان
داده شده
است. این
دستهبندیها
عبارتند از:
فرآیندها/هسته
(کد، داده و
پشته)،
حافظههای
موقت اسلب
(یعنی حافظه
پویای
تخصیصیافته
به هسته)،
حافظه
اشتراکی،
tmpfs، صفحات
بزرگ
ایستا،
حافظه نهان
صفحه و
حافظه آزاد.
در سمت چپ ستون حافظه، یک خط عمودی سبز نشاندهنده حافظهای است که برای تخصیص به ازای هر دسته بدون ایجاد سواپ یا بازپسگیری سنگین، در دسترس (قابل بازپسگیری) است. این یک تفکیک دستهبندیشده از مقدار حافظه در دسترس است که به عنوان 'avail' در خط MEM حالت متنی نمایش داده میشود.فضای سواپ (در صورت وجود) به عنوان ستون دیگری نمایش داده میشود که در آن دستهبندیهای فرآیندها/tmpfs، حافظه اشتراکی و فضای آزاد نشان داده شدهاند.
در سمت راست، شمارندههای رویداد مربوط به حافظه نشان داده میشوند.
سه شمارنده پایینی در زمانی که فشار حافظه وجود ندارد به رنگ سبز هستند. هنگامی که فعالیت قابل توجهی مشاهده شود، چنین شمارندهای ممکن است به رنگ نارنجی و با فعالیت بالا به رنگ قرمز درآید.
هنگامی که فشار حافظه آغاز میشود، معمولاً ابتدا پویش صفحات حافظه فعال خواهد شد. با افزایش فشار، ممکن است صفحات حافظه فرآیندها به فضای سواپ (در صورت وجود) منتقل شوند.
شمارنده 'oomkills' (کشتن به دلیل اتمام حافظه - Out Of Memory killing) جدیترین مورد است: این شمارنده تعداد فرآیندهایی را منعکس میکند که به دلیل کمبود حافظه (و سواپ) کشته شدهاند. بنابراین این شمارنده تعداد مطلق (نه در هر ثانیه) فرآیندهای کشتهشده در طول آخرین بازه را نشان میدهد و هرگاه مقدار آن ۱ یا بیشتر باشد بلافاصله به رنگ قرمز درمیآید. علاوه بر این، پس از آنکه atop وقوع رویداد OOM killing را متوجه شد، شمارنده 'oomkills' برای ۱۵ دقیقه بعدی به رنگ نارنجی باقی میماند، فقط برای این که اگر خود رویداد OOM killing را از دست داده باشید مطلع شوید.
هنگامی که فضای عمودی کافی در پنجره حافظه وجود داشته باشد، شمارندههای رویداد مربوط به تعداد صفحات حافظه مبادلهشده به داخل (swapped in)، تعداد صفحات حافظه صفحهبندیشده به دستگاههای بلوکی و تعداد صفحات حافظه صفحهبندیشده به داخل از دستگاههای بلوکی نمایش داده میشوند.مصرف حافظه و فضای سواپ ترجیحاً در یک پنجره مبتنی بر نویسه نشان داده میشود که به صورت عمودی از کل صفحه برای دقت و دانهبندی بهینه استفاده میکند. با این حال، هنگامی که تعداد زیادی دیسک و/یا رابط شبکه وجود داشته باشد، مصرف حافظه و فضای سواپ در پنجرهای مبتنی بر نویسه نمایش داده میشود که تنها از نیمه بالایی صفحه استفاده میکند.
- دیسکها
- برای هر
دیسک، درصد
مشغولی به
صورت یک
میله نمایش
داده
میشود.
هنگامی که فضای افقی کافی برای نمایش تمام دیسکها وجود نداشته باشد، تنها پرکارترین دیسکها در هر نمونه نشان داده میشوند.به طور پیشفرض، دستههای مصرف دیسک با رنگهای مختلف در میلهها نشان داده میشوند که با نویسههای 'R' (خواندن) و 'W' (نوشتن) علامتگذاری شدهاند.
قسمت بالای میله ممکن است شامل یک رنگ بدون نشانه باشد که بیانگر یک دسته «خنثی» است. فرض کنید واحد مقیاس ۵٪ در هر خط باشد و کل درصد مشغولی ۵۴٪ متشکل از دو دسته ۲۷٪ باشد. این دو دسته به ۲۵٪ گرد میشوند (۵ خط ۵ درصدی برای هر کدام)، اما کل درصد مشغولی به ۵۵٪ گرد خواهد شد (۱۱ خط ۵ درصدی). در این صورت خط بالایی یک دسته «خنثی» را نمایش خواهد داد.
با فشردن کلید 'H' یا با راهاندازی atop با گزینه '-H'، هیچ دستهبندی نمایش داده نمیشود.یک خط قرمز به عنوان آستانه بحرانی در نمودار میلهای کشیده میشود. به طور پیشفرض این مقدار ۹۰٪ است و میتواند توسط گزینه 'dskcritperc' در فایل پیکربندی تغییر داده شود (صفحه راهنمای جداگانه atoprc را ببینید). هنگامی که این مقدار روی صفر تنظیم شود، هیچ خط آستانهای رسم نخواهد شد.
- رابطها
- برای هر
رابط شبکه
غیرمجازی،
یک نمودار
میلهای
دوگانه با
یک مقیاس
اختصاصی که
نرخ ترافیک
را بازتاب
میدهد
نمایش داده
میشود. یکی
از میلهها
نرخ ارسال ('TX')
و میله دیگر
نرخ دریافت
('RX') را نشان
میدهد.
مقیاس
ترافیک هر
رابط شبکه
در
بالاترین
سطح خود
باقی
میماند.
کلیه
مقیاسهای
رابطها را
میتوان در
حین
اندازهگیری
با فشردن
کلید 'L'
بازنشانی
کرد.
در بیشتر اوقات، سرعت واقعی (بیشینه پهنای باند) رابطهای شبکه مشخص نیست، برای نمونه در مورد رابطهای شبکه ماشینهای مجازی. بنابراین نمایش میزان بهرهبرداری از رابط به صورت درصد ممکن نیست. با این حال، هنگامی که سرعت واقعی یک رابط مشخص باشد، در زیر نمودار میلهای مربوطه نمایش داده خواهد شد.
هنگامی که فضای افقی کافی برای نمایش تمام رابطهای شبکه وجود نداشته باشد، تنها شلوغترین رابطها در هر نمونه نمایش داده میشوند.
معمولاً اگر فضای افقی کافی وجود داشته باشد، نمودارهای میلهای بر اساس درصد مشغولی مرتب نمیشوند. با این حال، پس از جابهجایی از حالت متنی به حالت نمودار میلهای، ممکن است نمودارهای میلهای مرتب شده باشند زیرا این کار برای ارائه در حالت متنی مورد نیاز بوده است. بازه بعدی در حالت نمودار میلهای، میلهها را مجدداً نامرتب نشان میدهد مگر اینکه عرض پنجره برای تمام میلهها ناکافی باشد.
برای
منابع
پردازنده،
دیسک و
حافظه،
همچنین یک
نمودار با
دو میله
نشان داده
میشود که
مقادیر PSI
مربوط به 'some' (S)
و 'full' (F) را
بازتاب
میدهد.
درصد 'some' (S) مدت
زمانی را
نشان
میدهد که
در آن
دستکم
برخی از
وظایف روی
یک منبع
معین متوقف
(stalled) شده بودند.
درصد 'full' (F)
بیانگر مدت
زمانی است
که در آن
تمام وظایف
غیربیکار
به طور
همزمان
روی این
منبع متوقف
شده بودند،
که تأثیر
شدیدی بر
عملکرد
داشته است.
برای برخی
از
توزیعهای
لینوکس
ممکن است
پشتیبانی
از PSI به طور
پیشفرض
غیرفعال
باشد. در این
حالت لازم
است psi=1 را در
خط فرمان
هسته هنگام
بوت ارسال
کنید.
بخشهای باقیمانده این صفحه راهنما عمدتاً اطلاعات نشاندادهشده در حالت متنی را توصیف میکنند. هنگامی که توضیحات خاصی برای حالت نمودار میلهای نیز صدق کند، به طور صریح ذکر خواهد شد.
کلیات حالت متنی (TEXT MODE IN GENERAL)
در هر بازه زمانی، اطلاعاتی درباره اشغال منابع در سطح سامانه (پردازنده، حافظه، دیسکها و لایههای شبکه) در بخش بالایی صفحه نشان داده میشود. هنگامی که یک منبع در طول بازه زمانی بلااستفاده مانده باشد، خط مربوطه پنهان میشود مگر اینکه کلید 'f' فعال باشد.
در بخش
پایینی
صفحه،
اطلاعات
سطح
سیگروپ
(کلید 'G') یا
سطح فرآیند
(کلیدهای 'g'،
'c'، 's'، 'm'، 'd'، 'n'، 'v'، 'u'
یا 'p') نمایش
داده
میشود. به
طور
پیشفرض،
تنها
سیگروپهایی
نشان داده
میشوند که
فرآیندی به
خود
سیگروپ یا
سیگروپهای
زیر آن
تخصیص
نیافته
باشد، مگر
اینکه کلید
'a' (همه) فعال
باشد. به طور
پیشفرض،
فقط
فرآیندهایی
نشان داده
میشوند که
در طول بازه
فعال
بودهاند،
مگر اینکه
کلید 'a' (همه)
فعال باشد.
بازهها تا
زمانی
تکرار
میشوند که
تعداد samples
(مشخصشده
به عنوان
آرگومان
دستور)
تکمیل شود،
یا کلید 'q' در
حالت
تعاملی
فشرده شود.
هنگامی که atop شروع به کار میکند، بررسی مینماید که آیا کانال خروجی استاندارد به یک صفحه نمایش متصل است یا به یک فایل/پایپ. در حالت نخست، کدهای کنترلی صفحه را (از طریق کتابخانه ncurses) تولید کرده و به صورت تعاملی رفتار میکند. در حالت دوم، خروجی متنی ساده تولید میکند.
در حالت
تعاملی،
خروجی atop به
صورت پویا
با ابعاد
فعلی
صفحه/پنجره
مقیاسبندی
میشود.
اگر اندازه
پنجره به
صورت افقی
تغییر کند،
ستونها به
طور خودکار
اضافه یا
حذف خواهند
شد. برای این
منظور، هر
ستون دارای
وزن خاصی
است.
ستونهای
دارای
بیشترین
وزن که در
عرض فعلی
جای
میگیرند
نشان داده
خواهند شد.
اگر پنجره
به صورت
عمودی
تغییر
اندازه
دهد، خطوط
فهرست
فرآیندها/رشتهها
به طور
خودکار
افزوده یا
کاسته
میشوند.
در حالت
تعاملی،
خروجی atop را
میتوان با
فشردن
کلیدهای
معینی
کنترل نمود.
با این
وجود،
امکان مشخص
کردن چنین
کلیدی به
عنوان یک
گزینه در
خط فرمان
نیز وجود
دارد. در این
حالت atop از
قبل به حالت
مشخصشده
جابهجا
میشود. این
حالت را
میتوان
مجدداً به
صورت
تعاملی
تغییر داد.
مشخص کردن
چنین کلیدی
به عنوان
گزینه
بهویژه
هنگام
اجرای atop با
هدایت
خروجی به یک
لوله (pipe) یا
فایل
(غیرتعاملی)
مفید است.
این
گزینهها
مشابه
کلیدهایی
هستند که
میتوان در
حالت
تعاملی
فشرد (بخش
دستورات
تعاملی (INTERACTIVE COMMANDS)
را ببینید).
گزینههای
اضافی
دیگری برای
پشتیبانی
از
ذخیرهسازی
دادههای atop
در قالب خام
در دسترس
است (بخش
ذخیرهسازی
دادههای
خام (RAW DATA STORAGE) را
ببینید).
به طور پیشفرض، atop خروجی خود را به صورت تمامصفحه تولید میکند مگر اینکه گزینهای برای هدایت خروجی به یک گزارش خام (-w) یا هدایت خروجی به خروجی قابل تجزیه (-P) یا JSON (-J) ارسال شده باشد. با این حال تولید خروجی تمامصفحه در شرایطی که خروجی به شیوه دیگری نیز هدایت میشود امکانپذیر است. در این حالت گزینهای که به خروجی تمامصفحه مربوط است (مانند -g) باید به صورت صریح در خط فرمان ارسال شود.
خط وضعیت در صفحه نخست نشان میدهد که آیا atop با دید محدود (به عنوان کاربر غیرممتاز) اجرا میشود یا دید نامحدود (به عنوان کاربر ممتاز). در صورت وجود دید محدود، atop از امتیازات لازم (نه هویت ریشه و نه قابلیتهای مورد نیاز) برای بازیابی مقادیر همه شمارندهها در سطح سامانه و در سطح فرآیند برخوردار نیست.
حسابرسی فرآیندها (PROCESS ACCOUNTING)
در هر بازه زمانی، atop مدیریت هسته را میخواند تا اطلاعاتی درباره همه فرآیندهای در حال اجرا به دست آورد. با این حال، محتمل است که فرآیندهایی در طول این بازه زمانی خاتمه یافته باشند. این فرآیندها ممکن است پیش از خاتمه یافتن، منابعی از سامانه را در طول این بازه مصرف کرده باشند. بنابراین، atop تلاش میکند رکوردهای حسابرسی فرآیند را که حاوی اطلاعات محاسباتی فرآیندهای خاتمهیافته هستند بخواند و این فرآیندها را نیز گزارش دهد. تنها زمانی که سازوکار حسابرسی فرآیند در هسته فعال باشد، هسته برای هر فرآیندی که خاتمه مییابد چنین رکورد حسابرسی فرآیندی را در یک فایل مینویسد.
روشهای گوناگونی برای atop جهت دسترسی به رکوردهای حسابرسی فرآیند وجود دارد (که به این ترتیب آزموده میشوند):
- 1.
- هنگامی که
متغیر
محیطی ATOPACCT
تنظیم شده
باشد، نام
فایل
حسابرسی
فرآیند را
مشخص
میکند. در
این صورت،
حسابرسی
فرآیند
برای این
فایل باید
از قبل فعال
شده باشد.
پیش از باز
کردن این
فایل برای
خواندن، atop
امتیازات
ریشه خود را
(در صورت
وجود) رها
میکند.
هنگامی که این متغیر محیطی وجود داشته باشد اما محتوای آن خالی باشد، به هیچ وجه از حسابرسی فرآیند استفاده نخواهد شد. - 2.
- این روش،
راهکار
ترجیحی
برای
مدیریت
رکوردهای
حسابرسی
فرآیند
است!
هنگامی که دیمن atopacctd فعال است، سازوکار حسابرسی فرآیند را در هسته فعال کرده و رکوردهای حسابرسی اصلی را به فایلهای سایه منتقل مینماید. در این حالت، atop امتیازات ریشه خود را رها کرده و فایل سایه فعلی را برای خواندن باز میکند.
این روش ترجیح داده میشود، زیرا دیمن atopacctd کنترل کاملی بر اندازه فایل اصلی حسابرسی فرآیند نوشتهشده توسط هسته و فایلهای سایه خواندهشده توسط فرآیند(های) atop دارد.سرویس atopacct پیش از سرویس atop فعال خواهد شد تا به atop امکان دهد تشخیص دهد که حسابرسی فرآیند توسط دیمن atopacctd مدیریت میشود. به عنوان یک سرویس انشعابی (forking)، دیمن atopacctd اطمینان حاصل میکند که تمام دایرکتوریها و فایلها پیش از پایان یافتن فرآیند والد مقداردهی اولیه شوند. فرآیند فرزند به عنوان فرآیند دیمن به کار ادامه میدهد.
برای اطلاعات بیشتر، به صفحه راهنمای atopacctd مراجعه نمایید.
- 3.
- هنگامی که دیمن atopacctd فعال نیست، atop بررسی میکند که آیا سازوکار حسابرسی فرآیند از طریق بستههای جداگانه psacct یا acct فعال شده است یا خیر (نام بسته به توزیع لینوکس بستگی دارد). در این حالت، یکی از فایلهای /var/log/pacct، /var/account/pacct یا /var/log/account/pacct به عنوان فایل حسابرسی فرآیند مورد استفاده قرار میگیرد و atop این فایل را برای خواندن باز میکند.
- 4.
- به عنوان
آخرین
احتمال،
خودِ atop
تلاش
میکند تا
سازوکار
حسابرسی
فرآیند را
(نیازمند
امتیازات
ریشه) با
استفاده از
فایل /var/cache/atop.d/atop.acct
فعال نماید
(تا توسط
هسته نوشته
شده و توسط
خود atop
خوانده
شود).
حسابرسی
فرآیند تا
زمانی که
حداقل یک
فرآیند atop
زنده باشد
فعال باقی
میماند. هر
زمان که
آخرین
فرآیند atop
متوقف شود
(خواه با
فشردن 'q' یا
با 'kill -15')،
سازوکار
حسابرسی
فرآیند را
دوباره
غیرفعال
میکند.
بنابراین
هرگز نباید
atop را با 'kill -9'
خاتمه
دهید، زیرا
در این صورت
فرصتی برای
توقف
حسابرسی
فرآیند
نخواهد
داشت. در
نتیجه،
فایل
حسابرسی
ممکن است پس
از مدتی
فضای زیادی
از دیسک را
مصرف کند.
برای جلوگیری از اینکه فایل حسابرسی فرآیند فضای بسیار زیادی از دیسک را مصرف کند، atop در پایان هر نمونه بررسی میکند که آیا اندازه فایل حسابرسی فرآیند از ۲۰۰ مبیبایت تجاوز میکند و آیا این فرآیند atop تنها فرآیندی است که در حال حاضر از این فایل استفاده میکند یا خیر. در این حالت، فایل به اندازه صفر کاهش مییابد (خالی میشود).توجه داشته باشید که برای فعال/غیرفعال کردن حسابرسی فرآیند در هسته، به امتیازات ریشه نیاز است. میتوانید atop را به عنوان یک کاربر ریشه اجرا کنید یا امتیازات setuid-root را برای فایل اجرایی مشخص نمایید. در حالت دوم، atop حسابرسی فرآیند را روشن کرده و مجدداً امتیازات ریشه را رها میسازد.
اگر atop با امتیازات ریشه اجرا نشود، اطلاعات مربوط به فرآیندهای پایانیافته را نشان نمیدهد. این وضعیت را با پیام 'no procacct' در گوشه بالا سمت راست نمایش میدهد (به جای شمارندهای که تعداد فرآیندهای خارجشده را نشان میدهد).
هنگامی که در طول یک بازه فرآیندهای زیادی پایان یافته باشند، ممکن است هنگام خواندن تمام رکوردهای حسابرسی فرآیند در پایان بازه زمانی، حافظه atop به طور فوقالعادهای رشد کند. برای جلوگیری از چنین رشد بیش از حدی، atop هرگز بیش از ۵۰ مبیبایت اطلاعات فرآیند را از فایل حسابرسی فرآیند در هر بازه زمانی نخواهد خواند (تقریباً ۵۴۰۰۰ فرآیند پایانیافته). در حالت تعاملی، هرگاه فرآیندهایی به این دلیل نادیده گرفته شوند، هشداری داده میشود.
رنگها (COLORS)
برای مصرف
منابع در
سطح
سامانه، atop
در حالت
متنی از
رنگها
استفاده
میکند تا
نشان دهد یک
درصد اشغال
بحرانی
(تقریباً)
فرا رسیده
است. درصد
اشغال
بحرانی
بدین
معناست که
این بار
کاری به
احتمال
زیاد تأثیر
منفی
محسوسی بر
کارایی
برنامههایی
که از این
منبع
استفاده
میکنند
خواهد
گذاشت. درصد
بحرانی به
نوع منبع
بستگی دارد:
برای
نمونه،
تأثیر
کارایی
دیسکی با
درصد
مشغولی ۸۰٪
ممکن است
برای
برنامهها/کاربران
محسوستر
از
پردازندهای
با درصد
مشغولی ۹۰٪
باشد.
در حال حاضر
atop از
مقادیر
پیشفرض
زیر برای
محاسبه یک
درصد
وزندار به
ازای هر
منبع
استفاده
میکند:
- پردازنده
- درصد مشغولی ۹۰٪ یا بالاتر «بحرانی» در نظر گرفته میشود (همچنین در حالت نمودار میلهای).
- دیسک
- درصد مشغولی ۹۰٪ یا بالاتر «بحرانی» در نظر گرفته میشود.
- شبکه
- درصد مشغولی ۹۰٪ یا بالاتر برای بار یک رابط شبکه «بحرانی» در نظر گرفته میشود.
- حافظه
- درصد اشغال
۹۰٪
«بحرانی»
در نظر
گرفته
میشود.
توجه داشته
باشید که
این درصد
اشغال،
مجموع مصرف
حافظه هسته
(شامل اسلب)
و تمام
فرآیندها
است. حافظه
مربوط به
حافظه نهان
صفحه ('cache' و 'buff' در
خط MEM) و بخش
قابل
بازپسگیری
اسلب ('slrec')
شامل آن
نمیشود!
اگر تعداد صفحات مبادلهشده به خارج ('swout' در خط PAG) بیش از ۱۰ صفحه در ثانیه باشد، منبع حافظه «بحرانی» در نظر گرفته میشود. مقداری حداقل برابر با ۱ صفحه در ثانیه «نزدیک به بحرانی» تلقی میشود.
اگر حافظه مجازی متعهدشده از حد مجاز فراتر رود ('vmcom' و 'vmlim' در خط SWP)، خط SWP به دلیل تعهد بیش از حد سامانه رنگی میشود. - سواپ
- درصد اشغال ۸۰٪ «بحرانی» در نظر گرفته میشود زیرا ممکن است فضای سواپ در آینده نزدیک به طور کامل تمام شود. این موضوع از نقطه نظر کارایی بحرانی نیست.
این مقادیر پیشفرض را میتوان در فایل پیکربندی تغییر داد (صفحه راهنمای جداگانه atoprc را ببینید).
هنگامی که
یک منبع از
درصد اشغال
بحرانی خود
فراتر رود،
مقادیر
مربوطه در
خط صفحه
نمایش به
طور
پیشفرض به
رنگ قرمز
درمیآیند.
هنگامی که
یک منبع (به
طور
پیشفرض) از
۸۰٪ درصد
بحرانی خود
فراتر رود
(بنابراین
وضعیت
نزدیک به
بحرانی
است)،
مقادیر
مربوطه در
خط صفحه به
طور
پیشفرض به
رنگ
فیروزهای
درمیآیند.
این «درصد
نزدیک به
بحرانی» (یک
مقدار برای
تمام منابع)
را نیز
میتوان در
فایل
پیکربندی
تغییر داد
(صفحه
راهنمای
جداگانه atoprc
را ببینید).
رنگهای
پیشفرض
قرمز و
فیروزهای
را نیز
میتوان در
فایل
پیکربندی
تغییر داد
(صفحه
راهنمای
جداگانه atoprc
را ببینید).
با فشردن کلید 'x' (یا گزینه -x)، میتوان استفاده از رنگها را در حالت متنی متوقف کرد. با این حال استفاده از رنگها در حالت نمودار میلهای الزامی است.
ماژول NETATOP یا NETATOP-BPF (NETATOP OR NETATOP-BPF MODULE)
فعالیت
شبکه به
ازای هر
فرآیند و هر
رشته
میتواند
توسط ماژول
هسته netatop یا
ماژول BPF به
نام netatop-bpf که
میتوانند
به طور
جداگانه
نصب شوند،
اندازهگیری
گردد.
هنگامی که atop
با گزینه '-K'
راهاندازی
شده باشد،
بررسی
میکند که
آیا ماژول
netatop یا netatop-bpf در
حال حاضر
فعال است یا
خیر. اگر
چنین باشد،
atop
شمارندههای
شبکه
مربوطه را
برای هر
بازه از این
ماژول به
دست
میآورد و
تعداد
بستههای
ارسالی و
دریافتی را
به ازای هر
فرآیند/رشته
در صفحه
عمومی
نمایش
میدهد.
علاوه بر
این،
شمارندههای
تفصیلی را
میتوان با
فشردن کلید
'n' درخواست
کرد.
هنگامی که
دیمن netatopd در
ترکیب با
ماژول netatop در
حال اجرا
باشد، atop
شمارندههای
شبکه
فرآیندهای
پایانیافته
را نیز که
توسط این
دیمن ثبت
شدهاند
میخواند
(قابل
مقایسه با
حسابرسی
فرآیندها).
اطلاعات بیشتر درباره ماژول هسته اختیاری netatop و دیمن netatopd را میتوان در صفحات راهنمای مربوطه و در وبسایتی که در انتهای این صفحه راهنما ذکر شده است پیدا کرد.
جمعآوری آمار پردازنده گرافیکی (GPU STATISTICS GATHERING)
آمار پردازنده گرافیکی (GPU) میتواند توسط atopgpud که یک فرآیند دیمن جداگانه برای جمعآوری دادهها است گردآوری شود. این دیمن شمارندههای بهرهبرداری تجمعی هر پردازنده گرافیکی انویدیا (Nvidia) در سامانه، و همچنین شمارندههای بهرهبرداری هر فرآیندی که از یک GPU انویدیا استفاده میکند را جمعآوری مینماید. هنگامی که atop با گزینه '-k' راهاندازی شده باشد، این شمارندههای بهرهبرداری GPU را در هر بازه زمانی که دیمن فعال است میخواند.
دیمن atopgpud به زبان پایتون نوشته شده است، بنابراین یک مفسر پایتون باید روی سامانه مقصد نصب شده باشد. برای جمعآوری آمار، ماژول pynvml توسط دیمن استفاده میشود. قبل از فعالسازی دیمن اطمینان حاصل کنید که این ماژول با اجرای دستور pip به عنوان کاربر ریشه روی سامانه مقصد نصب شده باشد:
pip install nvidia-ml-py
دیمن atopgpud به طور پیشفرض به عنوان بخشی از بسته atop نصب میشود، اما به صورت خودکار فعال نمیشود. اکنون دیمن میتواند با اجرای دستورات زیر (به عنوان ریشه) فعال و آغاز شود:
systemctl enable atopgpu
systemctl start atopgpu
توضیحات مربوط به شمارندههای بهرهبرداری را در بخش شرح خروجی (OUTPUT DESCRIPTION) بیابید.
دستورات تعاملی (INTERACTIVE COMMANDS)
هنگام اجرای تعاملی atop (بدون تغییر مسیر خروجی)، میتوانید با فشردن کلیدها خروجی را کنترل کنید. برخی کلیدها برای نمایش اطلاعات دیگر (ستونهای دیگر) برای فرایندهای فعال به کار میروند. برخی از این کلیدها را میتوان برای جابهجایی مستقیم از حالت نمودار میلهای به اطلاعات تفصیلی فرایندها در حالت متنی نیز استفاده کرد. کلیدهای دیگر برای تغییر ترتیب مرتبسازی فهرست فرایندها/رشتههای فعال به کار میروند (کلیدهای 'C'، 'M'، 'D'، 'N'، 'E' یا 'O').
- g
- نمایش
خروجی
عمومی
(پیشفرض).
به ازای هر فرایند، در صورت عرض پنجره معادل ۸۰ موقعیت، فیلدهای زیر نمایش داده میشوند: شناسه فرایند (process-id)، مصرف پردازنده (CPU) در طول آخرین بازه در حالت سیستم و کاربر، رشد حافظه مجازی و مقیم فرایند.
انتقال داده به ازای هر فرایند برای خواندن/نوشتن روی دیسک فقط زمانی قابل نمایش است که atop با دسترسیهای کاربر ریشه (root) اجرا شود.
هنگامی که ماژول اختیاری netatop یا netatop-bpf بارگذاری شده باشد، میزان انتقال داده برای ارسال/دریافت بستههای شبکه به ازای هر فرایند نمایش داده میشود.
ستونهای آخر شامل وضعیت، درصد اشغال منبع انتخابشده (پیشفرض: CPU) و نام فرایند هستند.هنگامی که بیش از ۸۰ موقعیت در دسترس باشد، اطلاعات دیگری افزوده میشود.
- m
- نمایش
خروجی
مربوط به
حافظه.
به ازای هر فرایند، در صورت عرض پنجره معادل ۸۰ موقعیت، فیلدهای زیر نمایش داده میشوند: شناسه فرایند، خطاهای حافظه جزئی (minor) و عمده (major)، اندازه متن مشترک مجازی، کل حجم مجازی فرایند، کل حجم مقیم فرایند، رشد حافظه مجازی و مقیم در طول آخرین بازه، درصد اشغال حافظه و نام فرایند.
هنگامی که بیش از ۸۰ موقعیت در دسترس باشد، اطلاعات دیگری افزوده میشود.
برای مصرف حافظه، همیشه تمام فرایندها نمایش داده میشوند (حتی فرایندهایی که در طول بازه فعال نبودهاند).
- d
- نمایش
خروجی
مربوط به
دیسک.
هنگامی که atop با دسترسیهای ریشه اجرا شود، فیلدهای زیر نمایش داده میشوند: شناسه فرایند، حجم دادههای خواندهشده از دیسک، حجم دادههای نوشتهشده روی دیسک، حجم دادههایی که نوشته شده بودند اما دوباره لغو شدهاند (WCANCL)، درصد اشغال دیسک و نام فرایند.
- n
- نمایش
خروجی
مربوط به
شبکه.
به ازای هر فرایند، در صورت عرض پنجره معادل ۸۰ موقعیت، فیلدهای زیر نمایش داده میشوند: شناسه فرایند، شناسه رشته (thread-id)، کل پهنای باند برای بستههای دریافتی، کل پهنای باند برای بستههای ارسالی، تعداد بستههای TCP دریافتی به همراه میانگین اندازه به ازای هر بسته (به بایت)، تعداد بستههای TCP ارسالی به همراه میانگین اندازه به ازای هر بسته (به بایت)، تعداد بستههای UDP دریافتی به همراه میانگین اندازه به ازای هر بسته (به بایت)، تعداد بستههای UDP ارسالی به همراه میانگین اندازه به ازای هر بسته (به بایت)، درصد اشغال شبکه و نام فرایند.
این اطلاعات تنها زمانی قابل نمایش هستند که ماژول اختیاری netatop یا netatop-bpf نصب شده باشد.هنگامی که بیش از ۸۰ موقعیت در دسترس باشد، اطلاعات دیگری افزوده میشود.
- s
- نمایش
ویژگیهای
زمانبندی.
به ازای هر فرایند، در صورت عرض پنجره معادل ۸۰ موقعیت، فیلدهای زیر نمایش داده میشوند: شناسه فرایند، تعداد رشتهها در وضعیت «در حال اجرا» (R)، تعداد رشتهها در وضعیت «خواب وقفهپذیر» (S)، تعداد رشتهها در وضعیت «خواب وقفهناپذیر» (D)، تعداد رشتهها در وضعیت «بیکار» (I)، خطمشی زمانبندی (اشتراک زمانی معمولی، بیدرنگ نوبتگردشی، بیدرنگ fifo)، مقدار nice، اولویت، اولویت بیدرنگ، پردازنده جاری، وضعیت، کد خروج، حالت، درصد اشغال برای منبع انتخابشده و نام فرایند.
هنگامی که بیش از ۸۰ موقعیت در دسترس باشد، اطلاعات دیگری افزوده میشود.
- v
- نمایش
ویژگیهای
گوناگون
فرایند.
به ازای هر فرایند، در صورت عرض پنجره معادل ۸۰ موقعیت، فیلدهای زیر نمایش داده میشوند: شناسه فرایند، نام کاربر و گروه، تاریخ و زمان شروع، وضعیت (مانند کد خروج در صورت خاتمه فرایند)، حالت، درصد اشغال برای منبع انتخابشده و نام فرایند.
هنگامی که بیش از ۸۰ موقعیت در دسترس باشد، اطلاعات دیگری افزوده میشود.
- c
- نمایش خط
فرمان
فرایند.
به ازای هر فرایند، فیلدهای زیر نمایش داده میشوند: شناسه فرایند، درصد اشغال برای منبع انتخابشده و خط فرمان به همراه آرگومانها.
- G
- نمایش
اطلاعات cgroup v2.
نمایش ساختار سلسلهمراتبی cgroupها و معیارهای مربوطه. به صورت اختیاری، فرایندهای تخصیصیافته به هر cgroup نیز قابل نمایش هستند. با کلیدها/فلگهای '2' تا '7' عمق سطح cgroupها قابل انتخاب است ('7' پیشفرض است). با کلید/فلگ '8' فرایندهای فعال تخصیصیافته نیز نمایش داده میشوند، به جز فرایندهای هسته (که معمولاً در cgroup ریشه قرار دارند). با کلید/فلگ '9' تمام فرایندهای فعال، از جمله فرایندهای هسته نمایش داده میشوند.
با کلید/فلگ 'a' (تغییر وضعیت) به جای فقط cgroupها و فرایندهای فعال، تمام cgroupها و تمام فرایندها نمایش داده میشوند. یک cgroup زمانی غیرفعال در نظر گرفته میشود که هیچ فرایندی به آن cgroup یا cgroupهای زیرمجموعه آن تخصیص نیافته باشد.
با کلید/فلگ 'C' خروجی بر اساس مصرف پردازنده، با کلید/فلگ 'M' بر اساس مصرف حافظه و با کلید/فلگ 'D' بر اساس مصرف دیسک مرتب میشود.
- e
- نمایش
میزان
استفاده از
پردازنده
گرافیکی (GPU).
به ازای هر فرایند دستکم فیلدهای زیر نمایش داده میشوند: شناسه فرایند، محدوده شمارههای GPU که فرایند در حال حاضر روی آنها اجرا میشود، درصد مشغول بودن GPU در تمام GPUها، درصد مشغول بودن حافظه (یعنی دسترسیهای خواندن و نوشتن روی حافظه) در تمام GPUها، اشغال حافظه در لحظه نمونهبرداری، میانگین اشغال حافظه در طول نمونهبرداری، و درصد GPU.
- o
- نمایش سطر
سفارشیسازیشده
توسط کاربر
در فهرست
فرایندها.
در فایل پیکربندی، کلیدواژه ownprocline میتواند همراه با توصیف یک سطر خروجی تعریفشده توسط کاربر مشخص شود.
برای توضیحات تفصیلی به صفحه راهنمای atoprc مراجعه کنید. - y
- نمایش
رشتههای
منفرد درون
یک فرایند
(تغییر
وضعیت).
فرایندهای تکرشتهای همچنان به صورت یک سطر نمایش داده میشوند.
برای فرایندهای چندرشتهای، یک سطر نشاندهنده فرایند است در حالی که سطرهای اضافی فعالیت هر رشته منفرد را (با رنگی متفاوت) نشان میدهند. بسته به گزینه 'a' (تغییر وضعیت همه یا فعال)، تمام رشتهها یا فقط رشتههایی که در طول آخرین بازه فعال بودهاند نمایش داده میشوند. بسته به گزینه 'Y' (مرتبسازی رشتهها)، رشتههای هر فرایند بر اساس معیار مرتبسازی انتخابشده مرتب میشوند یا خیر.
فعال یا غیرفعال بودن این کلید را میتوان در سطر سرآیند مشاهده کرد. - Y
- مرتبسازی رشتهها به ازای هر فرایند در هنگام ترکیب با گزینه 'y' (تغییر وضعیت).
- u
- نمایش
فعالیت
فرایندها
به صورت
تجمیعی به
ازای هر
کاربر.
به ازای هر کاربر، فیلدهای زیر نمایش داده میشوند: تعداد فرایندهای فعال یا پایانیافته در طول آخرین بازه (یا در مجموع اگر با دستور 'a' ترکیب شود)، مصرف تجمیعی پردازنده در طول آخرین بازه در حالت سیستم و کاربر، فضای حافظه مجازی و مقیم جاری که توسط فرایندهای فعال مصرف شده است (یا تمام فرایندهای کاربر در صورت ترکیب با دستور 'a').
هنگامی که atop با دسترسیهای ریشه اجرا شود، نرخ تبادل تجمیعی خواندن و نوشتن روی دیسک نمایش داده میشود. هنگامی که ماژول اختیاری netatop یا netatop-bpf نصب شده باشد، تعداد تجمیعی بستههای شبکه دریافتی و ارسالی نمایش داده میشود.
ستونهای آخر شامل درصد اشغال تجمیعی برای منبع انتخابشده (پیشفرض: CPU) و نام کاربر هستند. - p
- نمایش
فعالیت
فرایندها
به صورت
تجمیعی به
ازای هر
برنامه
(یعنی نام
فرایند).
به ازای هر برنامه، فیلدهای زیر نمایش داده میشوند: تعداد فرایندهای فعال یا پایانیافته در طول آخرین بازه (یا در مجموع اگر با دستور 'a' ترکیب شود)، مصرف تجمیعی پردازنده در طول آخرین بازه در حالت سیستم و کاربر، فضای حافظه مجازی و مقیم جاری که توسط فرایندهای فعال مصرف شده است (یا تمام فرایندهای برنامه در صورت ترکیب با دستور 'a').
هنگامی که atop با دسترسیهای ریشه اجرا شود، نرخ تبادل تجمیعی خواندن و نوشتن روی دیسک نمایش داده میشود. هنگامی که ماژول اختیاری netatop یا netatop-bpf نصب شده باشد، تعداد تجمیعی بستههای شبکه دریافتی و ارسالی نمایش داده میشود.
ستونهای آخر شامل درصد اشغال تجمیعی برای منبع انتخابشده (پیشفرض: CPU) و نام برنامه هستند. - j
- نمایش
فعالیت
فرایندها
به صورت
تجمیعی به
ازای هر
کانتینر/پاد.
به ازای هر کانتینر (مانند Docker/Podman) یا پاد (مانند Kubernetes)، فیلدهای زیر نمایش داده میشوند: تعداد فرایندهای فعال یا پایانیافته در طول آخرین بازه (یا در مجموع اگر با دستور 'a' ترکیب شود)، مصرف تجمیعی پردازنده در طول آخرین بازه در حالت سیستم و کاربر، فضای حافظه مجازی و مقیم جاری مصرفشده توسط فرایندهای فعال (یا تمام فرایندهای کاربر در صورت ترکیب با دستور 'a').
هنگامی که atop با دسترسیهای ریشه اجرا شود، نرخ تبادل تجمیعی خواندن و نوشتن روی دیسک نمایش داده میشود. هنگامی که ماژول اختیاری netatop یا netatop-bpf نصب شده باشد، تعداد تجمیعی بستههای شبکه دریافتی و ارسالی نمایش داده میشود.
ستونهای آخر شامل درصد اشغال تجمیعی برای منبع انتخابشده (پیشفرض: CPU) و نام کانتینر/پاد (CID/POD) هستند. - O
- تعیین
ترتیب
مرتبسازی
فهرست
فرایندها
بر اساس یک
ستون مشخص
(بدون
حساسیت به
حروف بزرگ و
کوچک) و
تعیین
اینکه
مرتبسازی
به صورت
صعودی
انجام شود
یا نزولی
(منطقیترین
انتخاب
پیشفرض
است). ستون
انتخابشده
باید بخشی
از نمای
جاری
فرایندها
باشد، چه
مرئی و چه
نامرئی
(زمانی که
صفحه نمایش
برای نمایش
ستون بیش از
حد باریک
است).
انتخاب ستون 'CPU' به ترتیب نزولی معادل فشردن 'C' است؛ ستون 'MEM' به ترتیب نزولی معادل فشردن 'M' است؛ ستون 'DSK' به ترتیب نزولی معادل فشردن 'D' است؛ ستون 'NET' به ترتیب نزولی معادل فشردن 'N' است و انتخاب ستون 'GPU' به ترتیب نزولی معادل فشردن 'E' است.
- C
- مرتبسازی فهرست جاری بر اساس میزان مصرف پردازنده (پیشفرض). ستون ماقبل آخر به 'CPU' تغییر مییابد.
- E
- مرتبسازی فهرست جاری بر اساس میزان استفاده از پردازنده گرافیکی (GPU). ستون ماقبل آخر به 'GPU' تغییر مییابد.
- M
- مرتبسازی فهرست جاری بر اساس میزان مصرف حافظه مقیم. ستون ماقبل آخر به 'MEM' تغییر مییابد. در صورت مرتبسازی بر اساس حافظه، فهرست کامل فرایندها نمایش داده خواهد شد (نه فقط فرایندهای فعال).
- D
- مرتبسازی فهرست جاری بر اساس دسترسیهای صادرشده به دیسک. ستون ماقبل آخر به 'DSK' تغییر مییابد.
- N
- مرتبسازی فهرست جاری بر اساس پهنای باند شبکه (دریافتی و ارسالی). ستون ماقبل آخر به 'NET' تغییر مییابد.
دستورات تعاملی متفرقه:
- ?
- درخواست اطلاعات راهنما (کلید 'h' را نیز میتوان فشرد).
- V
- درخواست اطلاعات نسخه (شماره نسخه و تاریخ انتشار).
- R
- گردآوری و محاسبه اندازه مجموعه تناسبی (PSIZE) فرایندها (تغییر وضعیت). گردآوری تمام مقادیر مورد نیاز برای محاسبه PSIZE یک فرایند کاری بسیار زمانبر است، بنابراین این کلید فقط باید هنگام تحلیل مصرف حافظه مقیم فرایندها فعال شود.
- W
- دریافت WCHAN به ازای هر رشته (تغییر وضعیت). گردآوری رشته متنی WCHAN به ازای هر رشته کاری نسبتاً زمانبر است، بنابراین این کلید فقط باید هنگام تحلیل دلیل قرار گرفتن رشتهها در حالت خواب فعال شود.
- x
- غیرفعال
کردن
رنگها
برای
برجستهسازی
منابع
بحرانی
(تغییر
وضعیت).
فعال یا غیرفعال بودن این کلید را میتوان در سطر سرآیند مشاهده کرد. - z
- از کلید مکث
میتوان
برای ثابت
کردن وضعیت
فعلی به
منظور
بررسی
خروجی روی
صفحه
استفاده
کرد. هنگامی
که atop در
حالت مکث
است،
کلیدهای
شرحدادهشده
در بالا را
میتوان
برای نمایش
اطلاعات
دیگر
درباره
فهرست جاری
فرایندها
فشرد. هر
زمان که
کلید مکث
دوباره
فشرده شود،
atop با
نمونهبرداری
بعدی ادامه
خواهد داد.
کلید مکث در حالت متنی و حالت نمودار میلهای قابل استفاده است. - i
- تغییر
زمانسنج
بازه
(پیشفرض:
۱۰ ثانیه).
اگر
زمانسنج
بازه برابر
با ۰ وارد
شود،
زمانسنج
خاموش
میشود. در
این حالت یک
نمونه جدید
تنها به
صورت دستی
با فشردن
کلید 't' فعال
میشود.
بازه را میتوان در حالت متنی و حالت نمودار میلهای تغییر داد. - t
- تحریک دستی
یک
نمونهبرداری
جدید. اگر
نمونهبرداری
فعلی باید
پیش از
پایان
زمانسنج
تمام شود یا
اگر اصلاً
زمانسنجی
تنظیم نشده
باشد
(زمانسنج
بازه معادل
۰)، این
کلید را
میتوان
فشرد. در
حالت اخیر،
atop
میتواند
به عنوان
کرونومتر
برای
اندازهگیری
بار ناشی از
یک تراکنش
برنامهای
خاص
استفاده
شود، بدون
اینکه از
قبل مشخص
باشد این
تراکنش چند
ثانیه طول
میکشد.
این کلید در حالت متنی و حالت نمودار میلهای قابل استفاده است.هنگام مشاهده محتویات یک فایل خام، این کلید برای نمایش نمونه بعدی از فایل به کار میرود. همچنین هنگام مشاهده دادههای خام از طریق پایپ نیز میتوان از این کلید استفاده کرد.
- T
- هنگام
مشاهده
محتویات یک
فایل خام،
این کلید
برای نمایش
نمونه قبلی
از فایل
استفاده
میشود؛
هرچند
هنگام
خواندن
دادههای
خام از طریق
پایپ
امکانپذیر
نیست.
این کلید در حالت متنی و حالت نمودار میلهای قابل استفاده است. - b
- هنگام
مشاهده
محتویات یک
فایل خام،
از این کلید
میتوان
برای پرش به
یک برچسب
زمانی معین
در فایل به
صورت رو به
جلو یا رو
به عقب
استفاده
کرد. هنگام
مشاهده
دادههای
خام از یک
پایپ، تنها
پرشهای رو
به جلو
امکانپذیر
هستند.
این کلید در حالت متنی و حالت نمودار میلهای قابل استفاده است. - r
- بازنشانی
تمام
شمارندهها
به صفر برای
مشاهده
مجدد
فعالیت
سیستم و
فرایندها
از زمان
بوت.
این کلید در حالت متنی و حالت نمودار میلهای قابل استفاده است.هنگام مشاهده محتویات یک فایل خام، از این کلید میتوان برای بازگشت مجدد به ابتدای فایل استفاده کرد (به جز هنگام خواندن دادههای خام از پایپ).
- Z
- هنگام
مشاهده
محتویات یک
فایل خام،
این کلید
برای حرکت
سریع رو به
جلو به
انتهای
فایل به کار
میرود؛
هرچند
هنگام
خواندن
دادههای
خام از پایپ
امکانپذیر
نیست.
این کلید در حالت متنی و حالت نمودار میلهای قابل استفاده است. - U
- مشخص کردن
یک عبارت
منظم برای
نامهای
کاربری خاص
یا شناسه
عددی کاربر
(UID). از این پس،
تنها
فرایندهای
(فعال)
کاربری
نمایش داده
میشوند که
با عبارت
منظم یا UID
عددی
مطابقت
داشته باشد.
آمار سیستم
همچنان در
سطح کل
سیستم
خواهد بود.
اگر کلید Enter
بدون مشخص
کردن نام
فشرده شود،
فرایندهای
(فعال) همه
کاربران
دوباره
نمایش داده
خواهند شد.
فعال یا غیرفعال بودن این کلید را میتوان در سطر سرآیند مشاهده کرد. - I
- مشخص کردن
فهرستی از
یک یا چند PID
برای
انتخاب. از
این پس،
تنها
فرایندهایی
نمایش داده
خواهند شد
که شناسه
فرایند (PID)
آنها با
یکی از
موارد
موجود در
فهرست
دادهشده
مطابقت
داشته باشد.
آمار سیستم
همچنان در
سطح کل
سیستم
خواهد بود.
اگر کلید Enter
بدون مشخص
کردن PID
فشرده شود،
تمام
فرایندهای
(فعال)
دوباره
نمایش داده
خواهند شد.
فعال یا غیرفعال بودن این کلید را میتوان در سطر سرآیند مشاهده کرد. - P
- مشخص کردن
یک رشته
جستجو برای
نامهای
خاص فرایند
به صورت یک
عبارت منظم.
از این پس،
تنها
فرایندهایی
نمایش داده
خواهند شد
که نام
آنها با
عبارت منظم
مطابقت
داشته باشد.
آمار سیستم
همچنان در
سطح کل
سیستم
خواهد بود.
اگر کلید Enter
بدون مشخص
کردن نام
فشرده شود،
تمام
فرایندهای
(فعال)
دوباره
نمایش داده
خواهند شد.
فعال یا غیرفعال بودن این کلید را میتوان در سطر سرآیند مشاهده کرد. - /
- مشخص کردن
یک رشته
جستجوی خط
فرمان خاص
به صورت
عبارت منظم.
از این پس،
تنها
فرایندهایی
نمایش داده
خواهند شد
که خط فرمان
آنها با
عبارت منظم
مطابقت
داشته باشد.
آمار سیستم
همچنان در
سطح کل
سیستم
خواهد بود.
اگر کلید Enter
بدون مشخص
کردن رشته
فشرده شود،
تمام
فرایندهای
(فعال)
دوباره
نمایش داده
خواهند شد.
فعال یا غیرفعال بودن این کلید را میتوان در سطر سرآیند مشاهده کرد. - J
- مشخص کردن
شناسه
کانتینر
(مانند Docker یا Podman)
یا نام پاد
(مانند Kubernetes)
حداکثر تا
۱۵ کاراکتر.
در صورتی که
نام
طولانیتر
باشد، ۱۵
کاراکتر
آخر مورد
انتظار است.
از این پس،
تنها
فرایندهایی
نمایش داده
میشوند که
در آن
کانتینر یا
پاد خاص
اجرا
میشوند.
آمار سیستم
همچنان در
سطح کل
سیستم
خواهد بود.
اگر کلید Enter
بدون مشخص
کردن شناسه
کانتینر یا
نام پاد
فشرده شود،
تمام
فرایندهای
(فعال)
دوباره
نمایش داده
خواهند شد.
فعال یا غیرفعال بودن این کلید را میتوان در سطر سرآیند مشاهده کرد. - Q
- مشخص کردن
فهرستی از
حروف وضعیت
فرایند/رشته
که با کاما
از هم جدا
شدهاند. از
این پس،
تنها
فرایندها/رشتههایی
نمایش داده
خواهند شد
که در آن
وضعیتهای
خاص قرار
دارند.
وضعیتهای
پذیرفتهشده
عبارتند از:
R (در حال
اجرا)، S
(خواب)، D
(خواب
دیسک)، I
(بیکار)، T
(متوقفشده)،
t (توقف برای
ردیابی)، X
(مرده)، Z
(زامبی) و P
(پارکشده).
آمار سیستم
همچنان در
سطح کل
سیستم
خواهد بود.
اگر کلید Enter
بدون مشخص
کردن وضعیت
فشرده شود،
تمام
فرایندها/رشتههای
(فعال)
دوباره
نمایش داده
خواهند شد.
فعال یا غیرفعال بودن این کلید را میتوان در سطر سرآیند مشاهده کرد. - S
- مشخص کردن
رشتههای
جستجو برای
نامهای
حجمهای
منطقی خاص،
نامهای
دیسکهای
خاص و
نامهای
رابطهای
شبکه خاص.
تمام
رشتههای
جستجو به
عنوان
عبارات
منظم تفسیر
میشوند. از
این پس،
تنها آن
منابع
سیستمی
نمایش داده
میشوند که
با عبارت
منظم
مربوطه
مطابقت
دارند. اگر
کلید Enter بدون
مشخص کردن
رشته جستجو
فشرده شود،
تمام منابع
سیستمی
(فعال) از آن
نوع دوباره
نمایش داده
خواهند شد.
فعال یا غیرفعال بودن این کلید را میتوان در سطر سرآیند مشاهده کرد. - a
- از کلید
«همه/فعال»
میتوان
برای تغییر
وضعیت میان
نمایش/تجمیع
تنها
فرایندهایی
که در طول
آخرین بازه
فعال
بودهاند
(پیشفرض)
یا
نمایش/تجمیع
همه
فرایندها
استفاده
کرد.
فعال یا غیرفعال بودن این کلید را میتوان در سطر سرآیند مشاهده کرد. - X
- به طور
پیشفرض،
atop
فرایندهای
زنده و
فرایندهایی
را که در
طول آخرین
بازه خارج
شدهاند
(خاتمه
یافتهاند)
نمایش
داده/تجمیع
میکند. با
این کلید
(تغییر
وضعیت)،
میتوان از
نمایش/تجمیع
فرایندهای
خارجشده
جلوگیری
کرد.
فعال یا غیرفعال بودن این کلید را میتوان در سطر سرآیند مشاهده کرد. - f
- نمایش
تعداد ثابت
(حداکثر)
سطرهای
سرآیند
برای منابع
سیستم
(تغییر
وضعیت). به
طور
پیشفرض،
تنها
سطرهایی
درباره
منابع
سیستم
(پردازندهها،
صفحهبندی،
حجمهای
منطقی،
دیسکها،
رابطهای
شبکه) نمایش
داده
میشوند که
واقعاً در
طول آخرین
بازه فعال
بودهاند.
با این کلید
میتوانید
atop را وادار
به نمایش
سطرهای
مربوط به
منابع
غیرفعال
نیز بکنید.
فعال یا غیرفعال بودن این کلید را میتوان در سطر سرآیند مشاهده کرد. - F
- جلوگیری از
مرتبسازی
منابع
سیستم
(تغییر
وضعیت). به
طور
پیشفرض
منابع
سیستم
(پردازندهها،
حجمهای
منطقی،
دیسکها،
رابطهای
شبکه) بر
اساس میزان
بهرهوری
مرتب
میشوند.
فعال یا غیرفعال بودن این کلید را میتوان در سطر سرآیند مشاهده کرد. - 1
- نمایش
شمارندههای
مرتبط به
عنوان
میانگین بر
ثانیه (در
قالب '..../s') به
جای مقدار
کل در طول
بازه (تغییر
وضعیت).
فعال یا غیرفعال بودن این کلید را میتوان در سطر سرآیند مشاهده کرد. - l
- محدود کردن
تعداد
سطرهای سطح
سیستم برای
شمارندههای
به ازای هر
پردازنده،
دیسکهای
فعال و
رابطهای
شبکه. به
طور
پیشفرض،
سطرهای
تمام
پردازندهها،
دیسکها و
رابطهای
شبکهای که
در طول
آخرین بازه
فعال
بودهاند
نمایش داده
میشوند.
محدود کردن
این سطرها
میتواند
در
سیستمهایی
با تعداد
بسیار زیاد
پردازندهها،
دیسکها یا
رابطها
مفید باشد
تا بتوان atop
را روی
صفحهنمایش/پنجرهای
با مثلاً
تنها ۲۴ سطر
اجرا کرد.
برای تمام منابع ذکرشده، حداکثر تعداد سطرها را میتوان به صورت تعاملی مشخص کرد. هنگام استفاده از فلگ -l حداکثر تعداد سطرهای per-cpu روی ۰، حداکثر تعداد سطرهای دیسک روی ۵ و حداکثر تعداد سطرهای رابط روی ۳ تنظیم میشود. این مقادیر را میتوان مجدداً در حالت تعاملی تغییر داد. - k
- ارسال سیگنال به یک فرایند فعال (یا همان کشتن یک فرایند).
- q
- خروج از
برنامه.
این کلید در حالت متنی و حالت نمودار میلهای قابل استفاده است. - PgDn
- نمایش صفحه
بعدی فهرست
فرایندها/رشتهها.
با کلید فلش رو به پایین میتوان فهرست را سطر به سطر به سمت پایین پیمایش کرد. - ^F
- نمایش صفحه
بعدی فهرست
فرایندها/رشتهها
(رو به جلو).
با کلید فلش رو به پایین میتوان فهرست را سطر به سطر به سمت پایین پیمایش کرد. - PgUp
- نمایش صفحه
قبلی فهرست
فرایندها/رشتهها.
با کلید فلش رو به بالا میتوان فهرست را سطر به سطر به سمت بالا پیمایش کرد. - ^B
- نمایش صفحه
قبلی فهرست
فرایندها/رشتهها
(رو به عقب).
با کلید فلش رو به بالا میتوان فهرست را سطر به سطر به سمت بالا پیمایش کرد. - ^L
- رسم مجدد صفحه نمایش.
ذخیرهسازی دادههای خام (RAW DATA STORAGE)
بهمنظور
ذخیره آمار
سطح سیستم و
سطح پردازش
برای
تحلیلهای
بلندمدت
(مثلاً برای
بررسی بار
سیستم و
پردازشهای
فعال در حال
اجرا در روز
گذشته بین
ساعات ۳:۰۰
تا ۴:۰۰
بعدازظهر)،
دستور atop
میتواند
آمار سطح
سیستم و سطح
پردازش را
در قالب
باینری
فشردهشده
در یک فایل
خام ذخیره
کند؛ این
کار با
استفاده از
سوییچ -w
بههمراه
نام فایل
انجام
میشود. اگر
این فایل از
قبل وجود
داشته باشد
و بهعنوان
یک فایل
داده خام
شناسایی
شود، atop
نمونههای
جدید را به
انتهای
فایل
میافزاید
(با
نمونهای
آغاز
میشود که
فعالیت
سیستم از
زمان بوت را
منعکس
میکند). اگر
فایل وجود
نداشته
باشد،
ایجاد
خواهد شد.
تمامی
اطلاعات
مربوط به
فعالیت
سیستم،
پردازشها
و نخها در
این فایل
خام ذخیره
میشود.
بازه زمانی
(پیشفرض: ۱۰
ثانیه) و
تعداد
نمونهها
(پیشفرض:
نامحدود) را
میتوان
بهعنوان
آرگومانهای
انتهایی
ارسال کرد.
بهجای
تعداد
نمونهها،
میتوان از
سوییچ -S
استفاده
نمود تا
نشان دهد که
atop باید در
هر صورت قبل
از نیمهشب
به کار خود
پایان دهد.
یک فایل
خام را
میتوان با
استفاده از
سوییچ -r
بههمراه
نام فایل
مجدداً
خواند و
مشاهده کرد.
اگر هیچ نام
فایلی مشخص
نشود، فایل
/var/log/atop/atop_YYYYMMDD برای
ورودی باز
میشود (که
در آن YYYYMMDD
اعدادی
نمایانگر
تاریخ جاری
هستند). اگر
نام فایلی
در قالب YYYYMMDD
(نشاندهنده
هر تاریخ
معتبری)
مشخص شود،
فایل /var/log/atop/atop_YYYYMMDD
باز
میگردد.
اگر نام
فایلی با
نام نمادین
y مشخص شود،
فایل گزارش
روزانه
دیروز باز
میشود (این
نماد را
میتوان
تکرار کرد،
بنابراین 'yyyy'
نشاندهنده
فایل گزارش
چهار روز
قبل است). اگر
از نام فایل
- استفاده
شود، ورودی
استاندارد
(stdin) خوانده
خواهد شد.
نمونههای
درون فایل
را میتوان
بهصورت
تعاملی
مشاهده
کرد؛ با
استفاده از
کلید 't' برای
نمایش
نمونه
بعدی، کلید
'T' برای
نمایش
نمونه
قبلی، کلید
'b' برای پرش
به یک زمان
مشخص، کلید
'r' برای
بازگشت به
ابتدای
فایل یا
کلید 'Z' برای
حرکت سریع
به انتهای
فایل. از این
کلیدها
میتوان هم
در حالت
متنی و هم در
حالت
نمودار
میلهای
استفاده
کرد.
هنگامی که
خروجی به یک
فایل یا
پایپ هدایت
میشود، atop
تمام
نمونهها
را بهصورت
متن ساده
اسکی (ASCII) چاپ
میکند. در
این حالت
طول خط
پیشفرض ۸۰
کاراکتر
است. با
استفاده از
سوییچ -L
بههمراه
طول خط
متناوب،
ستونهای
بیشتر (یا
کمتری)
نمایش داده
خواهد شد.
با استفاده
از سوییچ -b
(زمان شروع)
و/یا -e (زمان
پایان)
بههمراه
آرگومان
زمانی به
فرم [YYYYMMDD]hhmm[ss]،
میتوان
بازه زمانی
مشخصی را در
فایل خام
انتخاب
نمود.
هر روز در
نیمهشب، atop
توسط
فایلهای
یونیت atop-rotate.timer و
atop-rotate.service مجدداً
راهاندازی
میشود تا
دادههای
باینری
فشرده را
بهطور
پیشفرض با
فاصله
زمانی ۱۰
دقیقه در
فایل /var/log/atop/atop_YYYYMMDD
بنویسد.
علاوه بر
این، تمامی
فایلهای
خامی که
قدیمیتر
از ۲۸ روز
باشند
(بهصورت
پیشفرض)
حذف
میشوند.
مقادیر
پیشفرض
یادشده را
میتوان در
فایل /etc/default/atop
تغییر داد؛
این فایل
ممکن است
شامل
مقادیر
دیگری برای
LOGOPTS (بهطور
پیشفرض
بدون هیچ
گزینهای)،
LOGINTERVAL (به
ثانیه،
بهطور
پیشفرض
۶۰۰)، LOGGENERATIONS (به
روز،
بهطور
پیشفرض
۲۸)، و LOGPATH
(دایرکتوری
محل ذخیره
فایلهای
لاگ) باشد.
متأسفانه، همواره امکان حفظ سازگاری قالب فایلهای خام در نسخههای جدیدتر atop وجود ندارد، بهویژه زمانی که شمارندههای جدید فراوانی باید نگهداری شوند. بنابراین، برنامه atopconvert نصب شده است تا فایلی خام را که توسط نسخه قدیمیتری از atop ایجاد شده به فایل خامی تبدیل کند که توسط نسخه جدیدتر atop قابل خواندن باشد (برای جزئیات بیشتر به صفحه راهنمای atopconvert مراجعه کنید).
شرح خروجی (OUTPUT DESCRIPTION)
خط سرایند (هدر) همواره نام میزبان، تاریخ و زمان پایانی که نمونه در آن گرفته شده، گزینههای فعال جاری (تنها در حالت متنی) و زمان سپریشده (مدت زمان) نمونه را نشان میدهد. عبارت 'PAUSED' در پشت زمان هنگامی نمایش داده میشود که atop در حال حاضر با کلید 'z' متوقف شده باشد.
اولین نمونه، فعالیت سطح سیستم از زمان بوت را نشان میدهد (زمان سپریشده در سرایند، مدت زمان سپریشده از زمان بوت را نمایش میدهد).
در حالت
متنی، atop
ابتدا برای
هر نمونه،
خطوط مربوط
به فعالیت
سطح سیستم
را نشان
میدهد. اگر
منبع سیستم
خاصی در طول
بازه زمانی
استفاده
نشده باشد،
کل خط مربوط
به آن منبع
حذف (پنهان)
میشود.
بنابراین
تعداد خطوط
سطح سیستم
ممکن است
برای هر
نمونه
متفاوت
باشد.
پس از آن
فهرستی از
پردازشهایی
نشان داده
میشود که
در طول
آخرین بازه
زمانی فعال
بودهاند.
این فهرست
بهطور
پیشفرض بر
اساس مصرف CPU
مرتب شده
است، اما
این ترتیب
را میتوان
با
کلیدهایی
که پیشتر
توضیح داده
شد تغییر
داد.
اگر مقادیری توسط atop باید نشان داده شوند که در عرض ستون جا نمیشوند، قالب دیگری به کار گرفته میشود. برای نمونه اگر مصرف CPU به میزان ۲۳۳۲۱۶ میلیثانیه باید در ستونی با عرض ۴ موقعیت نمایش داده شود، بهصورت '233s' (به ثانیه) نمایش مییابد. برای ارقام بزرگ حافظه، در صورتی که مقدار در ستون جا نشود واحد دیگری انتخاب میشود (Mb بهجای Kb، Gb بهجای Mb، Tb بهجای Gb و غیره). برای مقادیر دیگر، نوعی نماد علمی استفاده میشود (مقدار ۱۲۳۴۵۶۷۸۹ نمایشدادهشده در ستونی با ۵ موقعیت، بهصورت 123e6 نشان داده میشود).
شرح خروجی - سطح سامانه (OUTPUT DESCRIPTION - SYSTEM LEVEL)
اطلاعات سطح سیستم در حالت متنی از خطوط خروجی زیر تشکیل شده است:
- PRC
- مجموعهای
سطح پردازش
و نخ.
این خط حاوی کل زمان پردازنده (CPU) مصرفشده در حالت سیستم ('sys') و در حالت کاربر ('user')، تعداد کل پردازشهای موجود در این لحظه ('#proc')، تعداد کل نخهای موجود در این لحظه در وضعیت 'در حال اجرا' ('#trun')، 'خواب با قابلیت وقفه' ('#tslpi')، 'خواب بدون وقفه' ('#tslpu') و 'بیکار' ('#tidle')، تعداد پردازشهای زامبی ('#zombie')، تعداد فراخوانیهای سیستمی کلون ('clones')، و تعداد پردازشهایی است که در طول بازه زمانی پایان یافتهاند ('#exit')، زمانی که حسابرسی پردازشها (process accounting) فعال باشد. بهجای '#exit' ستون آخر ممکن است نشان دهد که حسابرسی پردازشها نتوانسته فعال شود ('no procacct').
اگر عرض صفحه نمایش اجازه نمایش تمامی این شمارندهها را ندهد، تنها یک زیرمجموعه مرتبط نمایش داده میشود. - CPU
- میزان
استفاده از
پردازنده (CPU).
حداقل یک خط برای کل اشغال تمام CPUها با هم نشان داده میشود.
در صورت وجود سامانهای با چند پردازنده، برای هر پردازنده مجزا یک خط اضافی (با 'cpu' با حروف کوچک) نشان داده میشود که بر اساس فعالیت مرتب شدهاند. بهطور پیشفرض، CPUهای غیرفعال نشان داده نخواهند شد. خطوط نشاندهنده اشغال هر CPU شامل شماره CPU در ستون ترکیبشده با درصد انتظار است.توجه داشته باشید که درصدهای مربوط به اشغال کل همه پردازندهها با هم ('CPU' با حروف بزرگ) هنگامی که پردازندهها در طول بازه زمانی فعال یا غیرفعال شده باشند، قابل اعتماد نیستند!
هر خط شامل درصد زمان CPU صرفشده در حالت هسته توسط تمام پردازشهای فعال ('sys')، درصد زمان CPU مصرفشده در حالت کاربر ('user') برای تمام پردازشهای فعال (شامل پردازشهای در حال اجرا با مقدار nice بزرگتر از صفر)، درصد زمان CPU صرفشده برای مدیریت وقفه ('irq') از جمله وقفه نرمافزاری (softirq)، درصد زمان بدون استفاده CPU در حالی که هیچ پردازشی در انتظار ورودی/خروجی دیسک نبوده ('idle')، و درصد زمان بدون استفاده CPU در حالی که حداقل یک پردازش در انتظار ورودی/خروجی دیسک بوده ('wait') است.
در حالت اشغال هر پردازنده، شماره CPU و درصد انتظار ('wa') برای آن CPU با یکدیگر ترکیب میشوند. تعداد خطوط نمایشدهنده اشغال هر CPU را میتوان محدود کرد.برای ماشینهای مجازی، درصد دزدیدهشده ('steal') درصد زمان CPU را نشان میدهد که توسط سایر ماشینهای مجازی در حال اجرا روی همان سختافزار دزدیده شده است.
برای ماشینهای فیزیکی که میزبان یک یا چند ماشین مجازی هستند، درصد مهمان ('guest') درصد زمان CPU استفادهشده توسط ماشینهای مجازی را نشان میدهد. توجه داشته باشید که این درصد با درصد کاربر همپوشانی دارد!هنگامی که شمارندههای نظارت بر عملکرد PMC توسط CPU و هسته پشتیبانی شوند (و atop با دسترسیهای ریشه اجرا شود)، تعداد دستورالعملها در هر چرخه CPU بهصورت ('ipc') نشان داده میشود. اولین نمونه همواره مقدار 'initial' را نشان میدهد، زیرا شمارندهها درست در لحظه شروع atop فعال شدهاند. این اتفاق در اولین نمونه پس از فعال یا غیرفعال شدن پردازندهها نیز رخ میدهد.
هنگامی که درصد اشغال CPU بالا و مقدار IPC کمتر از ۱.۰ باشد، احتمالاً CPU در طول اجرای دستورالعملها مکرراً در انتظار دسترسی به حافظه میماند (حافظههای نهان بزرگتر پردازنده یا حافظه رم سریعتر ممکن است برای بهبود کارایی مفید باشند). هنگامی که درصد اشغال CPU بالا و مقدار IPC بزرگتر از ۱.۰ باشد، احتمالاً بار کاری پردازنده به دستورالعملها وابسته است (هستههای بیشتر/سریعتر ممکن است به بهبود عملکرد کمک کنند).
علاوه بر این، برای هر CPU تعداد مؤثر چرخهها ('cycl') نشان داده میشود. در صورتی که چنین پردازندهای ۱۰۰٪ مشغول باشد، این مقدار میتواند به فرکانس جاری پردازنده برسد. هنگامی که یک پردازنده بیکار متوقف (halt) شود، تعداد چرخههای مؤثر میتواند (بهمیزان قابل توجهی) کمتر از فرکانس جاری باشد.
توجه داشته باشید که میانگین دستورالعملها در هر چرخه و تعداد چرخهها در خط CPU برای تمام پردازندهها نمایش داده میشود.
توجه داشته باشید که خواندن شمارنده چرخه در ماشینهای مجازی (مهمانها) ممکن است باعث ایجاد تاخیرهای عملکردی شود. بنابراین این معیار بهطور پیشفرض در ماشینهای مجازی غیرفعال است. با این حال، با کلیدواژه 'perfevents' در فایل atoprc میتوان این معیار را صریحاً روی 'enable' یا 'disable' تنظیم کرد (به صفحه راهنمای مجزای atoprc مراجعه کنید).
همچنین ببینید: http://www.brendangregg.com/blog/2017-05-09/cpu-utilization-is-wrong.htmlدر صورت مقیاسپذیری فرکانس (frequency scaling)، تمام درصدهای پیشتر ذکرشده پردازنده نسبت به مقیاس استفادهشده CPU در طول بازه زمانی سنجیده میشوند. اگر یک پردازنده مثلاً ۵۰٪ در حالت کاربر در طول بازه فعال بوده در حالی که مقیاس فرکانس آن CPU برابر ۴۰٪ بوده است، تنها ۲۰٪ از ظرفیت کامل پردازنده در حالت کاربر استفاده شده است.
در صورتی که ماژول هسته 'cpufreq_stats' فعال باشد (پس از اجرای 'modprobe cpufreq_stats')، فرکانس میانگین ('avgf') و درصد مقیاسبندی میانگین ('avgscal') نشان داده میشود. در غیر این صورت فرکانس جاری ('curf') و درصد مقیاسبندی جاری ('curscal') در لحظه ثبت نمونه نمایش مییابند. توجه داشته باشید که مقادیر میانگین برای فرکانس و مقیاسبندی در خط CPU برای هر پردازنده نشان داده میشوند.اگر عرض صفحه نمایش اجازه نمایش همه این شمارندهها را ندهد، تنها یک زیرمجموعه مرتبط نمایش داده میشود.
- CPL
- اطلاعات
بار
پردازنده (CPU
load).
این خط حاوی ارقام میانگین بار (load average) است که نشاندهنده تعداد نخهای آماده برای اجرا روی پردازنده (یعنی بخشی از صف اجرا یا runqueue) یا در انتظار ورودی/خروجی دیسک هستند. این ارقام بهصورت میانگینهای ۱ ('avg1')، ۵ ('avg5') و ۱۵ ('avg15') دقیقه محاسبه میشوند.
علاوه بر این، تعداد تعویضهای متن (context switches بهصورت 'csw')، تعداد وقفههای رسیدگیشده ('intr') و تعداد پردازندههای در دسترس نشان داده میشوند.اگر عرض صفحه نمایش اجازه نمایش تمام این شمارندهها را ندهد، تنها یک زیرمجموعه مرتبط نشان داده میشود.
- GPU
- میزان
استفاده از
پردازنده
گرافیکی (NVIDIA).
بخش GPU STATISTICS GATHERING را در این سند بخوانید تا جزئیات مربوط به فعالسازی دیمن atopgpud را بیابید.در ستون اول هر خط، شناسه گذرگاه (۹ کاراکتر پایانی) و شماره پردازنده گرافیکی نشان داده میشود. ستونهای بعدی درصد زمانی که یک یا چند کرنل در حال اجرا روی GPU بودهاند ('gpubusy')، درصد زمانی که حافظه سراسری (دستگاه) در حال خواندن یا نوشتن بوده است ('membusy')، درصد اشغال حافظه ('memocc')، کل حافظه ('total')، حافظه در حال استفاده در لحظه نمونهگیری ('used')، میانگین حافظه در حال استفاده در طول زمان نمونه ('usavg')، تعداد پردازشهای فعال روی پردازنده گرافیکی در لحظه نمونهگیری ('#proc')، و نوع GPU را نشان میدهند.
اگر عرض صفحه نمایش اجازه نمایش همه این شمارندهها را ندهد، تنها یک زیرمجموعه مرتبط نشان داده میشود.
تعداد خطوط نمایشدهنده GPUها را میتوان محدود کرد. - MEM
- اشغال
حافظه (دو
خط).
این خطوط شامل مقدار کل حافظه فیزیکی ('tot')، مقدار حافظهای که در حال حاضر آزاد است ('free')، مقدار حافظهای که برای بارهای کاری جدید در دسترس است بدون اینکه سیستم را به سمت فضای مبادله (swap) سوق دهد ('avail')، مقدار حافظه مورد استفاده بهعنوان حافظه پنهان صفحه (page cache) شامل کل حافظه اشتراکی مقیم ('cache')، مقدار حافظه درون حافظه پنهان صفحه که باید روی دیسک تخلیه شود ('dirty')، مقدار حافظه مورد استفاده برای فرادادههای سیستمفایل ('buff')، مقدار حافظه مورد استفاده برای mallocهای هسته ('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
- اشغال فضای
مبادله (Swap) و
اطلاعات
تخصیص بیش
از حد (overcommit).
این خط شامل مقدار کل فضای مبادله روی دیسک ('tot')، مقدار فضای مبادله آزاد ('free')، اندازه حافظه نهان مبادله ('swcac')، اندازه فضای ذخیرهسازی فشرده مورد استفاده برای zswap بهصورت ('zswap')، اندازه واقعی (از حالت فشرده خارجشده) صفحات ذخیرهشده در zswap بهصورت ('zstor')، اندازه کل حافظه مورد استفاده برای KSM بهصورت ('ksuse'، یعنی اشتراکی)، و اندازه کل حافظه ذخیرهشده (حذف موارد تکراری یا deduped) توسط KSM بهصورت ('kssav'، یعنی در حال اشتراکگذاری) است.
علاوه بر این، فضای حافظه مجازی متعهد شده ('vmcom') و حداکثر حد مجاز فضای متعهد شده ('vmlim'، که بهطور پیشفرض اندازه swap به اضافه ۵۰٪ از اندازه حافظه رم است) نشان داده میشود. فضای متعهد، فضای مجازی رزروشده برای تمام تخصیصهای فضای حافظه خصوصی پردازشها است. هسته تنها در صورتی بررسی میکند که آیا فضای متعهد از حد مجاز فراتر میرود یا خیر که مدیریت سختگیرانه overcommit پیکربندی شده باشد (vm.overcommit_memory برابر ۲ باشد). - LLC
- اطلاعات
حافظه نهان
سطح آخر (Last-Level Cache
یا LLC)
پردازنده.
این خط شامل پهنای باند کل حافظه LLC بهصورت ('tot')، پهنای باند گره محلی NUMA بهصورت ('loc')، و درصد LLC در حال استفاده ('LLCXX YY%') است.توجه داشته باشید که این ویژگی به سیستمفایل شبهواقعی 'resctrl' وابسته است. اطمینان حاصل کنید که هسته با پیکربندی مربوطه کامپایل شده است و دقت کنید که این سیستمفایل شبهواقعی سوار (mount) شده باشد:
mount -t resctrl resctrl -o mba_MBps /sys/fs/resctrl (در پردازندههای اینتل)
mount -t resctrl resctrl -o cdp /sys/fs/resctrl (در پردازندههای ایامدی) - NUM
- میزان
استفاده از
حافظه به
ازای هر گره
NUMA (برای
سامانههای
تکگره NUMA
نشان داده
نمیشود).
این خط مقدار کل حافظه فیزیکی این گره ('tot')، مقدار حافظه آزاد ('free')، مقدار حافظه برای دادههای فایل کششده ('file')، دادههای فایل کششده اصلاحشده ('dirty')، حافظه اخیراً استفادهشده ('activ')، حافظه کمتر استفادهشده اخیر ('inact')، حافظه استفادهشده برای mallocهای هسته ('slab')، مقدار حافظه اسلب قابل بازپسگیری ('slrec')، حافظه اشتراکی شامل tmpfs بهصورت ('shmem')، کل صفحات بزرگ ('hptot')، صفحات بزرگ استفادهشده ('hpuse')، و درصد قطعهقطعهشدن ('frag') را نشان میدهد. - NUC
- میزان
استفاده از
پردازنده
به ازای هر
گره NUMA (برای
سامانههای
تکگره NUMA
نشان داده
نمیشود).
این خط درصدهای استفاده از تمام CPUهای مرتبط با این گره NUMA را نشان میدهد که بر اساس حالت سیستم ('sys')، حالت کاربر ('user')، حالت کاربر برای پردازشهای دارای اولویت رتبهبندیشده ('niced')، حالت بیکار ('idle')، حالت انتظار ('w' با پیشوند شماره گره)، حالت وقفه سختافزاری ('irq')، حالت وقفه نرمافزاری ('sirq')، حالت دزدیدهشده ('steal')، و حالت مهمان ('guest') که با حالت کاربر همپوشانی دارد دستهبندی شدهاند. - PAG
- بسامد
صفحهبندی
(Paging).
این خط شامل تعداد صفحات بررسیشده ('scan') ناشی از افت حافظه آزاد به زیر آستانهای مشخص، تعداد صفحات بازپسگرفتهشده ('steal') ناشی از افت حافظه آزاد به زیر آستانهای مشخص، دفعاتی که هسته سعی در بازپسگیری صفحات بهدلیل نیاز فوری دارد ('stall')، تعداد توقفهای پردازش جهت اجرای فشردهسازی حافظه برای تخصیص صفحات بزرگ ('compact')، تعداد صفحات NUMA مهاجرتدادهشده ('numamig')، و کل تعداد صفحات حافظه با موفقیت جابهجاشده مثلاً بین گرههای NUMA یا برای فشردهسازی ('migrate') است.
همچنین تعداد صفحات حافظهای که سیستم از دستگاههای بلوکی خوانده است ('pgin')، تعداد صفحات حافظهای که سیستم روی دستگاههای بلوکی نوشته است ('pgout')، تعداد صفحات حافظهای که از zswap به حافظه بازگردانده شدهاند ('zswin')، تعداد صفحات حافظهای که به zswap منتقل شدهاند ('zswout')، تعداد صفحات حافظهای که سیستم از فضای مبادله خوانده است ('swin')، تعداد صفحات حافظهای که سیستم روی فضای مبادله نوشته است ('swout')، و تعداد توقفهای ناشی از اتمام حافظه ('oomkill') نمایش داده میشود. - PSI
- اطلاعات
توقف تحت
فشار (Pressure Stall Information
یا PSI).
این خط شامل درصدهای مربوط به فشار بر منابع مرتبط با CPU، حافظه و ورودی/خروجی دیسک است. درصدهای مشخصی به 'some' اشاره دارند، به این معنی که برخی پردازشها/نخها به دلیل بار اضافی منابع با تاخیر مواجه شدهاند. درصدهای دیگر به 'full' اشاره دارند که به معنای از دست رفتن توان عملیاتی کلی به دلیل بار اضافی منابع است.
مقادیر 'cpusome'، 'memsome'، 'memfull'، 'iosome' و 'iofull' درصد فشار را در کل بازه زمانی نشان میدهند.
مقادیر 'cs' (مربوط به cpu some)، 'ms' (مربوط به memory some)، 'mf' (مربوط به memory full)، 'is' (مربوط به I/O some) و 'if' (مربوط به I/O full) هر یک سه درصد را که با اسلش از هم جدا شدهاند نشان میدهند: درصد فشار در طول ۱۰، ۶۰ و ۳۰۰ ثانیه گذشته.
برای برخی توزیعهای لینوکس ممکن است پشتیبانی از PSI بهطور پیشفرض غیرفعال باشد. در این صورت باید گزینه psi=1 را در خط فرمان هسته هنگام بوت ارسال کنید. - LVM/MDD/DSK
- میزان
استفاده از
حجمهای
منطقی (LVM)،
آرایههای
چنددستگاهی
(MDD) و دیسکها
(DSK).
به ازای هر واحد فعال، یک خط تولید میشود که بر اساس فعالیت واحد مرتب شده است. چنین خطی نام (مثلاً VolGroup00-lvtmp برای یک حجم منطقی یا sda برای یک دیسک سخت)، درصد زمان سپریشدهای که در طول آن درخواستهای I/O به دستگاه ارسال شده است ('busy') (توجه داشته باشید برای دستگاههایی که درخواستها را بهصورت موازی پاسخ میدهند، مانند آرایههای RAID، دیسکهای SSD و NVMe، این عدد بازتابدهنده محدودیت عملکردی آنها نیست)، تعداد درخواستهای خواندن ارسالشده ('read')، تعداد درخواستهای نوشتن ارسالشده ('write')، تعداد درخواستهای دورریز ارسالشده ('discrd') در صورت پشتیبانی توسط نسخه هسته، تعداد کیلوبایت در هر خواندن ('KiB/r')، تعداد کیلوبایت در هر نوشتن ('KiB/w')، تعداد کیلوبایت در هر دورریز ('KiB/d') در صورت پشتیبانی نسخه هسته، توان عملیاتی خواندن بر حسب مگابایت بر ثانیه ('MBr/s')، توان عملیاتی نوشتن بر حسب مگابایت بر ثانیه ('MBw/s')، درخواستهای ارسالشده به درایور دستگاه که هنوز کامل نشدهاند ('inflt')، میانگین عمق صف در زمان مشغول بودن ('avq') و میانگین زمان میلیثانیهای مورد نیاز یک درخواست ('avio') برای جستجو، تاخیر و انتقال داده را نشان میدهد.
اگر عرض صفحه نمایش اجازه نمایش تمامی این شمارندهها را ندهد، تنها یک زیرمجموعه مرتبط نشان داده میشود.تعداد خطوط نشاندهنده واحدها را میتوان به ازای هر دسته (LVM، MDD یا DSK) با کلید 'l' یا بهصورت ایستا محدود کرد (به صفحه راهنمای مجزای atoprc مراجعه کنید). با مشخص کردن مقدار ۰ برای یک دسته خاص، دیگر هیچ خطی برای آن دسته نشان داده نخواهد شد.
- NFM
- اتصال (Mount)
سیستمفایل
شبکهای (NFS)
در سمت
کلاینت.
برای هر سیستمفایل متصلشده با NFS، خطی نشان داده میشود که شامل دایرکتوری سوارشده سرور، نام سرور ('srv')، تعداد کل بایتهای خواندهشده فیزیکی از سرور ('read') و تعداد کل بایتهای نوشتهشده فیزیکی روی سرور ('write') است. انتقال داده به بخشهای زیر تقسیم میشود: تعداد بایتهای خواندهشده از طریق فراخوانیهای سیستمی عادی read() بهصورت ('nread')، تعداد بایتهای نوشتهشده از طریق فراخوانیهای سیستمی عادی write() بهصورت ('nwrit')، تعداد بایتهای خواندهشده از طریق I/O مستقیم ('dread')، تعداد بایتهای نوشتهشده از طریق I/O مستقیم ('dwrit')، تعداد بایتهای خواندهشده از طریق صفحات پیشخوانی کش صفحه ('mread')، و تعداد بایتهای نوشتهشده از طریق صفحات بازنویسی کش صفحه ('mwrit')، یعنی تخلیههای ناهمگام (asynchronous flushes). - NFC
- شمارندههای
سمت کلاینت
سیستمفایل
شبکهای (NFS).
این خط شامل تعداد فراخوانیهای RPC ارسالشده توسط پردازشهای محلی ('rpc')، تعداد فراخوانیهای RPC خواندن ('read') و فراخوانیهای RPC نوشتن ('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')، و تعداد مجموع مقابلهای (checksum) نادرست در TCP بهصورت ('csumie') نمایش مییابند.
اگر عرض صفحه نمایش اجازه نمایش تمام این شمارندهها را ندهد، تنها یک زیرمجموعه مرتبط نشان داده میشود.
این شمارندهها مربوط به ترکیب IPv4 و IPv6 هستند.برای لایه IP، شمارندههایی در رابطه با تعداد دیتاگرامهای IP دریافتشده از رابطها، از جمله آنهایی که دارای خطا بودهاند ('ipi')، تعداد دیتاگرامهای IP که پروتکلهای محلی لایه بالاتر برای ارسال ارائه کردهاند ('ipo')، تعداد دیتاگرامهای IP دریافتشده که به سایر رابطها هدایت (forward) شدهاند ('ipfrw')، تعداد دیتاگرامهای IP که به پروتکلهای محلی لایه بالاتر تحویل داده شدهاند ('deliv')، تعداد دیتاگرامهای ICMP دریافتشده ('icmpi')، و تعداد دیتاگرامهای ICMP ارسالشده ('icmpo') نشان داده میشوند.
اگر عرض صفحه نمایش اجازه نمایش تمام این شمارندهها را ندهد، تنها یک زیرمجموعه مرتبط نشان داده میشود.
این شمارندهها مربوط به ترکیب IPv4 و IPv6 هستند.به ازای هر رابط فعال شبکه یک خط نشان داده میشود که بر اساس فعالیت رابط مرتب شده است. چنین خطی نام رابط و درصد اشغال آن را در ستون اول نشان میدهد. درصد اشغال برای حالت نیمهدوطرفه (half duplex) با مقایسه سرعت رابط با تعداد بیتهای ارسالی و دریافتی در ثانیه تعیین میشود؛ برای حالت تمامدوطرفه (full duplex) سرعت رابط با بیشترین مقدار از بین بیتهای ارسالی یا دریافتی مقایسه میشود. هنگامی که سرعت رابط قابل تعیین نباشد (مثلاً برای رابط loopback)، بهجای درصد عبارت '---' نشان داده میشود.
علاوه بر این، تعداد بستههای دریافتشده ('pcki')، تعداد بستههای ارسالشده ('pcko')، سرعت خط رابط ('sp')، مقدار مؤثر بیتهای دریافتشده در هر ثانیه ('si')، مقدار مؤثر بیتهای ارسالشده در هر ثانیه ('so')، تعداد برخوردها (collisions بهصورت 'coll')، تعداد بستههای چندپخشی (multicast) دریافتشده ('mlti')، تعداد خطاها هنگام دریافت بسته ('erri')، تعداد خطاها هنگام ارسال بسته ('erro')، تعداد بستههای دریافتی دور انداختهشده ('drpi')، و تعداد بستههای ارسالی دور انداختهشده ('drpo') نشان داده میشود.
اگر عرض صفحه نمایش اجازه نمایش تمام این شمارندهها را ندهد، تنها یک زیرمجموعه مرتبط نشان داده میشود.
تعداد خطوط نمایشدهنده رابطهای شبکه را میتوان محدود کرد. - IFB
- میزان
استفاده از
اینفینیباند
(Infiniband).
به ازای هر درگاه (پورت) فعال اینفینیباند، یک خط نشان داده میشود که بر اساس فعالیت مرتب شده است. چنین خطی نام درگاه و درصد اشغال آن را در ستون اول نشان میدهد. درصد اشغال با در نظر گرفتن بیشترین مقدار بین بیتهای ارسالی یا دریافتی در طول بازه زمانی، ضرب آن مقدار در تعداد مسیرها (lanes) و مقایسه آن با حداکثر سرعت درگاه تعیین میشود.
علاوه بر این، تعداد بستههای دریافتشده تقسیم بر تعداد مسیرها ('pcki')، تعداد بستههای ارسالشده تقسیم بر تعداد مسیرها ('pcko')، حداکثر سرعت خط ('sp')، مقدار مؤثر بیتهای دریافتشده در ثانیه ('si')، مقدار مؤثر بیتهای ارسالشده در ثانیه ('so')، و تعداد مسیرها ('lanes') نشان داده میشود.
اگر عرض صفحه نمایش اجازه نمایش همه این شمارندهها را ندهد، تنها یک زیرمجموعه مرتبط نشان داده میشود.
تعداد خطوط نمایشدهنده پورتهای اینفینیباند را میتوان محدود کرد.
شرح خروجی - سطح گروههای کنترلی (OUTPUT DESCRIPTION - CGROUPS LEVEL V2)
در بخش پایینی صفحه، فهرستی سلسلهمراتبی از گروههای کنترلی (cgroups) قابل نمایش است. بهطور پیشفرض، گروههای کنترلی بدون فرآیند تخصیصیافته در خود گروه و زیرگروههای آن پنهان میشوند. با فشردن کلید 'a' (حالت ضامن / سوئیچ)، تمام گروههای کنترلی نمایش داده خواهند شد.
هنگامی که سطح عمق '8' یا '9' انتخاب شده باشد (با فشردن کلید مربوطه)، فرآیندهای تخصیصیافته نیز نمایش داده میشوند. بهطور پیشفرض، تنها فرآیندهایی که در طول بازه زمانی فعال بودهاند نشان داده میشوند. با فشردن کلید 'a' (حالت ضامن)، همه فرآیندها نمایش داده خواهند شد.
به ازای هر گروه کنترلی، بسته به عرض فعلی پنجره شما، فیلدهای زیر (به ترتیب الفبایی) ممکن است نمایش داده شوند:
- CGROUP
- نام گروه کنترلی (نسخه ۲)، یعنی نام دایرکتوری در سلسلهمراتب cgroup. گروه کنترلی ریشه '/' مربوط به دایرکتوری ریشه cgroup است که معمولاً '/sys/fs/cgroup' میباشد.
- CPUBUSY
- درصد مصرف پردازنده (CPU) توسط این cgroup و تمام زیرگروههای آن (بهصورت درصدی از یک پردازنده). مقدار -1 به معنای تعریفنشده است.
- CPUMAX
- مقدار 'cpu.max' این cgroup (نسخه ۲)، محاسبهشده بهصورت درصدی از یک هسته پردازنده. مقدار -1 به معنای حداکثر، و مقدار -2 به معنای تعریفنشده است.
- CPUPS
- درصد فشار
پردازنده ('some')
در این cgroup و
زیرگروههای
آن.
در برخی توزیعهای لینوکس ممکن است پشتیبانی از PSI بهطور پیشفرض غیرفعال باشد. در این صورت لازم است در زمان بوت، عبارت psi=1 را در خط فرمان کرنل اضافه کنید. - CPUWGT
- مقدار 'cpu.weight' این cgroup (نسخه ۲). مقدار -2 به معنای تعریفنشده است.
- DISKIO
- حجم دادههای منتقلشده به/از دیسکهای فیزیکی در این cgroup و زیرگروههای آن. مقدار -1 به معنای تعریفنشده است.
- DSKPS
- درصد فشار
دیسک ('full') در
این cgroup و
زیرگروههای
آن.
در برخی توزیعهای لینوکس ممکن است پشتیبانی از PSI بهطور پیشفرض غیرفعال باشد. در این صورت لازم است در زمان بوت، عبارت psi=1 را در خط فرمان کرنل اضافه کنید. - IOWGT
- مقدار 'io.weight' این cgroup (نسخه ۲). مقدار -2 به معنای تعریفنشده است.
- MEMMAX
- مقدار 'memory.max' این cgroup (نسخه ۲). مقدار -1 به معنای حداکثر، و مقدار -2 به معنای تعریفنشده است.
- MEMORY
- اشغال فعلی حافظه (مقدار 'memory.current') توسط این cgroup و تمام زیرگروههای آن. مقدار -1 به معنای تعریفنشده است.
توجه داشته باشید که اشغال حافظه توسط یک cgroup شامل تمامی صفحات حافظهای است که برای نخستین بار (بروز خطای صفحه یا faulted in) از این cgroup ارجاع داده شدهاند. بنابراین فراتر از صفحات مقیم فرآیند (resident)، حافظه cgroup شامل تمام صفحات کش صفحه (page cache)، صفحات کش اسلب (slab cache)، صفحات tmpfs و صفحات حافظه اشتراکی است که نخستین بار توسط فرآیندی در این cgroup ارجاع شدهاند.
این بدان معناست که حافظه cgroup ممکن است بسیار بیشتر از مجموع حافظه مصرفی مقیم (RSS) فرآیندهای درون آن cgroup باشد (که پس از فشردن کلید '8' یا '9' نمایش داده میشود). با این حال، حافظه cgroup ممکن است از مجموع حافظه مصرفی فرآیندهای آن کمتر نیز باشد؛ در حالتی که این فرآیندها صفحات کد، صفحات کتابخانههای اشتراکی، صفحات حافظه اشتراکی یا صفحات نگاشتشده حافظه (mmapped) را به اشتراک بگذارند که توسط فرآیندهایی در سایر گروههای کنترلی تخصیص یافته (یعنی ابتدا توسط آنها ارجاع شده) باشند.
- MEMPS
- درصد فشار
حافظه ('full') در
این cgroup و
زیرگروههای
آن.
در برخی توزیعهای لینوکس ممکن است پشتیبانی از PSI بهطور پیشفرض غیرفعال باشد. در این صورت لازم است در زمان بوت، عبارت psi=1 را در خط فرمان کرنل اضافه کنید. - NPROCS
- تعداد فرآیندهای تخصیصیافته به این cgroup.
- PBELOW
- تعداد فرآیندهای تخصیصیافته به زیرگروههای واقع در زیر این cgroup.
- SWPMAX
- مقدار 'memory.swap.max' این cgroup (نسخه ۲). مقدار -1 به معنای حداکثر، و مقدار -2 به معنای تعریفنشده است.
شرح خروجی - سطح فرآیندها (OUTPUT DESCRIPTION - PROCESS LEVEL)
در بخش پایینی صفحه، فهرستی از فرآیندهایی که میزان مصرف منابع آنها در طول بازه زمانی گذشته تغییر کرده است، نمایش داده میشود. این فرآیندها ممکن است از زمان پردازنده (CPU) استفاده کرده یا درخواستهای دیسک یا شبکه صادر کرده باشند. با این حال، فرآیندی که بخشی از حافظه آن به دلیل کمبود حافظه به فضای swap منتقل شده باشد (در حالی که خود فرآیند در حالت خواب بوده است) نیز نمایش داده میشود.
به ازای هر فرآیند، فیلدهای زیر (به ترتیب الفبایی) بسته به حالت خروجی فعلی (همانطور که در بخش دستورات تعاملی توضیح داده شده است) و بسته به عرض فعلی پنجره شما ممکن است نمایش داده شوند:
- AVGRSZ
- میانگین حجم هر عملیات خواندن از دیسک.
- AVGWSZ
- میانگین حجم هر عملیات نوشتن روی دیسک.
- BANDWI
- مجموع
پهنای باند
بستههای TCP
و UDP دریافتی
مصرفشده
توسط این
فرآیند (بیت
در ثانیه).
این مقدار
را میتوان
با مقدار 'si'
در سطح رابط
مقایسه کرد
(پهنای باند
مصرفی به
ازای هر
رابط شبکه).
این اطلاعات تنها در صورتی نمایش داده میشوند که ماژول اختیاری netatop یا netatop-bpf بارگذاری شده باشد. - BANDWO
- مجموع
پهنای باند
بستههای TCP
و UDP ارسالی
مصرفشده
توسط این
فرآیند (بیت
در ثانیه).
این مقدار
را میتوان
با مقدار 'so'
در سطح رابط
مقایسه کرد
(پهنای باند
مصرفی به
ازای هر
رابط شبکه).
این اطلاعات تنها در صورتی نمایش داده میشوند که ماژول اختیاری netatop یا netatop-bpf بارگذاری شده باشد. - BDELAY
- تاخیر
تجمعی
ورودی/خروجی
بلوکی (Block I/O)،
یعنی مدت
زمان
انتظار
برای I/O دیسک.
در کرنلهای امروزی، این مقدار تنها زمانی نگهداری میشود که پارامتر کرنل /proc/sys/kernel/task_delayacct برابر با ۱ تنظیم شده باشد (که میتوان آن را با تنظیم 'kernel.task_delayacct=1' با دستور sysctl مدیریت کرد). در غیر این صورت، این مقدار همیشه حاوی صفر خواهد بود. - CID/POD
- شناسه کانتینر (مانند Docker یا Podman) یا نام پاد (مانند Kubernetes) که به کانتینر یا پادی اشاره دارد که فرآیند/رشته درون آن در حال اجرا است. هنگامی که نام پاد طولانیتر از ۱۵ نویسه باشد، تنها ۱۵ نویسه پایانی آن نمایش داده میشود.
اگر فرآیندی در طول بازه زمانی گذشته شروع شده و به پایان رسیده باشد، علامت '?' نشان داده میشود زیرا شناسه کانتینر یا نام پاد بخشی از رکورد استاندارد حسابرسی فرآیند نیست.
این ستون تنها زمانی نمایش داده میشود که atop با دسترسیهای مدیر سیستم (کاربر ارشد) اجرا شود و دستکم یک فرآیند کانتینری در سیستم شناسایی گردد.
- CMD
- نام فرآیند.
این نام
میتواند
میان
علامتهای
«کوچکتر/بزرگتر»
('<name>') قرار
گیرد که
نشان
میدهد
فرآیند در
طول آخرین
بازه زمانی
خاتمه
یافته است.
یک رکورد
حسابرسی
منفرد برای
کل فرآیند
پس از خاتمه
آخرین رشته
در آن
فرآیند
نوشته
میشود.
هنگامی که
رشته اصلی
خارج
میشود،
نام فرآیند
به نام رشته
تغییر
مییابد.
در پشت مخفف 'CMD' در خط عنوان، شماره صفحه فعلی و تعداد کل صفحات فهرست فرآیندها/رشتهها نمایش داده میشود. - COMMAND-LINE
- خط فرمان کامل فرآیند (شامل آرگومانها). اگر طول خط فرمان از عرض خط صفحه نمایش فراتر رود، از کلیدهای جهتنما -> و <- میتوان برای پیمایش افقی استفاده کرد.
با
استفاده از
گزینه خط
فرمان -z <regex>
میتوان
متغیرهای
محیطی
منطبق را به
ابتدای خط
فرمان
نمایشدادهشده
اضافه کرد.
قواعد
عبارت منظم
گسترده
پازیکس
مورد
استفاده
قرار
میگیرد
(راهنمای regex(3)
را ببینید).
هنگامی که
یک متغیر
محیطی
منطبق بیش
از حد
طولانی
باشد (از
بافری که
باید خط
فرمان را در
خود جای دهد
فراتر رود)،
کوتاه
خواهد شد.
معمولاً
تنها
متغیرهای
محیطی
فرآیندهایی
نمایش داده
میشوند که
تحت شناسه
کاربری خود
شما در حال
اجرا
هستند، مگر
اینکه شما
یک کاربر
دارای
امتیازات
ارشد باشید.
هشدار:
هنگام
نوشتن در
یک فایل خام
(raw) با دسترسی
عمومی، از
این فلگ
استفاده
نکنید! شما
ممکن است
متغیرهای
محیطی حساس
را در معرض
دید
خوانندگان
آن فایل خام
قرار دهید.
در پشت عبارت 'COMMAND-LINE' در خط عنوان، شماره صفحه فعلی و تعداد کل صفحات فهرست فرآیندها/رشتهها نمایش داده میشود.
- CPU
- درصد اشغال این فرآیند نسبت به ظرفیت موجود این منبع در سطح سیستم.
- CPUNR
- شناسه پردازندهای (CPU) که رشته (اصلی) در حال حاضر روی آن اجرا میشود یا اخیراً روی آن اجرا میشده است.
- CTID
- شناسه کانتینر (OpenVZ). اگر فرآیندی در طول آخرین بازه زمانی شروع شده و خاتمه یافته باشد، علامت '?' نمایش داده میشود زیرا شناسه کانتینر بخشی از رکورد استاندارد حسابرسی فرآیند نیست.
- DSK
- درصد اشغال
این فرآیند
نسبت به کل
بار
تولیدشده
توسط تمامی
فرآیندها
(یعنی مجموع
دسترسیهای
دیسک توسط
همه
فرآیندها
در طول
آخرین بازه
زمانی).
این اطلاعات زمانی نمایش داده میشوند که ویژگی حسابرسی ذخیرهسازی ("storage accounting") به ازای هر فرآیند در کرنل فعال باشد. - EGID
- شناسه گروه موثر (Effective group-id) که این فرآیند تحت آن اجرا میشود. هنگامی که نام طولانیتر از ۸ نویسه باشد یا زمانی که از فلگ -I استفاده شود، شماره شناسه به جای نام نمایش داده میشود. با این حال، در صورت استفاده از فلگ -i، نام کامل گروه نمایش داده خواهد شد.
- ENDATE
- تاریخ خاتمه یافتن فرآیند. اگر فرآیند هنوز در حال اجرا باشد، این فیلد عبارت 'active' را نمایش میدهد.
- ENTIME
- زمان خاتمه یافتن فرآیند. اگر فرآیند هنوز در حال اجرا باشد، این فیلد عبارت 'active' را نمایش میدهد.
- ENVID
- شناسه محیط مجازی (تنها در OpenVZ).
- EUID
- شناسه کاربر موثر (Effective user-id) که این فرآیند تحت آن اجرا میشود. هنگامی که نام طولانیتر از ۸ نویسه باشد یا زمانی که از فلگ -I استفاده شود، شماره شناسه به جای نام نمایش داده میشود. با این حال، در صورت استفاده از فلگ -i، نام کامل کاربر نمایش داده خواهد شد.
- EXC
- کد خروج یک فرآیند خاتمهیافته (موقعیت دوم ستون 'ST' حرف E است) یا شماره سیگنال مرگبار (موقعیت دوم ستون 'ST' حرف S یا C است).
- FSGID
- شناسه گروه سیستمفایل (Filesystem group-id) که این فرآیند تحت آن اجرا میشود. هنگامی که نام طولانیتر از ۸ نویسه باشد یا زمانی که از فلگ -I استفاده شود، شماره شناسه به جای نام نمایش داده میشود.
- FSUID
- شناسه کاربر سیستمفایل (Filesystem user-id) که این فرآیند تحت آن اجرا میشود. هنگامی که نام طولانیتر از ۸ نویسه باشد یا زمانی که از فلگ -I استفاده شود، شماره شناسه به جای نام نمایش داده میشود.
- GPU
- درصد پردازنده گرافیکی (GPU)، نشاندهنده درصد مشغولیت GPU است.
- GPUBUSY
- درصد مشغولیت در تمامی GPUها (یک GPU معادل ۱۰۰٪ است).
- GPUNUMS
- فهرست جداشده با کاما از GPUهای مورد استفاده توسط فرآیند در طول بازه زمانی. هنگامی که این فهرست از عرض ستون فراتر رود، یک مقدار هگزادسیمال نمایش داده میشود.
- LOCKSZ
- میزان حافظه مجازی قفلشده (یعنی غیرقابل انتقال به swap) توسط این فرآیند (یا کاربر).
- MAJFLT
- تعداد نقصهای عمده صفحه (Major Page Faults) صادرشده توسط این فرآیند که با ایجاد یا بارگذاری صفحه حافظه درخواستی از دیسک حل شدهاند.
- MEM
- درصد اشغال حافظه توسط این فرآیند نسبت به ظرفیت موجود این منبع در سطح سیستم.
- MEMAVG
- میانگین اشغال حافظه در طول بازه زمانی روی تمام GPUهای مورد استفاده.
- MEMBUSY
- درصد مشغولیت حافظه در تمامی GPUها (یک GPU معادل ۱۰۰٪ است)، یعنی زمان مورد نیاز برای دسترسیهای خواندن و نوشتن روی حافظه.
- MEMNOW
- میزان اشغال حافظه در لحظه نمونهبرداری روی تمام GPUهای استفادهشده.
- MINFLT
- تعداد نقصهای جزئی صفحه (Minor Page Faults) صادرشده توسط این فرآیند که با بازپسگیری صفحه حافظه درخواستی از فهرست صفحات آزاد حل شدهاند.
- NET
- درصد اشغال
این فرآیند
نسبت به کل
بار شبکه
تولیدشده
توسط تمامی
فرآیندها
(یعنی پهنای
باند مصرفی
شبکه توسط
همه
فرآیندها
در طول
آخرین بازه
زمانی).
این اطلاعات تنها در صورتی نمایش داده میشوند که ماژول اختیاری netatop یا netatop-bpf بارگذاری شده باشد. - NICE
- اولویت کموبیش استاتیکی که میتوان به یک فرآیند اختصاص داد، در مقیاسی از -20 (بالاترین اولویت) تا +19 (پایینترین اولویت).
- NIVCSW
- تعداد دفعاتی که تعویض زمینه (Context Switch) فرآیند یا رشته به صورت غیرداوطلبانه و به دلیل اتمام برش زمانی پردازنده رخ داده است.
- NPROCS
- تعداد فرآیندهای فعال و خاتمهیافته تجمیعشده برای این کاربر یا برنامه.
- NVCSW
- تعداد دفعاتی که تعویض زمینه فرآیند یا رشته به صورت داوطلبانه در صورت فراخوانی مسدودکننده سیستم (مانند انتظار برای اتمام عملیات ورودی/خروجی) رخ داده است.
- OOMADJ
- مقداری که امتیاز OOM این فرآیند را تعدیل میکند (معمولاً ۲/۳ این مقدار برای تعدیل در نظر گرفته میشود) در بازهای از -1000 تا +1000. مقدار -1000 به این معناست که فرآیند هرگز به دلیل کشنده حافظه (OOM Killer) خاتمه نخواهد یافت.
- OOMSC
- امتیاز اتمام حافظه (Out-Of-Memory score) این فرآیند در بازهای بین ۰ تا ۲۰۰۰. هرچه این مقدار بالاتر باشد، در شرایط کمبود حافظه (و فضای swap) احتمال کشته شدن این فرآیند بیشتر خواهد بود.
- PID
- شناسه فرآیند (Process-id). اگر فرآیندی در طول بازه زمانی گذشته شروع شده و به پایان رسیده باشد، علامت '?' نمایش داده میشود زیرا شناسه فرآیند بخشی از رکورد استاندارد حسابرسی فرآیند نیست.
- POLI
- سیاستهای زمانبندی: 'norm' (عادی که همان SCHED_OTHER است)، 'btch' (دستهای یا batch) و 'idle' به فرآیندهای اشتراک زمانی اشاره دارند. سیاستهای 'fifo' (که همان SCHED_FIFO است) و 'rr' (نوبتگردشی یا round robin که SCHED_RR است) به فرآیندهای بلادرنگ اشاره دارند.
- PPID
- شناسه فرآیند والد (Parent process-id). اگر فرآیندی در طول بازه زمانی گذشته آغاز و خاتمه یافته باشد، مقدار ۰ نشان داده میشود زیرا شناسه فرآیند والد بخشی از رکورد استاندارد حسابرسی فرآیند نیست.
- PRI
- اولویت فرآیند در بازه ۰ (بالاترین اولویت) تا ۱۳۹ (پایینترین اولویت). اولویتهای ۰ تا ۹۹ برای فرآیندهای بلادرنگ (اولویت ثابت و مستقل از رفتار آنها) و اولویتهای ۱۰۰ تا ۱۳۹ برای فرآیندهای اشتراک زمانی (اولویت متغیر بر اساس مصرف اخیر پردازنده و مقدار nice) استفاده میشوند.
- PSIZE
- اندازه
حافظه
متناسب (Proportional memory
size) این
فرآیند (یا
کاربر).
هر فرآیندی حافظه مقیم را با سایر فرآیندها به اشتراک میگذارد. برای مثال هنگامی که یک برنامه خاص چندین بار اجرا میشود، صفحات کد (text) تنها یکبار در حافظه بارگذاری شده و میان تمام نمونهها به اشتراک گذاشته میشوند. همچنین کد کتابخانههای اشتراکی توسط تمام فرآیندهای استفادهکننده از آن کتابخانه، و نیز حافظه مشترک و فایلهای نگاشتشده در حافظه به اشتراک گذاشته میشوند. برای محاسبه PSIZE یک فرآیند، حافظه مقیم فرآیند که با سایر فرآیندها مشترک است بر تعداد استفادهکنندگان تقسیم میشود. این بدان معناست که برای هر فرآیند سهم متناسبی از آن حافظه محاسبه میگردد. تجمیع مقادیر PSIZE تمام فرآیندهای سیستم، تصور قابل اعتمادی از کل حافظه مقیم مصرفشده توسط همه فرآیندها ارائه میدهد.
از آنجا که جمعآوری تمامی مقادیر مورد نیاز برای محاسبه PSIZE کاری بسیار زمانبر است، کلید 'R' (یا فلگ -R) باید فعال باشد. گردآوری این مقادیر همچنین نیازمند دسترسیهای مدیر سیستم (کاربر ارشد) است (در غیر این صورت در خروجی '?K' نشان داده میشود).
اگر فرآیندی در طول بازه زمانی گذشته خاتمه یافته باشد، مقداری نشان داده نمیشود زیرا اندازه حافظه متناسب بخشی از رکورد استاندارد حسابرسی فرآیند نیست. - RDDSK
- انتقال
دادههای
خواندن که
به طور
فیزیکی روی
دیسک انجام
شده است
(بنابراین
خواندن از
کش دیسک
محاسبه
نمیشود).
متأسفانه کرنل در هنگام خاتمه یک فرآیند، انتقال دادههای آن را با انتقال دادههای فرآیند والد آن تجمیع میکند. بنابراین ممکن است انتقال دادههایی برای فرآیندهای (والد) مانند bash یا systemd مشاهده کنید که واقعاً توسط آنها انجام نشده بلکه توسط فرآیندهای فرزند خاتمهیافته آنها صادر شده است. - RDELAY
- تاخیر در صف اجرا (Runqueue delay)، یعنی مدت زمان سپریشده در انتظار در یک صف اجرا.
- RGID
- شناسه گروه واقعی (Real group-id) که فرآیند تحت آن اجرا میشود. هنگامی که نام طولانیتر از ۸ نویسه باشد یا زمانی که از فلگ -I استفاده شود، شماره شناسه به جای نام نمایش داده میشود. با این حال، در صورت استفاده از فلگ -i، نام کامل گروه نمایش داده خواهد شد.
- RGROW
- میزان رشد
حافظه مقیم
فرآیند در
طول آخرین
بازه زمانی.
رشد مقیم
میتواند
ناشی از
دسترسی به
صفحات
حافظهای
باشد که
قبلاً به
طور فیزیکی
ایجاد/بارگذاری
نشده بودند
(بارگذاری
در صورت
تقاضا یا load-on-demand).
توجه داشته
باشید که
رشد مقیم
میتواند
منفی نیز
باشد؛
مثلاً
زمانی که
بخشی از
فرآیند به
دلیل کمبود
حافظه به swap
منتقل شود
یا زمانی که
فرآیند
حافظه
تخصیصیافته
به صورت
پویا را
آزاد کند.
برای
فرآیندی که
در طول بازه
زمانی
گذشته آغاز
شده باشد،
رشد مقیم
نشاندهنده
کل اندازه
مقیم
فرآیند در
آن لحظه
است.
اگر فرآیندی در طول بازه زمانی گذشته به پایان رسیده باشد، مقداری نشان داده نمیشود زیرا اشغال حافظه مقیم بخشی از رکورد استاندارد حسابرسی فرآیند نیست. - RNET
- تعداد
بستههای TCP
و UDP دریافت
شده توسط
این فرآیند.
این
اطلاعات
تنها در
صورتی
نمایش داده
میشوند که
ماژول
اختیاری netatop
یا netatop-bpf نصب
شده باشد.
اگر فرآیندی در طول بازه زمانی گذشته به پایان رسیده باشد، مقداری نمایش داده نمیشود زیرا شمارندههای شبکه بخشی از رکورد استاندارد حسابرسی فرآیند نیستند. - RSIZE
- کل حافظه
مقیم
مصرفشده
توسط این
فرآیند (یا
کاربر).
توجه داشته
باشید که
مقدار RSIZE یک
فرآیند
شامل تمامی
حافظه مقیم
مورد
استفاده
توسط آن
فرآیند
است، حتی
اگر
بخشهای
خاصی از
حافظه با
فرآیندهای
دیگر به
اشتراک
گذاشته شده
باشد
(توضیحات
مربوط به PSIZE
را نیز
ببینید).
اگر فرآیندی در طول بازه زمانی گذشته به پایان رسیده باشد، مقداری نشان داده نمیشود زیرا اشغال حافظه مقیم بخشی از رکورد استاندارد حسابرسی فرآیند نیست. - RTPR
- اولویت بلادرنگ طبق استاندارد پازیکس (POSIX). مقدار آن میتواند برای یک فرآیند اشتراک زمانی (سیاست 'norm' یا 'btch' یا 'idle') برابر با ۰ باشد، یا برای فرآیند بلادرنگ (سیاست 'rr' یا 'fifo') در بازهای از ۱ (پایینترین) تا ۹۹ (بالاترین) قرار گیرد.
- RUID
- شناسه کاربر واقعی (Real user-id) که فرآیند تحت آن اجرا میشود. هنگامی که نام طولانیتر از ۸ نویسه باشد یا زمانی که از فلگ -I استفاده شود، شماره شناسه به جای نام نمایش داده میشود. با این حال، در صورت استفاده از فلگ -i، نام کامل کاربر نمایش داده خواهد شد.
- S
- وضعیت فعلی رشته (اصلی): 'R' برای در حال اجرا (درحال حاضر در حال پردازش یا در صف اجرا)، 'S' برای خواب با قابلیت وقفه (در انتظار وقوع یک رخداد)، 'D' برای خواب بدون وقفه، 'Z' برای زامبی (در انتظار همگامسازی با فرآیند والد)، 'T' برای متوقفشده (تعلیقشده یا ردیابیشده)، 'W' برای انتقال به swap، و 'E' (exit) برای فرآیندهایی که در طول آخرین بازه زمانی پایان یافتهاند.
- SGID
- شناسه گروه ذخیرهشده (Saved group-id) فرآیند. هنگامی که نام طولانیتر از ۸ نویسه باشد یا زمانی که از فلگ -I استفاده شود، شماره شناسه به جای نام نمایش داده میشود.
- SNET
- تعداد بستههای TCP و UDP ارسالشده توسط این فرآیند. این اطلاعات تنها در صورتی نمایش داده میشوند که ماژول اختیاری netatop یا netatop-bpf نصب شده باشد.
- ST
- وضعیت یک
فرآیند.
موقعیت اول نشان میدهد که آیا فرآیند در طول آخرین بازه زمانی آغاز شده است یا خیر (مقدار N به معنای 'فرآیند جدید' است).
موقعیت
دوم نشان
میدهد که
آیا فرآیند
در طول
آخرین بازه
زمانی به
پایان
رسیده است
یا خیر.
مقدار E به
معنای خروج
با تصمیم
خود فرآیند
('exit') است؛ کد
خروج در
ستون 'EXC'
نمایش داده
میشود.
مقدار S به
معنای
خاتمه
غیرداوطلبانه
فرآیند
توسط یک
سیگنال
است؛ شماره
سیگنال در
ستون 'EXC'
نمایش داده
میشود.
مقدار C به
معنای
خاتمه
غیرداوطلبانه
فرآیند
توسط یک
سیگنال
همراه با
تولید فایل
تخلیه
حافظه (core dump) در
دایرکتوری
جاری است؛
شماره
سیگنال در
ستون 'EXC'
نمایش داده
میشود.
- STDATE
- تاریخ شروع فرآیند.
- STTIME
- زمان شروع فرآیند.
- SUID
- شناسه کاربر ذخیرهشده (Saved user-id) فرآیند. هنگامی که نام طولانیتر از ۸ نویسه باشد یا زمانی که از فلگ -I استفاده شود، شماره شناسه به جای نام نمایش داده میشود.
- SWAPSZ
- فضای swap مصرفشده توسط این فرآیند (یا کاربر).
- SYSCPU
- میزان مصرف زمان پردازنده توسط این فرآیند در حالت سیستمی (حالت کرنل)، که معمولاً ناشی از پردازش فراخوانیهای سیستمی است.
- TCPRASZ
- میانگین اندازه بافر TCP دریافتی به بایت. این اطلاعات تنها در صورتی نمایش داده میشوند که ماژول اختیاری netatop یا netatop-bpf نصب شده باشد.
- TCPRCV
- تعداد بستههای TCP دریافتشده برای این فرآیند. این اطلاعات تنها در صورتی نمایش داده میشوند که ماژول اختیاری netatop یا netatop-bpf نصب شده باشد.
- TCPSASZ
- میانگین اندازه بافر TCP ارسالشده به بایت. این اطلاعات تنها در صورتی نمایش داده میشوند که ماژول اختیاری netatop یا netatop-bpf نصب شده باشد.
- TCPSND
- تعداد بستههای TCP ارسالشده برای این فرآیند. این اطلاعات تنها در صورتی نمایش داده میشوند که ماژول اختیاری netatop یا netatop-bpf نصب شده باشد.
- THR
- تعداد کل رشتهها در این فرآیند. تمامی رشتههای مرتبط در یک گروه رشته قرار دارند که توسط atop بهصورت یک خط یا در صورت فعال بودن کلید 'y' (یا فلگ -y) در قالب خطوط جداگانه نمایش داده میشوند.
در سیستمهای لینوکس 2.4 تشخیص اینکه کدام رشتهها (یعنی فرآیندها) به یک گروه رشته تعلق دارند بسیار دشوار است. هر رشته توسط atop بهصورت یک خط جداگانه نمایش داده میشود.
- TID
- شناسه رشته (Thread-id). تمامی رشتههای درون یک فرآیند با PID یکسان اما با TID متفاوتی اجرا میشوند. این مقدار برای تکتک رشتهها در فرآیندهای چندرشتهای (هنگام استفاده از کلید 'y') نمایش داده میشود.
- TIDLE
- تعداد رشتههای این فرآیند که در حالت 'idle' (I) هستند، یعنی رشتههای در خواب بدون وقفه که در میانگین بار سیستم محاسبه نمیشوند.
- TRUN
- تعداد رشتههای درون این فرآیند که در حالت 'running' (R) قرار دارند.
- TSLPI
- تعداد رشتههای درون این فرآیند که در حالت 'interruptible sleeping' (S) قرار دارند.
- TSLPU
- تعداد رشتههای درون این فرآیند که در حالت 'uninterruptible sleeping' (D) قرار دارند.
- UDPRASZ
- میانگین اندازه بسته UDP دریافتی به بایت. این اطلاعات تنها در صورتی نمایش داده میشوند که ماژول اختیاری netatop یا netatop-bpf نصب شده باشد.
- UDPRCV
- تعداد بستههای UDP دریافتشده توسط این فرآیند. این اطلاعات تنها در صورتی نمایش داده میشوند که ماژول اختیاری netatop یا netatop-bpf نصب شده باشد.
- UDPSASZ
- میانگین اندازه بستههای UDP ارسالی به بایت. این اطلاعات تنها در صورتی نمایش داده میشوند که ماژول اختیاری netatop یا netatop-bpf نصب شده باشد.
- UDPSND
- تعداد بستههای UDP ارسالشده توسط این فرآیند. این اطلاعات تنها در صورتی نمایش داده میشوند که ماژول اختیاری netatop یا netatop-bpf نصب شده باشد.
- USRCPU
- میزان مصرف زمان پردازنده توسط این فرآیند در حالت کاربر، ناشی از پردازش کد برنامه خود فرآیند.
- VDATA
- اندازه حافظه مجازی دادههای خصوصی استفادهشده توسط این فرآیند (شامل دادههای heap و کتابخانههای اشتراکی).
- VGROW
- میزان رشد
حافظه
مجازی
فرآیند در
طول آخرین
بازه زمانی.
رشد مجازی
میتواند
مثلاً ناشی
از صدور malloc()
یا اتصال یک
قطعه حافظه
مشترک باشد.
توجه داشته
باشید که
رشد مجازی
میتواند
منفی نیز
باشد،
مثلاً با
صدور free() یا
جدا کردن یک
قطعه حافظه
مشترک. برای
فرآیندی که
در طول بازه
زمانی
گذشته آغاز
شده باشد،
رشد مجازی
نشاندهنده
کل اندازه
مجازی
فرآیند در
آن لحظه
است.
اگر فرآیندی در طول بازه زمانی گذشته به پایان رسیده باشد، مقداری نمایش داده نمیشود زیرا اشغال حافظه مجازی بخشی از رکورد استاندارد حسابرسی فرآیند نیست. - VPID
- شناسه فرآیند مجازی (درون کانتینر OpenVZ). اگر فرآیندی در طول آخرین بازه زمانی آغاز و خاتمه یافته باشد، علامت '?' نمایش داده میشود زیرا شناسه فرآیند مجازی بخشی از رکورد استاندارد حسابرسی فرآیند نیست.
- VSIZE
- کل حافظه
مجازی
مصرفشده
توسط این
فرآیند (یا
کاربر).
اگر فرآیندی در طول بازه زمانی گذشته پایان یافته باشد، مقداری نشان داده نمیشود زیرا اشغال حافظه مجازی بخشی از رکورد استاندارد حسابرسی فرآیند نیست. - VSLIBS
- اندازه حافظه مجازی بخش کد (اشتراکی) تمام کتابخانههای اشتراکی مورد استفاده توسط این فرآیند.
- VSTACK
- اندازه حافظه مجازی پشته (خصوصی) مورد استفاده توسط این فرآیند.
- VSTEXT
- اندازه حافظه مجازی بخش کد (اشتراکی) برنامه اجرایی.
- WCHAN
- کانال
انتظار
رشته در
حالت خواب؛
یعنی نام
تابع کرنلی
که رشته در
آن به خواب
رفته است.
از آنجا که تعیین رشته نام تابع کرنل کاری نسبتاً زمانبر است، کلید 'W' (یا فلگ -W) باید فعال باشد. - WRDSK
- انتقال
دادههای
نوشتن که به
طور فیزیکی
روی دیسک
انجام شده
است
(بنابراین
نوشتن در کش
دیسک
محاسبه
نمیشود).
این
شمارنده
برای
فرآیند
برنامهای
نگهداری
میشود که
دادههای
خود را در
کش
مینویسد
(با این فرض
که این
دادهها
بعداً به
طور فیزیکی
به دیسک
منتقل
میشوند).
توجه داشته
باشید که I/O
دیسک مورد
نیاز برای swap
در نظر
گرفته
نمیشود.
متأسفانه کرنل هنگام خاتمه یک فرآیند، انتقال دادههای آن را با انتقال دادههای فرآیند والد آن تجمیع میکند. بنابراین ممکن است انتقال دادههایی برای فرآیندهای (والد) مانند bash یا systemd مشاهده کنید که واقعاً توسط آنها انجام نشده بلکه توسط فرآیندهای فرزند پایانیافته آنها صادر شده است. - WCANCL
- میزان انتقال دادههای نوشتنی که قبلاً برای این فرآیند یا فرآیند دیگری محاسبه شده بود و اکنون لغو شده است. فرض کنید فرآیندی دادههای جدیدی را در یک فایل مینویسد و آن دادهها پیش از تخلیه بافرهای کش به دیسک، مجدداً حذف میشوند. در این صورت، فرآیند اصلی دادههای نوشتهشده را در WRDSK نشان میدهد، در حالی که فرآیندی که فایل را حذف یا کوتاه (truncate) میکند، دادههای حذفشده تخلیهنشده را در WCANCL نشان میدهد.
خروجی قابل تجزیه (PARSABLE OUTPUT)
با استفاده از گزینه -P بههمراه فهرستی از یک یا چند برچسب (جداشده با کاما)، خروجی قابل تجزیه (parsable) برای هر نمونه تولید میشود. برچسبهایی که میتوان برای آمار در سطح سیستم مشخص کرد، مطابق با برچسبهایی (اولین کلمه هر خط) هستند که در خروجی تعاملی یافت میشوند: "CPU"، "cpu"، "CPL"، "GPU"، "MEM"، "SWP"، "PAG"، "PSI"، "LVM"، "MDD"، "DSK"، "NFM"، "NFC"، "NFS"، "NET"، "IFB"، "LLC"، "NUM" و "NUC".
برای آمار در سطح cgroup، برچسب "CGR" در دسترس است.
برای آمار
در سطح
فرایند،
برچسبهای
ویژهای در
دسترس است:
"PRG" (عمومی)،
"PRC"
(پردازنده)،
"PRE"
(پردازنده
گرافیکی)،
"PRM" (حافظه)،
"PRD" (دیسک،
اما
نیازمند
دسترسیهای
ویژه است) و
"PRN" (شبکه،
تنها در
صورتی که
ماژول
اختیاری netatop
یا netatop-bpf نصب
شده باشد).
با برچسب
"ALL"، تمام
آمارهای
سطح سیستم و
سطح فرایند
نمایش داده
میشوند.
دستور و خط فرمان در خروجی قابل تجزیه ممکن است حاوی فاصله باشند و به همین دلیل بهطور پیشفرض درون پرانتز قرار میگیرند. با این حال، از آنجا که ابزارهای تجزیه اغلب از فاصله بهعنوان جداکننده میان فیلدها استفاده میکنند، با گزینه اضافی -Z امکان جایگزینی فاصلهها در دستور (خط فرمان) با زیرخط (underscore) و حذف پرانتزها وجود دارد.
برای هر
بازه، تمام
خطوط
درخواستی
نشان داده
میشوند و
پس از آن atop
خطی را فقط
شامل برچسب
"SEP"
بهعنوان
جداکننده
پیش از
تولید خطوط
نمونه بعدی
نمایش
میدهد.
هنگامی که
یک نمونه
حاوی
مقادیر از
زمان
راهاندازی
سیستم (boot)
باشد، atop
خطی را فقط
شامل برچسب
"RESET" پیش از
تولید خطوط
مربوط به
این نمونه
نمایش
میدهد.
بخش نخست هر خط خروجی شامل شش فیلد زیر است: label (نام برچسب)، host (نام این سیستم/میزبان)، epoch (زمان این بازه بهصورت تعداد ثانیههای سپریشده از 1-1-1970)، date (تاریخ این بازه در قالب YYYY/MM/DD)، time (زمان این بازه در قالب HH:MM:SS) و interval (تعداد ثانیههای سپریشده برای این بازه).
فیلدهای بعدی هر خط خروجی به برچسب بستگی دارند:
- CPU
- فیلدهای بعدی: تعداد کل تیکهای ساعت در هر ثانیه برای این سیستم، تعداد پردازندهها، میزان مصرف برای تمام CPUها در حالت سیستم (تیکهای ساعت)، میزان مصرف برای تمام CPUها در حالت کاربر (تیکهای ساعت)، میزان مصرف برای تمام CPUها در حالت کاربر برای فرایندهای دارای nice (تیکهای ساعت)، میزان مصرف برای تمام CPUها در حالت بیکار (idle) (تیکهای ساعت)، میزان مصرف برای تمام CPUها در حالت انتظار (wait) (تیکهای ساعت)، میزان مصرف برای تمام CPUها در حالت irq (تیکهای ساعت)، میزان مصرف برای تمام CPUها در حالت softirq (تیکهای ساعت)، میزان مصرف برای تمام CPUها در حالت steal (تیکهای ساعت)، میزان مصرف برای تمام CPUها در حالت میهمان (guest) (تیکهای ساعت) همپوشان با حالت کاربر، فرکانس تمام CPUها (برحسب مگاهرتز)، درصد فرکانس تمام CPUها، دستورالعملهای اجراشده توسط تمام CPUها و چرخههای ساعت (cycles) برای تمام CPUها.
- cpu
- فیلدهای بعدی: تعداد کل تیکهای ساعت در هر ثانیه برای این سیستم، شماره پردازنده، میزان مصرف برای این CPU در حالت سیستم (تیکهای ساعت)، میزان مصرف برای این CPU در حالت کاربر (تیکهای ساعت)، میزان مصرف برای این CPU در حالت کاربر برای فرایندهای دارای nice (تیکهای ساعت)، میزان مصرف برای این CPU در حالت بیکار (تیکهای ساعت)، میزان مصرف برای این CPU در حالت انتظار (تیکهای ساعت)، میزان مصرف برای این CPU در حالت irq (تیکهای ساعت)، میزان مصرف برای این CPU در حالت softirq (تیکهای ساعت)، میزان مصرف برای این CPU در حالت steal (تیکهای ساعت)، میزان مصرف برای این CPU در حالت میهمان (تیکهای ساعت) همپوشان با حالت کاربر، فرکانس این CPU (برحسب مگاهرتز)، درصد فرکانس این CPU، دستورالعملهای اجراشده توسط این CPU و چرخههای ساعت برای این CPU.
- CPL
- فیلدهای بعدی: تعداد پردازندهها، میانگین بار کاری در یک دقیقه گذشته، میانگین بار کاری در پنج دقیقه گذشته، میانگین بار کاری در پانزده دقیقه گذشته، تعداد تعویض زمینهها (context-switches)، و تعداد وقفههای دستگاهها.
- GPU
- فیلدهای بعدی: شماره GPU، رشته شناسه گذرگاه (bus-id)، رشته نوع GPU، درصد مشغول بودن GPU در طول ثانیه گذشته (در صورت عدم دسترسی -1)، درصد مشغول بودن حافظه در طول ثانیه گذشته (در صورت عدم دسترسی -1)، کل حجم حافظه (KiB)، حافظه مصرفی (KiB) در این لحظه، تعداد نمونههای گرفتهشده در طول این بازه، درصد تجمعی مشغول بودن GPU در طول بازه (که باید بر تعداد نمونهها تقسیم شود تا میانگین درصد اشتغال به دست آید؛ در صورت عدم دسترسی -1)، درصد تجمعی مشغول بودن حافظه در طول بازه (که باید بر تعداد نمونهها تقسیم شود تا میانگین درصد اشتغال به دست آید؛ در صورت عدم دسترسی -1)، و اشغال تجمعی حافظه در طول بازه (که باید بر تعداد نمونهها تقسیم شود تا میانگین اشغال به دست آید).
- MEM
- فیلدهای بعدی: اندازه صفحه برای این سیستم (برحسب بایت)، اندازه حافظه فیزیکی (برحسب صفحه)، اندازه حافظه آزاد (برحسب صفحه)، اندازه حافظه موقت صفحات یا page cache (برحسب صفحه)، اندازه بافر حافظه یا buffer cache (برحسب صفحه)، اندازه slab (برحسب صفحه)، صفحات دستکاریشده در کش (برحسب صفحه)، بخش قابل بازپسگیری از slab (برحسب صفحه)، کل اندازه صفحات بالون vmware (برحسب صفحه)، کل اندازه حافظه اشتراکی (برحسب صفحه)، اندازه حافظه اشتراکی مقیم (برحسب صفحه)، اندازه حافظه اشتراکی انتقالیافته به swap (برحسب صفحه)، اندازه صفحات بزرگ کوچکتر (برحسب بایت)، کل اندازه صفحات بزرگ کوچکتر (برحسب huge page)، اندازه صفحات بزرگ کوچکتر آزاد (برحسب huge page)، اندازه ARC (کش) مربوط به ZFSonlinux (برحسب صفحه)، اندازه صفحات اشتراکگذاری برای KSM (برحسب صفحه)، اندازه صفحات اشتراکگذاشتهشده برای KSM (برحسب صفحه)، اندازه حافظه مصرفی برای سوکتهای TCP (برحسب صفحه)، اندازه حافظه مصرفی برای سوکتهای UDP (برحسب صفحه)، اندازه جدول صفحات یا pagetables (برحسب صفحه)، اندازه صفحات بزرگ بزرگتر (برحسب بایت)، کل اندازه صفحات بزرگ بزرگتر (برحسب huge page)، اندازه صفحات بزرگ بزرگتر آزاد (برحسب huge page)، اندازه حافظه در دسترس (برحسب صفحه) برای بارهای کاری جدید بدون نیاز به swap، و اندازه صفحات بزرگ شفاف ناشناس (صفحات 'معمولی').
- SWP
- فیلدهای بعدی: اندازه صفحه برای این سیستم (برحسب بایت)، اندازه swap (برحسب صفحه)، اندازه فضای آزاد swap (برحسب صفحه)، اندازه حافظه موقت swap (برحسب صفحه)، اندازه فضای تخصیصیافته (committed space) (برحسب صفحه)، حد مجاز فضای تخصیصیافته (برحسب صفحه)، اندازه کش swap (برحسب صفحه)، اندازه واقعی (فشردهنشده) صفحات ذخیرهشده در zswap (برحسب صفحه)، و اندازه فضای ذخیرهسازی فشرده مصرفی برای zswap (برحسب صفحه).
- LLC
- فیلدهای بعدی: شناسه LLC، درصد استفاده از LLC، پهنای باند کل حافظه برای این LLC (برحسب بایت)، و پهنای باند حافظه روی گره NUMA محلی برای این LLC (برحسب بایت).
- PAG
- فیلدهای بعدی: اندازه صفحه برای این سیستم (برحسب بایت)، تعداد پایشهای صفحه (page scans)، تعداد توقفهای ناشی از تخصیص (allocstalls)، 0 (برای استفاده در آینده)، تعداد دفعات انتقال از swap به حافظه (swapins)، تعداد دفعات انتقال از حافظه به swap (swapouts)، تعداد کشتارهای ناشی از کمبود حافظه (oomkills) (در صورت عدم وجود شمارنده -1)، تعداد توقفهای فرایند برای اجرای فشردهسازی حافظه (memory compaction)، تعداد کل صفحاتی که با موفقیت جابهجا شدهاند، تعداد صفحات NUMA جابهجا شده، تعداد صفحات خواندهشده از دستگاههای بلوکی، تعداد صفحات نوشتهشده در دستگاههای بلوکی، تعداد swapins از zswap، و تعداد swapouts به zswap.
- PSI
- فیلدهای بعدی: وجود آمار PSI در این سیستم (y یا n)، فشار CPU some avg10، CPU some avg60، CPU some avg300، میکروثانیههای انباشته CPU some در طول بازه، فشار memory some avg10، memory some avg60، memory some avg300، میکروثانیههای انباشته memory some در طول بازه، فشار memory full avg10، memory full avg60، memory full avg300، میکروثانیههای انباشته memory full در طول بازه، فشار I/O some avg10، I/O some avg60، I/O some avg300، میکروثانیههای انباشته I/O some در طول بازه، فشار I/O full avg10، I/O full avg60، I/O full avg300، و میکروثانیههای انباشته I/O full در طول بازه.
- LVM/MDD/DSK
- به ازای هر
حجم منطقی /
دستگاه
چندگانه /
دیسک سخت،
یک خط نشان
داده
میشود.
فیلدهای بعدی: نام، تعداد میلیثانیههای صرفشده برای ورودی/خروجی (I/O)، تعداد عملیات خواندن صادرشده، تعداد سکتورهای منتقلشده برای خواندن، تعداد عملیات نوشتن صادرشده، تعداد سکتورهای منتقلشده برای نوشتن، تعداد دستورات دور انداختن (discard) صادرشده (در صورت عدم پشتیبانی -1)، تعداد سکتورهای منتقلشده برای دور انداختن، تعداد درخواستهای در حال انجام (تکمیلنشده)، و میانگین عمق صف در مدت مشغول بودن دیسک. - NFM
- فیلدهای بعدی: سیستمفایل NFS مانتشده، تعداد کل بایتهای خواندهشده، تعداد کل بایتهای نوشتهشده، تعداد بایتهای خواندهشده توسط فراخوانیهای سیستمی عادی، تعداد بایتهای نوشتهشده توسط فراخوانیهای سیستمی عادی، تعداد بایتهای خواندهشده از طریق ورودی/خروجی مستقیم (Direct I/O)، تعداد بایتهای نوشتهشده از طریق ورودی/خروجی مستقیم (Direct I/O)، تعداد صفحات خواندهشده برای پیشخوانی کش صفحه (read-ahead)، و تعداد صفحات نوشتهشده برای پسنویسی کش صفحه (write-back) (تخلیههای ناهمگام).
- NFC
- فیلدهای بعدی: تعداد RPCهای ارسالی، تعداد RPCهای ارسالی مربوط به خواندن، تعداد RPCهای ارسالی مربوط به نوشتن، تعداد ارسال مجدد RPCها (retransmissions)، و تعداد تازهسازیهای مجوز.
- NFS
- فیلدهای بعدی: تعداد RPCهای مدیریتشده، تعداد RPCهای دریافتی مربوط به خواندن، تعداد RPCهای دریافتی مربوط به نوشتن، تعداد بایتهای خواندهشده توسط کلاینتها، تعداد بایتهای نوشتهشده توسط کلاینتها، تعداد RPCهای با قالب نادرست (bad format)، تعداد RPCهای با احراز هویت نادرست (bad authorization)، تعداد RPCهای دریافتی از کلاینت نادرست، تعداد کل درخواستهای شبکه مدیریتشده، تعداد درخواستهای شبکه مدیریتشده از طریق TCP، تعداد درخواستهای شبکه مدیریتشده از طریق UDP، تعداد اتصالات TCP مدیریتشده، تعداد موارد اصابت به کش پاسخ (reply cache hits)، تعداد موارد عدم اصابت به کش پاسخ (reply cache misses)، و تعداد درخواستهای بدون کش.
- NET
- ابتدا یک خط
برای
لایههای
بالایی
پشته TCP/IP
تولید
میشود.
فیلدهای بعدی: عبارت "upper"، تعداد بستههای دریافتشده توسط TCP، تعداد بستههای ارسالشده توسط TCP، تعداد بستههای دریافتشده توسط UDP، تعداد بستههای ارسالشده توسط UDP، تعداد بستههای دریافتشده توسط IP، تعداد بستههای ارسالشده توسط IP، تعداد بستههای تحویلدادهشده به لایههای بالاتر توسط IP، تعداد بستههای فورواردشده توسط IP، تعداد خطاهای ورودی (UDP)، تعداد خطاهای پورت ناموجود یا noport (در UDP)، تعداد بازگشاییهای فعال (TCP)، تعداد بازگشاییهای غیرفعال (TCP)، تعداد اتصالات برقرارشده در این لحظه (TCP)، تعداد بخشهای (segments) باز ارسالشده (TCP)، تعداد خطاهای ورودی (TCP)، تعداد ریستهای خروجی (TCP)، و تعداد خطاهای checksum در بستههای دریافتی (TCP).سپس برای هر رابط یک خط نشان داده میشود.
فیلدهای بعدی: نام رابط، تعداد بستههای دریافتشده توسط رابط، تعداد بایتهای دریافتشده توسط رابط، تعداد بستههای ارسالشده توسط رابط، تعداد بایتهای ارسالشده توسط رابط، سرعت رابط، حالت duplex (صفر=half، یک=full)، خطاهای دریافت، خطاهای ارسال، دورریزیهای دریافت (drops)، دورریزیهای ارسال، fifo دریافت، fifo ارسال، دریافت فشرده، ارسال فشرده، خطاهای فریمبندی دریافت، چندپخشی (multicast) دریافتی، برخوردهای (collisions) ارسال، و حامل (carrier) ارسال. - IFB
- فیلدهای بعدی: نام رابط InfiniBand، شماره پورت، تعداد خطوط (lanes)، حداکثر نرخ انتقال (Mbps)، تعداد بایتهای دریافتشده، تعداد بایتهای ارسالشده، تعداد بستههای دریافتشده، و تعداد بستههای ارسالشده.
- NUM
- فیلدهای بعدی: شماره گره NUMA، اندازه صفحه برای این سیستم (برحسب بایت)، درصد تکهتکهشدگی (fragmentation) این گره، اندازه حافظه فیزیکی (برحسب صفحه)، اندازه حافظه آزاد (برحسب صفحه)، حافظه اخیراً استفادهشده (فعال) (برحسب صفحه)، حافظه کمتر استفادهشده در زمان اخیر (غیرفعال) (برحسب صفحه)، اندازه دادههای کششده فایل (برحسب صفحه)، صفحات دستکاریشده در کش (برحسب صفحه)، حافظه slab مورد استفاده برای mallocهای هسته (برحسب صفحه)، حافظه slab قابل بازپسگیری (برحسب صفحه)، حافظه اشتراکی شامل tmpfs (برحسب صفحه)، کل صفحات بزرگ (huge pages)، و صفحات بزرگ آزاد (huge pages).
- NUC
- فیلدهای بعدی: شماره گره NUMA، تعداد پردازندهها برای این گره، میزان مصرف برای CPUهای این گره در حالت سیستم (تیکهای ساعت)، میزان مصرف برای CPUهای این گره در حالت کاربر (تیکهای ساعت)، میزان مصرف برای CPUهای این گره در حالت کاربر برای فرایندهای دارای nice (تیکهای ساعت)، میزان مصرف برای CPUهای این گره در حالت بیکار (تیکهای ساعت)، میزان مصرف برای CPUهای این گره در حالت انتظار (تیکهای ساعت)، میزان مصرف برای CPUهای این گره در حالت irq (تیکهای ساعت)، میزان مصرف برای CPUهای این گره در حالت softirq (تیکهای ساعت)، میزان مصرف برای CPUهای این گره در حالت steal (تیکهای ساعت)، و میزان مصرف برای CPUهای این گره در حالت میهمان (تیکهای ساعت) همپوشان با حالت کاربر.
- CGR
- برای هر cgroup
(سطح)، یک یا
دو خط نشان
داده
میشود. خط
اول مقادیر
استفاده و
پیکربندی cgroup
را نشان
میدهد. خط
دوم و
اختیاری،
شناسه
فرایندهای
(PIDs)
اختصاصیافته
به این cgroup را
نشان
میدهد.
فیلدهای بعدی خط اول: نویسه 'C'، مسیر کامل cgroup، تعداد فرایندهای اختصاصیافته به این گروه، تعداد فرایندهای اختصاصیافته به cgroupهای زیرین، میزان مصرف CPU در حالت کاربر (میکروثانیه)، میزان مصرف CPU در حالت سیستم (میکروثانیه)، وزن CPU، حداکثر CPU، میزان مصرف کنونی حافظه (برحسب صفحه)، میزان مصرف حافظه ناشناس (برحسب صفحه)، میزان مصرف حافظه فایل (برحسب صفحه)، میزان مصرف حافظه هسته (برحسب صفحه)، میزان مصرف حافظه اشتراکی (برحسب صفحه)، حداکثر حافظه (برحسب صفحه)، حداکثر swap (برحسب صفحه)، تعداد بایتهای خواندهشده از دیسک، تعداد بایتهای نوشتهشده روی دیسک، تعداد درخواستهای خواندن از دیسک، تعداد درخواستهای نوشتن روی دیسک، وزن دیسک، فشار cpu some (میکروثانیه)، فشار کل cpu (میکروثانیه)، فشار memory some (میکروثانیه)، فشار کل memory (میکروثانیه)، فشار disk some (میکروثانیه) و فشار کل disk (میکروثانیه).
فیلدهای بعدی خط دوم (فقط زمانی که فرایندهایی به این cgroup اختصاص یافته باشند): نویسه 'P'، مسیر کامل cgroup، و فهرستی از PIDs که با فاصله جدا شدهاند.
- PRG
- برای هر
فرایند یک
خط نشان
داده
میشود.
فیلدهای بعدی: PID (شناسه یکتای وظیفه)، نام (بین پرانتز یا زیرخط برای فاصلهها)، وضعیت، شناسه کاربری واقعی (real uid)، شناسه گروهی واقعی (real gid)، شناسه TGID (شماره گروه وظایف/نخهای مرتبط)، تعداد کل نخها، کد خروج (در صورت سیگنال کشنده: شماره سیگنال + 256)، زمان شروع (epoch)، خط فرمان کامل (بین پرانتز یا زیرخط برای فاصلهها)، PPID، تعداد نخها در وضعیت 'running' (در حال اجرا - R)، تعداد نخها در وضعیت 'interruptible sleeping' (خواب با قابلیت وقفه - S)، تعداد نخها در وضعیت 'uninterruptible sleeping' (خواب بدون وقفه - D)، شناسه کاربری موثر (effective uid)، شناسه گروهی موثر (effective gid)، شناسه کاربری ذخیرهشده (saved uid)، شناسه گروهی ذخیرهشده (saved gid)، شناسه کاربری سیستمفایل (filesystem uid)، شناسه گروهی سیستمفایل (filesystem gid)، زمان سپریشده فرایند پایانیافته (hertz)، آیا فرایند است (is_process بهصورت y/n)، شناسه پیآیدی مجازی OpenVZ (یا VPID)، شناسه ظرف OpenVZ (یا CTID)، نام کانتینر/پاد (CID/POD)، نشانگر شروع تازه وظیفه در طول این بازه ('N')، نام مسیر cgroup v2 (بین پرانتز یا زیرخط برای فاصلهها)، زمان پایان (epoch یا 0 در صورت فعال بودن)، و تعداد نخها در وضعیت 'idle' (بیکار - I). - PRC
- برای هر
فرایند یک
خط نشان
داده
میشود.
فیلدهای بعدی: PID، نام (بین پرانتز یا زیرخط برای فاصلهها)، وضعیت، تعداد کل تیکهای ساعت در هر ثانیه برای این سیستم، میزان مصرف CPU در حالت کاربر (تیکهای ساعت)، میزان مصرف CPU در حالت سیستم (تیکهای ساعت)، مقدار nice، اولویت، اولویت بیدرنگ (realtime priority)، سیاست زمانبندی، CPU کنونی (-1 برای فرایند خارجشده)، میانگین خواب، TGID (شماره گروه وظایف/نخهای مرتبط)، آیا فرایند است (y/n)، تأخیر صف اجرا (runqueue delay) برحسب نانوثانیه برای این نخ یا تمام نخها (در صورت فرایند بودن)، کانال انتظار (wait channel) این نخ (بین پرانتز یا زیرخط برای فاصلهها)، تأخیر ورودی/خروجی بلوکی (تیکهای ساعت)، مقدار 'cpu.max' در cgroup v2 محاسبهشده بهصورت درصد (-3 یعنی عدم پشتیبانی از cgroup v2، -2 یعنی تعریفنشده و -1 یعنی حداکثر)، محدودکنندهترین 'cpu.max' در شاخههای بالادستی cgroup v2 محاسبهشده بهصورت درصد (-3 یعنی عدم پشتیبانی از cgroup v2، -2 یعنی تعریفنشده و -1 یعنی حداکثر)، تعداد تعویضهای اختیاری زمینه، و تعداد تعویضهای غیراختیاری زمینه. - PRE
- برای هر
فرایند یک
خط نشان
داده
میشود.
فیلدهای بعدی: PID، نام (بین پرانتز یا زیرخط برای فاصلهها)، وضعیت فرایند، وضعیت GPU (حرف A برای فعال، E برای خارجشده، N برای عدم استفاده از GPU)، تعداد GPUهای مورد استفاده این فرایند، لیست بیتی نشاندهنده GPUهای مورد استفاده، درصد اشتغال GPU در طول بازه، درصد اشتغال حافظه در طول بازه، اشغال حافظه (KiB) در این لحظه، اشغال تجمعی حافظه (KiB) در طول بازه، تعداد نمونههای گرفتهشده در طول بازه، آیا فرایند است (is_process بهصورت y/n)، و نوع فرایند (C برای محاسباتی، G برای گرافیکی و U برای نامشخص). - PRM
- برای هر
فرایند یک
خط نشان
داده
میشود.
فیلدهای بعدی: PID، نام (بین پرانتز یا زیرخط برای فاصلهها)، وضعیت، اندازه صفحه برای این سیستم (برحسب بایت)، اندازه حافظه مجازی (KiB)، اندازه حافظه مقیم (KiB)، اندازه حافظه متن مشترک (shared text) (برحسب KiB)، رشد حافظه مجازی (KiB)، رشد حافظه مقیم (KiB)، تعداد خطاهای جزئی صفحه (minor page faults)، تعداد خطاهای عمده صفحه (major page faults)، اندازه اجرایی کتابخانههای مجازی (KiB)، اندازه دادههای مجازی (KiB)، اندازه پشته مجازی (KiB)، فضای swap استفادهشده (KiB)، TGID (شماره گروه وظایف/نخهای مرتبط)، آیا فرایند است (y/n)، اندازه مجموعه متناسب (PSS) برحسب KiB اگر گزینه 'R' مشخص شده باشد، فضای حافظه مجازی قفلشده (KiB)، مقدار 'memory.max' در cgroup v2 برحسب KiB (-3 یعنی عدم پشتیبانی از cgroup v2، -2 یعنی تعریفنشده و -1 یعنی حداکثر)، محدودکنندهترین 'memory.max' در شاخههای بالادستی cgroup v2 برحسب KiB (-3 یعنی عدم پشتیبانی از cgroup v2، -2 یعنی تعریفنشده و -1 یعنی حداکثر)، مقدار 'memory.swap.max' در cgroup v2 برحسب KiB (-3 یعنی عدم پشتیبانی از cgroup v2، -2 یعنی تعریفنشده و -1 یعنی حداکثر)، و محدودکنندهترین 'memory.swap.max' در شاخههای بالادستی cgroup v2 برحسب KiB (-3 یعنی عدم پشتیبانی از cgroup v2، -2 یعنی تعریفنشده و -1 یعنی حداکثر). - PRD
- برای هر
فرایند یک
خط نشان
داده
میشود.
فیلدهای بعدی: PID، نام (بین پرانتز یا زیرخط برای فاصلهها)، وضعیت، نصب وصله منسوخ هسته ('n')، استفاده از آمار استاندارد ورودی/خروجی ('y' یا 'n')، تعداد دفعات خواندن از دیسک، تعداد تجمعی سکتورهای خواندهشده، تعداد دفعات نوشتن روی دیسک، تعداد تجمعی سکتورهای نوشتهشده، تعداد لغوشده سکتورهای نوشتهشده، TGID (شماره گروه وظایف/نخهای مرتبط)، مقدار منسوخ ('n')، و آیا فرایند است (y/n). - PRN
- برای هر
فرایند یک
خط نشان
داده
میشود.
فیلدهای بعدی: PID، نام (بین پرانتز یا زیرخط برای فاصلهها)، وضعیت، ماژول هسته netatop یا netatop-bpf نصب شده باشد ('y' یا 'n')، تعداد بستههای TCP ارسالشده، اندازه تجمعی بستههای TCP ارسالشده، تعداد بستههای TCP دریافتشده، اندازه تجمعی بستههای TCP دریافتشده، تعداد بستههای UDP ارسالشده، اندازه تجمعی بستههای UDP ارسالشده، تعداد بستههای UDP دریافتشده، اندازه تجمعی بستههای UDP ارسالشده، تعداد بستههای خام ارسالشده (منسوخ، همیشه 0)، تعداد بستههای خام دریافتشده (منسوخ، همیشه 0)، TGID (شماره گروه وظایف/نخهای مرتبط) و آیا فرایند است (y/n).
اگر ماژول هسته فعال نباشد، شمارندههای ورودی/خروجی شبکه به ازای هر فرایند معتبر و قابل استناد نیستند.
خروجی JSON
با استفاده از گزینه -J بههمراه فهرستی از یک یا چند برچسب (جداشده با کاما)، خروجی JSON برای هر نمونه تولید میشود. نحو و نام برچسبهای JSON دقیقاً همانند خروجی قابل تجزیه است.
سیگنالها (SIGNALS)
با ارسال سیگنال SIGUSR1 به atop نمونهگیری جدید اجبار میشود، حتی اگر بازه زمانی تایمر فعلی هنوز به پایان نرسیده باشد. این رفتار مشابه فشردن کلید 't' در نشست تعاملی است.
با ارسال سیگنال SIGUSR2 به atop یک نمونهگیری نهایی اجبار شده و پس از آن atop خاتمه مییابد.
مثالها (EXAMPLES)
پایش بار فعلی سیستم در حالت متنی با بازه زمانی (پیشفرض) ۱۰ ثانیه:
- atop
پایش بار فعلی سیستم بهصورت نمودارهای میلهای با بازه زمانی ۵ ثانیه:
- atop -B 5
پایش بار فعلی سیستم در حالت متنی با بازه زمانی ۴ ثانیه همراه با امکان مرور به عقب و جلو در حین ادامه اندازهگیری (حالت دوگانه):
- atop -t 4
پایش زنده بار فعلی سیستم همزمان با نوشتن اطلاعات اندازهگیری در یک لاگ خام (جهت مشاهده بعدی):
- atop -g -w /tmp/sessionx
مشاهده cgroupها بههمراه فرایندهای مرتبط (بهجز فرایندهای هسته) با امکان بازبینی نمونههای پیشین در طول اندازهگیری زنده:
- atop -G8 -t
ذخیره اطلاعات فعالیت سیستم و فرایندها در قالب باینری فشردهشده در یک فایل با بازه زمانی ده دقیقه در طول یک ساعت:
- atop -w /tmp/atop.raw 600 6
مشاهده تعاملی محتویات این فایل:
atop -r /tmp/atop.raw
مشاهده میزان مصرف پردازنده و دیسک از این فایل در قالب قابل تجزیه:
atop -PCPU,DSK -r /tmp/atop.raw
مشاهده تعاملی محتویات فایل لاگ استاندارد امروز:
atop -r
مشاهده تعاملی محتویات فایل لاگ استاندارد پریروز:
atop -r yy
مشاهده تعاملی محتویات فایل لاگ استاندارد مورخ ۵ نوامبر ۲۰۲۴ از ساعت ۰۲:۰۰ بعد از ظهر به بعد:
atop -r 20241105 -b 1400
خواندن محتویات فایل لاگ امروز و نمایش میزان مصرف CPU در سطح سیستم بهصورت خروجی قابل تجزیه و خروجی JSON:
atop -r -PCPU -JCPU
الحاق تمام فایلهای لاگ خام نوامبر ۲۰۲۴ و تولید خروجی قابل تجزیه از میزان مصرف CPU:
- atopcat /var/log/atop/atop_202403?? | atop -r - -PCPU
پایش بار سیستم و نوشتن آن در یک فایل (در قالب اسکی ساده) با بازه زمانی یک دقیقه به مدت نیم ساعت در حالی که فرایندهای فعال بر اساس مصرف حافظه مرتب شدهاند:
- atop -M 60 30 > /log/atop.mem
فایلها (FILES)
- /var/run/pacct_shadow.d/
- دایرکتوری حاوی فایلهای سایه حسابرسی فرایندها که مورد استفاده atop قرار میگیرند هنگامی که دیمن atopacctd فعال است.
- /var/cache/atop.d/atop.acct
- فایلی که هسته رکوردهای حسابرسی را در آن مینویسد هنگامی که خود atop سازوکار حسابرسی فرایند را فعال کرده است.
- /etc/atoprc
- فایل پیکربندی حاوی مقادیر پیشفرض سرتاسری سیستم. برای اطلاعات بیشتر درباره مقادیر پیشفرض، به صفحه راهنمای atoprc مراجعه کنید.
- ~/.atoprc
- فایل پیکربندی حاوی مقادیر پیشفرض شخصی. برای اطلاعات بیشتر درباره مقادیر پیشفرض، به صفحه راهنمای atoprc مراجعه کنید.
- /etc/default/atop
- فایل
پیکربندی
جهت
بازنویسی و
اعمال
تنظیمات
اختصاصی بر
atop که در
پسزمینه
برای ایجاد
فایل لاگ
روزانه
اجرا
میشود. این
فایل هنگام
نصب atop
ایجاد
میشود.
تنظیمات
پیشفرض
عبارتند از:
LOGOPTS=""
LOGINTERVAL=600
LOGGENERATIONS=28 - /var/log/atop/atop_YYYYMMDD
- فایل خام،
که در آن YYYYMMDD
ارقام
نشاندهنده
تاریخ جاری
هستند. این
نام توسط atop
در حال اجرا
در
پسزمینه
بهعنوان
نام
پیشفرض
فایل
خروجی، و
توسط atop
بهعنوان
نام
پیشفرض
فایل ورودی
هنگام
استفاده از
گزینه -r به
کار میرود.
تمام دادههای باینری در سطح سیستم و فرایند در این فایل با قالب فشرده ذخیره شدهاند. - /var/run/netatop.log
- فایلی که حاوی ساختارهای netpertask شامل شمارندههای شبکه فرایندهای پایانیافته است. این ساختارها توسط دیمن netatopd (که مرتبط با ماژول netatop است) نوشته شده و توسط atop پس از خواندن رکوردهای استاندارد حسابرسی فرایند خوانده میشوند.
همچنین ببینید (SEE ALSO)
atopsar(1), atopconvert(1), atopcat(1),
atophide(1), atoprc(5), atopacctd(8),
netatop(4), netatopd(8), atopgpud(8),
logrotate(8)
https://www.atoptool.nl
نویسنده (AUTHOR)
Gerlof Langeveld (gerlof.langeveld@atoptool.nl)
JC van Winkel
| June 2026 | Linux |