| HTOP(1) | User Commands | HTOP(1) |
نام (NAME)
pcp-htop - نمایشگر تعاملی فرایندها
خلاصه دستور (SYNOPSIS)
htop [-dCFhpustvH]
pcp-htop [-dCFhpustvH] [--host/-h host]
توضیحات (DESCRIPTION)
دستور htop یک نمایشگر فرایند چندسکویی بر پایهٔ ncurses است.
این ابزار مشابه top است، اما به شما امکان میدهد بهصورت افقی و عمودی پیمایش کنید و با استفاده از یک دستگاه اشارهگر (موشواره) با آن تعامل داشته باشید. میتوانید تمام فرایندهای در حال اجرا روی سیستم را به همراه آرگومانهای خط فرمان آنها مشاهده کنید، آنها را در ساختار درختی ببینید، چندین فرایند را همزمان انتخاب کرده و روی همهٔ آنها یکجا عملیات انجام دهید.
کارهای مربوط به فرایندها (کشتن فرایندها، تغییر اولویت یا renice) را میتوان بدون وارد کردن PID آنها انجام داد.
دستور pcp-htop
نسخهای از
htop است که با
استفاده از
رابط
برنامهنویسی
متریکهای
Performance Co-Pilot (PCP) ساخته
شده است
(ببینید PCPIntro(1)،
PMAPI(3))، که
امکان
گسترش htop را
برای نمایش
مقادیر
سنجههای
دلخواه
فراهم
میکند.
برای
جزئیات
بیشتر بخش
زیر با
عنوان CONFIG FILES
را ببینید.
گزینههای خط فرمان (COMMAND-LINE OPTIONS)
آرگومانهای اجباری برای گزینههای طولانی، برای گزینههای کوتاه نیز اجباری هستند.
- -d --delay=DELAY
- تاخیر بین بهروزرسانیها، بر حسب دهم ثانیه. اگر مقدار تاخیر کمتر از ۱ باشد، به ۱ افزایش مییابد، یعنی ۱/۱۰ ثانیه. اگر مقدار تاخیر بیشتر از ۱۰۰ باشد، به ۱۰۰ کاهش مییابد، یعنی ۱۰ ثانیه.
- -C --no-color --no-colour
- راهاندازی htop در حالت تکرنگ (سیاه و سفید)
- -F --filter=FILTER
- فیلتر کردن فرایندها بر اساس عبارتهای منطبق با دستورات. عبارتها بدون حساسیت به حروف کوچک و بزرگ و به صورت رشتههای ثابت (نه عبارات منظم) تطبیق داده میشوند. میتوانید چند عبارت را با "|" از یکدیگر جدا کنید.
- --no-function-bar
- پنهان کردن نوار کلیدهای تابع
- -h --help
- نمایش پیام راهنما و خروج
- -p --pid=PID,PID...
- نمایش تنها فرایندهای با PID دادهشده
- -s --sort-key COLUMN
- مرتبسازی بر اساس این ستون (برای مشاهده فهرست ستونها از --sort-key help استفاده کنید). این گزینه نمایش را اجباراً به حالت فهرست درمیآورد مگر اینکه همزمان -t را مشخص کنید. مرتبسازی در حالت درختی روی فرزندان مستقیم هر فرایند اعمال میشود.
- -u --user[=USERNAME|UID]
- نمایش تنها فرایندهای یک کاربر مشخص، یا خود کاربر جاری در صورت حذف آرگومان
- -U --no-unicode
- عدم استفاده از نویسههای یونیکد و استفاده از نویسههای ASCII برای نمودارهای سنجش
- -M --no-mouse
- غیرفعالسازی پشتیبانی از کنترل موشواره
- --no-meters
- پنهان کردن نمودارهای سنجش
- --readonly
- غیرفعال کردن تمام قابلیتهای تغییردهندهٔ سیستم و فرایندها
- -V --version
- نمایش اطلاعات نسخه و خروج
- -t --tree[=MODE]
- نمایش فرایندها در نمای درختی. این گزینه میتواند برای اجبار به نمای درختی هنگام درخواست ترتیب مرتبسازی با -s استفاده شود. آرگومان اختیاری MODE میتواند برای تنظیم حالت درخت پایدار (0/classic ؛ 1/soft/stable ؛ 2/hard/STABLE) استفاده شود. حالت soft تلاش میکند سطر PID جاری را از نظر بصری روی صفحه تثبیت کند. حالت hard علاوه بر این اجازه میدهد کل درخت به پایین جابهجا شود و در صورت نیاز فضای خالی بالای ریشه ایجاد کند.
- -H --highlight-changes=DELAY
- برجستهسازی فرایندهای جدید و قدیمی
- --drop-capabilities[=off|basic|strict]
- تنها در
لینوکس؛
این گزینه
باید در
زمان
کامپایل
فعال شده
باشد و در
زمان اجرا
نیازمند
پشتیبانی libcap
است.
چشمپوشی از قابلیتهای (capabilities) غیرضروری لینوکس. در حالت strict، امکاناتی مانند کشتن فرایندها، تغییر اولویت فرایندها و خواندن اطلاعات حسابداری تاخیر فرایند به دلیل در اختیار داشتن قابلیتهای کمتر کار نخواهند کرد..SH "دستورهای تعاملی (INTERACTIVE COMMANDS)" دستورهای زیر در محیط htop پشتیبانی میشوند: - Tab, Shift-Tab
- انتخاب برگهٔ (tab) بعدی / قبلی صفحه برای نمایش. میتوانید نمایش نام برگههای صفحه را در صفحهٔ برپاسازی (Setup با F2) فعال کنید.
- Up, Alt-k
- انتخاب (برجستهسازی) فرایند قبلی در فهرست فرایندها. در صورت نیاز، فهرست را پیمایش میکند.
- Down, Alt-j
- انتخاب (برجستهسازی) فرایند بعدی در فهرست فرایندها. در صورت نیاز، فهرست را پیمایش میکند.
- Left, Alt-h
- پیمایش فهرست فرایندها به چپ.
- Right, Alt-l
- پیمایش فهرست فرایندها به راست.
- PgUp, PgDn
- پیمایش فهرست فرایندها به اندازهٔ یک پنجره به بالا یا پایین.
- Home
- پیمایش به بالای فهرست فرایندها و انتخاب نخستین فرایند.
- End
- پیمایش به انتهای فهرست فرایندها و انتخاب آخرین فرایند.
- Ctrl-A, ^
- پیمایش به چپ تا ابتدای ورودی فرایند (یعنی ابتدای خط).
- Ctrl-E, $
- پیمایش به راست تا انتهای ورودی فرایند (یعنی انتهای خط).
- Shift-Up, Alt-Up
- جابهجایی نمای فهرست فرایندها به بالا. ترکیب کلید Shift-Up اغلب توسط شبیهساز پایانه برای مدیریت پیمایش به عقب (scrollback) تصاحب میشود. اگر میخواهید این ترکیب کلید برای htop آزاد شود، ممکن است نیاز باشد کلیدهای میانبر پایانه را تغییر دهید.
- Shift-Down, Alt-Down
- جابهجایی نمای فهرست فرایندها به پایین. ترکیب کلید Shift-Down اغلب توسط شبیهساز پایانه برای مدیریت پیمایش به عقب (scrollback) تصاحب میشود. اگر میخواهید این ترکیب کلید برای htop آزاد شود، ممکن است نیاز باشد کلیدهای میانبر پایانه را تغییر دهید.
- Space
- نشانهگذاری یا برداشتن نشان فرایند. دستورهایی که میتوانند روی چندین فرایند عمل کنند، مانند “kill”، بهجای فرایند برجستهشدهٔ فعلی، روی فهرست فرایندهای نشانهدار اعمال خواهند شد.
- c
- نشانهگذاری فرایند فعلی و فرزندان آن. دستورهایی که میتوانند روی چندین فرایند عمل کنند، مانند “kill”، بهجای فرایند برجستهشدهٔ فعلی، روی فهرست فرایندهای نشانهدار اعمال خواهند شد.
- U
- برداشتن نشان از تمام فرایندها (حذف تمام نشانههای اضافهشده با کلیدهای Space یا c).
- s
- ردیابی فراخوانهای سیستمی فرایند: در صورت نصب بودن strace(1)، فشردن این کلید آن را به فرایند انتخابشده پیوست کرده و فراخوانهای سیستمی صادرشده توسط فرایند را بهصورت زنده نمایش میدهد.
- l
- نمایش فایلهای باز یک فرایند: در صورت نصب بودن lsof(1)، فشردن این کلید فهرست توصیفکنندههای فایل (file descriptors) بازشده توسط فرایند را نمایش میدهد.
- w
- نمایش خط فرمان فرایند انتخابشده در صفحهای جداگانه، در صورت نیاز پیچیدهشده در چندین خط.
- x
- نمایش قفلهای فایل فعال برای فرایند انتخابشده در صفحهای جداگانه.
- F1, h, ?
- ورود به صفحهٔ راهنما.
- F2, S
- ورود به صفحهٔ پیکربندی (setup)، جایی که میتوانید سنجههای نمایشدادهشده در بالای صفحه را پیکربندی کنید، گزینههای مختلف نمایش را تنظیم کنید، از میان طرحبندیهای رنگی انتخاب نمایید، و ستونهای نمایشی و ترتیب آنها را تعیین کنید.
- F3, /
- جستوجوی
افزایشی در
خط فرمان
تمام
فرایندهای
نمایشدادهشده.
با تایپ
کردن،
دستور
انتخابشده
(برجستهشده)
بهروزرسانی
میشود. در
حالت
جستوجو،
فشردن F3
موارد
منطبق را رو
به جلو
پیمایش
میکند.
فشردن Shift-F3
موارد
منطبق را رو
به عقب
پیمایش
میکند.
همچنین جستوجو را میتوان صرفاً با تایپ کردن دستور مورد نظر آغاز کرد، هرچند برای نویسهٔ نخست، کلیدهای میانبر معمول تقدم دارند.
- F4,
- فیلتر افزایشی فرایندها: بخشی از خط فرمان فرایند را تایپ کنید تا فقط فرایندهایی که نامشان منطبق است نشان داده شوند. برای لغو فیلتر، گزینهٔ Filter را دوباره باز کرده و Esc را فشار دهید. تطابق بدون حساسیت به بزرگی و کوچکی حروف انجام میشود. عبارات، رشتههای ثابت هستند (نه عبارات باقاعده یا regex). میتوانید عبارات متعدد را با "|" جدا کنید.
- F5, t
- نمای درختی: سازماندهی فرایندها بر پایهٔ روابط والد-فرزندی و نمایش پیوندهای میان آنها بهصورت درخت. فشردن این کلید وضعیت را بین نمای درختی و نمای مرتبسازی پیشین تغییر میدهد. انتخاب یک نمای مرتبسازی باعث خروج از نمای درختی خواهد شد.
- F6, <, >
- انتخاب یک فیلد برای مرتبسازی، همچنین از طریق < و > نیز قابل دسترسی است. فیلد مرتبسازی فعلی با برجستهسازی در سرآیند مشخص میشود.
- F7, ]
- افزایش اولویت فرایند انتخابشده (کاستن از مقدار 'nice'). این کار تنها توسط مدیر سیستم (superuser) امکانپذیر است.
- F8, [
- کاهش اولویت فرایند انتخابشده (افزودن به مقدار 'nice').
- Shift-F7, }
- افزایش اولویت autogroup فرایند انتخابشده (کاستن از مقدار 'nice' در autogroup). این کار تنها توسط مدیر سیستم (superuser) امکانپذیر است.
- Shift-F8, {
- کاهش اولویت autogroup فرایند انتخابشده (افزودن به مقدار 'nice' در autogroup).
- F9, k
- کشتن ("Kill") فرایند: ارسال سیگنالی که از منو انتخاب میشود، به یک یا گروهی از فرایندها. اگر فرایندها نشانهگذاری شده باشند، سیگنال به تمامی فرایندهای نشانهدار ارسال میشود. اگر هیچکدام نشانهدار نباشند، به فرایند انتخابشدهٔ فعلی ارسال خواهد شد.
- F10, q
- خروج.
- I
- معکوس کردن ترتیب مرتبسازی: اگر ترتیب مرتبسازی صعودی باشد، به نزولی تغییر مییابد و بالعکس.
- +, -, *
- در حالت نمای درختی، باز کردن یا جمع کردن زیردرخت. هنگامی که یک زیردرخت جمع شده باشد، علامت "+" در سمت چپ نام فرایند نشان داده میشود. فشردن "*" تمام فرزندان فرایندهایی با PID فاقد والد را باز یا جمع میکند؛ بنابراین معمولاً شامل PID 1 (init) و PID 2 (kthreadd در لینوکس، در صورت نمایش رشتههای هسته) میشود.
- a (on multiprocessor machines)
- تنظیم وابستگی پردازنده (CPU affinity): مشخص کردن اینکه فرایند مجاز به استفاده از کدام پردازندهها است.
- u
- نمایش تنها فرایندهای متعلق به یک کاربر مشخص.
- N
- مرتبسازی بر پایهٔ PID.
- M
- مرتبسازی بر پایهٔ مصرف حافظه (کلید سازگاری با top).
- P
- مرتبسازی بر پایهٔ مصرف پردازنده (کلید سازگاری با top).
- T
- مرتبسازی بر پایهٔ زمان (کلید سازگاری با top).
- F
- «دنبال کردن» ("Follow") فرایند: اگر ترتیب مرتبسازی باعث جابهجایی فرایند انتخابشده در فهرست شود، نوار انتخاب آن را دنبال خواهد کرد. این ویژگی برای نظارت بر یک فرایند سودمند است: بدین ترتیب، میتوانید فرایند را همواره بر روی صفحه نمایان نگه دارید. رفتار کلیدهای پیمایش به تنظیم تعقیب چسبنده (sticky follow) بستگی دارد. هنگام دنبال کردن یک فرایند، میتوانید Shift یا Alt را به همراه کلیدهای جهتنمای Up و Down برای جابهجایی نما فشار دهید. هنگامی که تنظیم تعقیب چسبنده فعال باشد (حالت پیشفرض)، حالت دنبال کردن تا زمان فشردن دوبارهٔ Shift+F فعال میماند. اگر تعقیب چسبنده غیرفعال باشد، فشردن کلیدهای پیمایش مانند Up، Down، PgUp و PgDn بلافاصله به حالت دنبال کردن پایان میدهد، در حالی که Shift+Up و Shift+Down همچنان بدون غیرفعال کردن دنبال کردن، نما را جابهجا میکنند.
- K
- پنهان کردن رشتههای هسته (kernel threads): جلوگیری از نمایش رشتههای متعلق به هسته در فهرست فرایندها. (این یک کلید دوحالته است.)
- H
- پنهان کردن رشتههای کاربر (user threads): در سیستمهایی که آنها را متفاوت از فرایندهای معمولی نمایش میدهند (مانند سیستمهای جدید مبتنی بر NPTL)، این کلید میتواند رشتههای فرایندهای فضای کاربری را در فهرست فرایندها پنهان کند. (این یک کلید دوحالته است.).TP O پنهانسازی فرایندهای کانتینری: جلوگیری از نمایش فرایندهای در حال اجرا درون یک کانتینر در فهرست فرایندها. (این یک کلید تغییر وضعیت است.)
- p
- نمایش مسیر کامل برنامههای در حال اجرا، در صورت امکان. (این یک کلید تغییر وضعیت است.)
- Z
- مکث/ادامه بهروزرسانی فرایندها.
- m
- ادغام exe، comm و cmdline، در صورت امکان. (این یک کلید تغییر وضعیت است.)
- b
- نمایش backtrace یک فرایند. (این ویژگی نیازمند فعالسازی در زمان کامپایل است.)
- Ctrl-L
- تازهسازی: بازترسیم صفحه و محاسبه مجدد مقادیر.
- Numbers
- جستجوی PID: شناسه فرایند را وارد کنید تا نشانگر انتخاب به آن منتقل شود.
ستونها (COLUMNS)
ستونهای زیر میتوانند دادههایی را درباره هر فرایند نمایش دهند. مقدار '-' در همه سطرها نشاندهنده آن است که ستون در سیستم شما پشتیبانی نمیشود، یا در حال حاضر در htop پیادهسازی نشده است. نامهای زیر مواردی هستند که در بخش "Available Columns" از صفحه تنظیمات استفاده شدهاند. اگر نام متفاوتی در صفحه اصلی htop نمایش داده شود، در ادامه درون پرانتز ذکر شده است.
- Command
- خط فرمان
کامل
فرایند
(یعنی نام
برنامه و
آرگومانها).
اگر گزینه 'Merge exe, comm and cmdline in Command' (که با کلید 'm' تغییر وضعیت میدهد) فعال باشد، مسیر فایل اجرایی (/proc/[pid]/exe) و نام دستور (/proc/[pid]/comm) نیز در صورت موجود بودن، به صورت ادغامشده با خط فرمان نمایش داده میشوند.
در صورت تعیین در پیکربندی، basename برنامه برجسته میشود. همچنین میتوان برجستهسازی بیشتری را برای فایلهای اجرایی تغییریافته یا حذفشده (stale) پیکربندی کرد (به ستون EXE در زیر مراجعه کنید).
ستون Command باید آخرین ستون در هر صفحه باشد، زیرا میتواند بسیار طولانی شود و از مزیت افزایش پویای طول خود بهرهمند گردد.
برجستهسازی رنگی بیشتر:
- •
- ارغوانی: نام دستور فرایندهای معمولی
- •
- آبی پررنگ: نام نخهای فضای کاربری
- •
- خاکستری پررنگ: نخهای هسته یا فرایندهای بدون نام دستور
- COMM
- نام دستور
فرایند که
در صورت
خوانا
بودن، از /proc/[pid]/comm
به دست
میآید.
نیازمند هسته لینوکس 2.6.33 یا جدیدتر است.
- EXE
- نام پایه (basename)
مخففشده
فایل
اجرایی
فرایند، به
دست آمده از
/proc/[pid]/exe، در صورت
خوانا بودن.
htop تنها در
صورتی قادر
است این
فایل را در
لینوکس
برای همه
فرایندها
بخواند که
دارای
قابلیت CAP_SYS_PTRACE
یا
امتیازات
ریشه (root) باشد.
اگر فایل اجراییِ استفاده شده برای اجرای فرایند، از زمان شروع فرایند روی دیسک جایگزین یا حذف شده باشد، basename با رنگ قرمز مشخص میشود. این اطلاعات با پردازش محتوای /proc/[pid]/exe به دست میآید.
علاوه بر این، اگر گزارش شود که هر کتابخانهای از زمان آخرین بارگذاری روی دیسک جایگزین یا حذف شده است، basename با رنگ زرد مشخص میشود. این اطلاعات با پردازش محتوای /proc/[pid]/maps به دست میآید.
هنگام تصمیمگیری در مورد رنگ، جایگزینی فایل اجرایی اصلی همواره بر جایگزینی هر کتابخانه دیگری اولویت دارد. اگر فقط نگاشت حافظه حاکی از جایگزینی فایل اجرایی اصلی باشد، این حالت به گونهای نمایش داده میشود که گویی کتابخانه دیگری جایگزین یا حذف شده است.
این نشانهگذاری رنگی اضافی را میتوان در بخش "Display Options" از صفحه تنظیمات پیکربندی کرد.
نمایش EXE نیازمند CAP_SYS_PTRACE و PTRACE_MODE_READ_FSCRED است.
- PID
- شناسه فرایند.
- STATE (S)
- وضعیت
فرایند:
S برای خواب (sleeping)
I برای بیکار (idle - عدم فعالیت طولانیتر از خواب، در پلتفرمهایی که تفاوت قائل میشوند)
R برای در حال اجرا (running)
D برای خواب دیسک (قطعناپذیر)
Z برای زامبی (در انتظار والد برای خواندن وضعیت خروج آن)
T برای ردیابیشده یا تعلیقشده (مثلاً توسط SIGTSTP)
W برای صفحهبندی (paging) - PPID
- شناسه فرایند والد.
- PGRP
- شناسه گروه فرایند.
- SESSION (SID)
- شناسه نشست فرایند.
- TTY
- ترمینال کنترلکننده فرایند.
- TPGID
- شناسه فرایندِ گروه فرایندهای پیشزمینه در ترمینال کنترلکننده.
- MINFLT
- تعداد خطاهای جزئی صفحه (page faults) که در حافظه اصلی رخ میدهند.
- CMINFLT
- تعداد خطاهای جزئی برای فرزندان منتظرِ فرایند (به MINFLT در بالا مراجعه کنید).
- MAJFLT
- تعداد خطاهای عمده صفحه (page faults) که خارج از حافظه اصلی رخ میدهند.
- CMAJFLT
- تعداد خطاهای عمده برای فرزندان منتظرِ فرایند (به MAJFLT در بالا مراجعه کنید).
- UTIME (UTIME+)
- زمان پردازنده کاربری (user CPU time)، یعنی مدت زمانی که فرایند در حالت کاربر (یعنی همهچیز بهجز فراخوانهای سیستمی) روی CPU سپری کرده است، که با تیکهای ساعت (clock ticks) اندازهگیری میشود.
- STIME (STIME+)
- زمان پردازنده سیستمی (system CPU time)، یعنی مدت زمانی که هسته به نیابت از فرایند صرف اجرای فراخوانهای سیستمی کرده است، که با تیکهای ساعت اندازهگیری میشود.
- CUTIME (CUTIME+)
- زمان پردازنده کاربری فرزندان، یعنی مدت زمانی که فرزندان منتظرِ فرایند در حالت کاربر سپری کردهاند (به UTIME در بالا مراجعه کنید).
- CSTIME (CSTIME+)
- زمان پردازنده سیستمی فرزندان، یعنی مدت زمانی که هسته به نیابت از تمام فرزندان منتظرِ فرایند صرف اجرای فراخوانهای سیستمی کرده است (به STIME در بالا مراجعه کنید).
- PRIORITY (PRI)
- اولویت داخلی هسته برای فرایند، که معمولاً مقدار nice آن به علاوه بیست است. این مقدار برای فرایندهای بلادرنگ (real-time) متفاوت است.
- NICE (NI)
- مقدار nice یک فرایند، از 19 (اولویت پایین) تا -20 (اولویت بالا). یک مقدار بالا بدین معناست که فرایند خوشرفتار است و اجازه میدهد دیگران اولویت نسبی بالاتری داشته باشند. محدودیتهای مجوز معمول سیستمعامل برای تنظیم اولویت اعمال میشوند.
- STARTTIME (START)
- زمانی که فرایند آغاز شده است.
- PROCESSOR (CPU)
- شناسه پردازندهای که فرایند آخرین بار روی آن اجرا شده است.
- M_VIRT (VIRT)
- اندازه حافظه مجازی فرایند.
- M_RESIDENT (RES)
- اندازه مجموعه مقیم یا resident set size (شامل text + data + stack) فرایند (یعنی اندازه حافظه فیزیکی استفادهشده توسط فرایند).
- M_SHARE (SHR)
- اندازه صفحههای اشتراکی فرایند.
- M_PRIV (PRIV)
- اندازه حافظه اختصاصی فرایند (یعنی اندازه مجموعه مقیم منهای اندازه حافظه اشتراکی).
- M_TRS (CODE)
- اندازه مجموعه مقیم کد (text resident set size) فرایند (یعنی اندازه دستورالعملهای اجرایی فرایند).
- M_DRS (DATA)
- اندازه مجموعه مقیم داده (data resident set size، شامل data + stack) فرایند (یعنی اندازه هر چیزی بهجز دستورالعملهای اجرایی فرایند)..TP M_LRS (LIB) اندازه کتابخانههای فرآیند.
- M_SWAP (SWAP)
- اندازه صفحههای سوآپشده فرآیند.
- M_PSS (PSS)
- اندازه مجموعه تسهیمی (Proportional Set Size)؛ همانند M_RESIDENT است اما هر صفحه بر تعداد فرآیندهایی که آن را به اشتراک گذاشتهاند تقسیم میشود.
- M_M_PSSWP (PSSWP)
- سهم سوآپ تسهیمی این نگاشت؛ بر خلاف M_SWAP، صفحههای خارجشده به فضای سوآپ مربوط به اشیاء shmem زیرین را به حساب نمیآورد.
- M_EPSS (EPSS)
- اندازه مجموعه تسهیمی مؤثر فرآیند - اندازه مجموعه تسهیمی بهعلاوه سهم سوآپ تسهیمی. همانند M_PSSWP، بخش سوآپ صفحههای منتقلشده به فضای سوآپ مربوط به اشیاء shmem زیرین را به حساب نمیآورد.
- ST_UID (UID)
- شناسه کاربری (UID) مالک فرآیند.
- PERCENT_CPU (CPU%)
- درصد زمان پردازنده (CPU) که فرآیند در حال حاضر مصرف میکند. این روش پیشفرض برای نمایش میزان مصرف CPU در Linux است. هر فرآیند میتواند تا ۱۰۰٪ مصرف کند که نشاندهنده تمام ظرفیت هستهای است که روی آن اجرا میشود. به این حالت گاهی «حالت Irix» نیز گفته میشود، برای مثال در top(1).
- PERCENT_NORM_CPU (NCPU%)
- درصد زمان CPU که فرآیند در حال حاضر مصرف میکند، نرمالسازیشده بر اساس تعداد CPU. به این حالت گاهی «حالت Solaris» گفته میشود، برای مثال در top(1).
- PERCENT_MEM (MEM%)
- درصد حافظهای که فرآیند در حال حاضر مصرف میکند (بر اساس اندازه حافظه مقیم فرآیند، M_RESIDENT را در بالا ببینید).
- USER
- نام کاربری
مالک
فرآیند، یا
شناسه
کاربری در
صورتی که
نام قابل
تشخیص
نباشد.
در Linux، اگر فرآیند دارای دسترسیهای ارتقایافته باشد، نام کاربری برجسته میشود؛ یعنی اگر از پروندههای باینری با قابلیتهای فایل (file capabilities) تنظیمشده آغاز شده باشد یا قابلیتهای Linux را از طریق مجموعه ambient پس از تغییر از کاربر root حفظ کرده باشد.
رنگآمیزیهای برجسته اضافی:
- •
- سرخابی: فرآیندهای با دسترسی ارتقایافته
- •
- خاکستری پررنگ: فرآیندهای متعلق به سایر کاربران
- •
- سفید (پیشفرض): فرآیندهای متعلق به کاربر جاری
- TIME (TIME+)
- مدت زمانی، اندازهگیریشده بر حسب تیکهای ساعت (clock ticks)، که فرآیند در زمان کاربر و سیستم سپری کرده است (UTIME و STIME را در بالا ببینید).
- NLWP
- تعداد فرآیندهای سبکوزن (Light-Weight Processes یا همان نخها) در فرآیند.
- TGID
- شناسه گروه نخ (Thread Group ID).
- RCHAR (RD_CHAR)
- تعداد بایتهایی که فرآیند خوانده است.
- WCHAR (WR_CHAR)
- تعداد بایتهایی که فرآیند نوشته است.
- SYSCR (RD_SYSC)
- تعداد فراخوانیهای سیستمی read(2) برای فرآیند.
- SYSCW (WR_SYSC)
- تعداد فراخوانیهای سیستمی write(2) برای فرآیند.
- RBYTES (IO_RBYTES)
- بایتهای ورودی/خروجی (I/O) خواندن read(2) برای فرآیند.
- WBYTES (IO_WBYTES)
- بایتهای ورودی/خروجی (I/O) نوشتن write(2) برای فرآیند.
- CNCLWB (IO_CANCEL)
- بایتهای ورودی/خروجی لغوشده write(2).
- IO_READ_RATE (DISK READ)
- نرخ ورودی/خروجی read(2) بر حسب بایت بر ثانیه، برای فرآیند.
- IO_WRITE_RATE (DISK WRITE)
- نرخ ورودی/خروجی write(2) بر حسب بایت بر ثانیه، برای فرآیند.
- IO_RATE (DISK R/W)
- نرخ ورودی/خروجی، مجموع IO_READ_RATE + IO_WRITE_RATE (بالا را ببینید).
- CGROUP
- فرآیند در کدام cgroup قرار دارد. برای نمایی کوتاهشده ستون CCGROUP را در زیر ببینید.
- CCGROUP
- نمای
کوتاهشده
نام cgroup که
فرآیند در
آن قرار
دارد. این
ستون
جایگزینیهایی
مبتنی بر
الگو انجام
میدهد تا
رشته
نمایشدادهشده
را کوتاه
کرده و در
نتیجه
اطلاعات را
فشردهتر
سازد.
/*.slice به /[*] کوتاه میشود (به استثنای موارد زیر)
/system.slice به /[S] کوتاه میشود
/user.slice به /[U] کوتاه میشود
/user-*.slice به /[U:*] کوتاه میشود (/[U] که مستقیماً پیش از آن قرار دارد حذف میشود)
/machine.slice به /[M] کوتاه میشود
/machine-*.scope به /[SNC:*] کوتاه میشود (SNC: کانتینر systemd nspawn)، با حروف بزرگ برای ناظر
/lxc.monitor.* به /[LXC:*] کوتاه میشود
/lxc.payload.* به /[lxc:*] کوتاه میشود
/*.scope به /!* کوتاه میشود
/*.service به /* کوتاه میشود (پسوند حذف میشود)توالیهای فرار مشاهدهشده (مثلاً از سوی systemd) درون نام cgroup رمزگشایی نمیشوند.
- OOM
- امتیاز OOM killer.
- CTXT
- مجموع افزایشی تعویضهای زمینهای (context switches) داوطلبانه و غیرداوطلبانه.
- IO_PRIORITY (IO)
- کلاس
زمانبندی
I/O و پس از آن
اولویت، در
صورتی که
کلاس
مربوطه از
آن
پشتیبانی
کند:
R برای بلادرنگ (Realtime)
B برای بیشترین تلاش (Best-effort)
id برای بیکار (Idle) - PERCENT_CPU_DELAY (CPUD%)
- درصد زمان صرفشده در انتظار CPU (در زمان آمادهبهاجرا بودن). نیازمند CAP_NET_ADMIN است.
- PERCENT_IO_DELAY (IOD%)
- درصد زمان صرفشده در انتظار تکمیل ورودی/خروجی مسدودکننده همگام (synchronous block I/O). نیازمند CAP_NET_ADMIN است.
- PERCENT_SWAP_DELAY (SWAPD%)
- درصد زمان صرفشده برای سوآپ کردن صفحهها به داخل حافظه (swapping in). نیازمند CAP_NET_ADMIN است.
- AGRP
- شناسه autogroup برای فرآیند. نیازمند فعال بودن Linux CFS است.
- ANI
- مقدار nice مربوط به autogroup فرآیند. نیازمند فعال بودن Linux CFS است.
- تمام پرچمهای دیگر (All other flags)
- در حال حاضر پشتیبانی نمیشوند (همواره '-' نمایش داده میشود)..SH "کتابخانههای خارجی (EXTERNAL LIBRARIES)" در حالی که htop در زمان ساخت به بیشتر کتابخانههای مورد استفاده خود وابسته است، سه استثنای قابل توجه در این قاعده وجود دارد. این استثناها همگی به دادههای نمایشدادهشده در سنجههای سرآیند htop مربوط میشوند و عمداً به عنوان وابستگیهای اختیاری زمان اجرا در نظر گرفته شدهاند. این موارد استثنا در زیر شرح داده شدهاند:
- libsystemd
- اتصالهای
libsystemd در سنجهٔ
SystemD برای
تعیین
تعداد
سرویسهای
فعال و
وضعیت کلی
سیستم
استفاده
میشوند.
بررسی و
جستجوی
توابع برای
تعیین این
اطلاعات در
زمان اجرا،
این امکان
را فراهم
میآورد تا
ساختها
بدون اجبار
مدیر بسته
به نصب این
کتابخانهها
روی
سیستمهایی
که از systemd
استفاده
نمیکنند،
از این
سنجهها
پشتیبانی
کنند.
خلاصه: بدون وابستگی در زمان ساخت، وابستگی اختیاری زمان اجرا به libsystemd از طریق بارگذاری پویا، با جایگزینِ (fallback) systemctl(1).
- libsensors
- اتصالهای
libsensors برای
خواندن
دمای CPU در
سنجههای
استفاده از
پردازنده
بهکار
میروند،
مشروط بر
اینکه
نمایش دما
از طریق
صفحهٔ
تنظیمات
فعال شده
باشد. با
این حال،
برای اینکه
htop بتواند
این دماها
را
بهدرستی
نشان دهد،
پیکربندی
صحیح libsensors از
طریق
فایلهای
پیکربندی
معمول آن
فرض شده است
و اینکه
تمام
هستههای
پردازنده
متناظر با
حسگرهای
دمای
درایور coretemp
باشند،
بهطوری که
هستهٔ 0 با
حسگری با
برچسب “Core 0”
مطابقت
داشته باشد.
دمای کلی
بسته (package)
ممکن است به
صورت “Package id 0”
مشخص شود.
در صورت عدم
وجود،
بیشترین
مقدار از
میان
خوانشهای
موجود برای
هر هسته
استنباط
میشود.
خلاصه: وابستگی زمان ساخت به فایلهای هدر C کتابخانهٔ libsensors(3)، وابستگی اختیاری زمان اجرا به libsensors(3) از طریق بارگذاری پویا.
- libnl-3 / libnl-genl-3
- اتصالهای
libnl-3 و libnl-genl-3
(کتابخانههای
سوکت Netlink) برای
جمعآوری
دادههای
تأخیر (delay accounting)
در زمان
فعال بودن
ستونهای delay
accounting (مانند
PERCENT_CPU_DELAY، PERCENT_IO_DELAY، PERCENT_SWAP_DELAY)
استفاده
میشوند.
پشتیبانی
از این
ستونها
باید با
پرچم
پیکربندی
--enable-delayacct
کامپایل
شده باشد.
خلاصه: وابستگی زمان ساخت به فایلهای هدر C کتابخانههای libnl-3 و libnl-genl-3 (هنگام ساخت با --enable-delayacct)، وابستگی اختیاری زمان اجرا به libnl-3-200 و libnl-genl-3-200 از طریق بارگذاری پویا.
فایلهای پیکربندی (CONFIG FILES)
بهطور پیشفرض htop پیکربندی خود را از مسیر سازگار با استاندارد XDG یعنی ~/.config/htop/htoprc میخواند. فایل پیکربندی هنگام خروج عادی توسط بخش تنظیمات (Setup) درونبرنامهایِ htop بازنویسی میشود، بنابراین نباید بهصورت دستی ویرایش گردد. اگر هیچ پیکربندی کاربری وجود نداشته باشد، htop سعی میکند پیکربندی سراسری سیستم را از مسیر /etc/pcp/htoprc بخواند و به عنوان آخرین راهحل، به مقادیر پیشفرض هاردکد شدهٔ خود بازمیگردد.
میتوانید با استفاده از متغیر محیطی $HTOPRC مکان فایل پیکربندی را بازتعریف کنید (بهعنوان مثال برای داشتن چندین پیکربندی برای ماشینهای متفاوتی که دایرکتوری خانگی مشترک دارند).
ابزار pcp-htop نیز به شیوهای مشابه از htoprc استفاده میکند. با این حال، pcp-htop پیکربندی خود را از مسیری میخواند که بیشتر توسط ابزارهای Performance Co-Pilot استفاده میشود، یعنی ~/.pcp/htop/htoprc، تا در صورت نصب و استفاده همزمان از هر دو برنامهٔ htop و pcp-htop، امکان تفکیک پیکربندیها وجود داشته باشد. pcp-htop از فایلهای پیکربندی اضافی در همان دایرکتوری پشتیبانی میکند و اجازه میدهد سنجهها، ستونها و زبانههای صفحه نمایش جدید از طریق صفحهٔ تنظیمات Setup (کلید F2) اضافه شوند. این کار بخشهای سنجههای در دسترس (Available Meters)، ستونهای در دسترس (Available Column) و زبانههای صفحه نمایش بیشتری را برای هر فایل پیکربندی سنجه، ستون یا صفحه نمایش نشان میدهد.
این فایلهای پیکربندی pcp-htop یک بار در زمان راهاندازی برنامه خوانده میشوند. ساختار این فایلها بهطور مفصل در صفحهٔ راهنمای pcp-htop(5) توضیح داده شده است.
این قابلیت چندین هزار معیار Performance Co-Pilot را برای نمایش در pcp-htop مهیا میسازد، و علاوه بر آن امکان نمایش معیارهای سفارشی اضافه شده را فراهم میکند. برنامهها و سرویسهای ابزاربندیشده با استفاده از قالب OpenMetrics در https://openmetrics.io نیز در صورت پیکربندی مؤلفهٔ pmdaopenmetrics(1) میتوانند توسط pcp-htop نمایش داده شوند.
پیکربندی هر دو ابزار htop و pcp-htop تنها زمانی ذخیره میشود که خروج بهطور عادی انجام گیرد. ارسال هرگونه سیگنال باعث میشود که تمام تغییرات پیکربندی از دست برود..SH اندازههای حافظه (MEMORY SIZES) اندازههای حافظه در htop بهشکل خوانا برای انسان نمایش داده میشوند. اندازهها با توانهایی از ۱۰۲۴ با استفاده از واحدهای دودویی IEC چاپ میشوند. اگر پسوندی نشان داده نشود، واحدها بهطور ضمنی K مانند KiB (کیبیبایت، ۱ KiB = ۱۰۲۴ بایت) در نظر گرفته میشوند.
تصمیم به استفاده از این شیوه بهمنظور صرفهجویی در فضای صفحه و یکپارچهسازی شیوهٔ نمایش اندازههای حافظه در سراسر htop اتخاذ شد، چرا که تخصیصها بر مبنای صفحات کامل حافظه (۴ KiB برای بیشتر پلتفرمها) دانهبندی شدهاند.
همچنین ببینید (SEE ALSO)
proc(5), top(1), free(1), ps(1), uptime(1) و limits.conf(5).
همچنین برای PCP ببینید (SEE ALSO FOR PCP)
نویسندگان (AUTHORS)
htop در ابتدا توسط Hisham Muhammad توسعه داده شد. امروزه توسط جامعه در <htop@groups.io> نگهداری میشود.
pcp-htop بهعنوان یک همکاری مشترک میان جوامع <htop@groups.io> و <pcp@groups.io> نگهداری میشود، و بخشی از مجموعه ابزارهای Performance Co-Pilot را تشکیل میدهد.
کپیرایت و تکثیر (COPYRIGHT)
کپیرایت
© 2004-2019 متعلق به
Hisham Muhammad.
کپیرایت ©
2020-2026 تیم
توسعهٔ htop.
مجوز GPLv2+: مجوز عمومی همگانی گنو نسخهٔ ۲ یا، به انتخاب شما، هر نسخهٔ بالاتر.
این نرمافزار آزاد است: شما در تغییر و بازتوزیع آن آزاد هستید. هیچگونه ضمانتی وجود ندارد، تا حدی که قانون اجازه میدهد.
| 2026 | Performance Co-Pilot |