| QPS(1) | General Commands Manual | QPS(1) |
نام (NAME)
qps - مدیر بصری پردازهها
خلاصه دستور (SYNOPSIS)
qps [ options ]
توضیحات (DESCRIPTION)
qps یک ابزار نظارتی است که وضعیت پردازههای موجود در حال حاضر را مانند top(1) یا ps(1) نمایش میدهد. رابط کاربری آن از جعبهابزار Qt استفاده میکند و بیشتر عملیات آن باید تا حد زیادی شهودی و آسان باشد.
فهرست پردازهها بر اساس فیلد برجستهشده مرتب میشود. برای تغییر آن روی عنوان دیگری کلیک کنید؛ برای معکوس کردن ترتیب مرتبسازی، دوباره کلیک کنید. با کشیدن عنوانها میتوانید ستونها را بازآرایی کنید.
کلیک چپ روی یک پردازه آن را انتخاب یا از حالت انتخاب خارج میکند. برای انتخاب چندتایی پردازهها از Shift-click استفاده کنید. شناسه پردازه (PID)های پردازههای انتخابشده را میتوان در برنامههای دیگر جایگذاری کرد (این گزینه را میتوان غیرفعال کرد).
دکمه راست موشواره یک منوی زمینه باز میکند که برای راحتی کار، برخی از عملکردهای منوی اصلی را تکرار میکند. این منو هم روی پردازهها و هم روی سرستونها کار میکند.
نگهداشتن کلید Control و کلیک کردن در جدول پردازهها، تمام پردازههایی را که دارای مقدار یکسانی در آن ستونِ کلیکشده هستند، انتخاب میکند. برای نمونه، جهت انتخاب تمام پردازههای متعلق به «joshua»، کلید Control را نگه داشته و روی «joshua» کلیک کنید. فشردن همزمان Shift و Control نتیجه مورد انتظار را به همراه خواهد داشت.
در حالت درختی (Tree mode)، روابط والد-فرزندی بین پردازهها با وضوح بیشتری نمایش داده میشود. برای نمایش یا پنهانسازی کل یک زیردرخت، روی مثلثها کلیک کنید. مرتبسازی تنها بر پردازههای همسطح تأثیر میگذارد؛ ساختار درختی ترتیب کلی را اعمال میکند.
برای تغییر اولویت اشتراک زمانی پردازههای انتخابشده، اولویت جدید را در کادر گفتگوی Renice... وارد کنید. مقدار جدید nice باید در بازه -20 تا 20 باشد؛ 0 مقدار پیشفرض است. عدد بزرگتر به این معنی است که پردازه زمان کمتری از CPU را دریافت میکند. تنها مدیر سیستم (superuser) مجاز به کاهش مقدار nice است.
کادر گفتگوی Change Scheduling... به مدیر سیستم اجازه میدهد سیاست زمانبندی پردازههای انتخابشده را (با استفاده از کنترل زمانبندی Posix.1b) تغییر دهد. پردازههای عادی بر روی SCHED_OTHER تنظیم شدهاند و اولویت ایستا 0 دارند؛ پردازههای بیدرنگ (soft real-time) دارای سیاست زمانبندی SCHED_FIFO یا SCHED_RR بوده و اولویت ایستای آنها در بازه 1 تا 99 است (ببینید: sched_setscheduler(2)). سیستمعامل Solaris سیاستهای زمانبندی دیگری نیز دارد، اما در حال حاضر qps اجازه تنظیم آنها را نمیدهد.
بهطور پیشفرض، نمایش پردازهها هر ۵ ثانیه بهروزرسانی میشود. برای تغییر آن، دوره زمانی جدید بهروزرسانی را در کادر گفتگوی Update Period... وارد کنید. واحدهای min، s و ms میتوانند استفاده شوند (در صورت مشخص نشدن واحد، ثانیه فرض میشود). میتوانید با فشردن کلید فاصله (Space) یا کلیک بر روی دکمه Update یک بهروزرسانی اجباری انجام دهید. اگر دوره بهروزرسانی کوتاه یا صفر باشد، qps زمان زیادی از CPU را مصرف خواهد کرد. با این حال، اگر برنامه کوچکسازی (کمینه) شود، مقدار بسیار کمی از CPU استفاده خواهد کرد.
فیلد USER شناسه کاربری واقعی (real user ID) را نشان میدهد. اگر شناسه کاربری مؤثر (effective user ID) یک پردازه با شناسه کاربری واقعی آن متفاوت باشد، یک علامت مثبت (+) به انتهای نام کاربری اضافه میشود؛ و اگر مدیر سیستم باشد، یک علامت ستاره (*) اضافه خواهد شد.
نمایشگرهای بار کاری، CPU، حافظه و swap در نوار وضعیت را میتوان با کلیک کردن روی آنها، یا از طریق تنظیمات در کادر گفتگوی Preferences... بین حالت گرافیکی و متنی تغییر داد. اعداد بار کاری نمایشدادهشده میانگین تعداد کارها در صف اجرا (run queue) در بازههای ۱، ۵ و ۱۵ دقیقه هستند.
اگر فضای آزاد swap از مقدار معینی کمتر شود، نوار swap قرمز رنگ خواهد شد که این مقدار را میتوان در کادر گفتگوی Preferences... تغییر داد. این عدد میتواند بر حسب K، M (مگابایت) یا % (درصد از کل فضای swap) وارد شود. مقدار پیشفرض 10% است.
در سامانههای چندپردازندهای (SMP) که Solaris 2.6 یا Linux 2.1.x یا جدیدتر را اجرا میکنند، آمار CPU در حالت عمودی برای هر پردازنده و در حالت افقی میانگین تمام CPUها نمایش داده میشود.
برای نمایش فیلد WCHAN به صورت نمادین، به فایل نمادهای هسته System.map نیاز است. qps آن را در مکانهای زیر جستجو خواهد کرد:
/boot/System.map- RELEASE /boot/System.map /lib/modules/ RELEASE /System.map /usr/src/linux- RELEASE /System.map /usr/src/linux/System.map /usr/local/src/linux- RELEASE /System.map /usr/local/src/linux/System.map
که در آن RELEASE شماره انتشار هسته است، برای نمونه «2.0.29». اگر فایل System.map پیدا نشود یا غیرقابل خواندن باشد، در عوض آدرسهای هگزادسیمال نمایش داده خواهند شد. پیشوندهای «sys_» و «do_» پیش از نمایش از نمادها حذف میشوند. در Solaris، در حال حاضر نامهای نمادین پشتیبانی نمیشوند و آدرسهای هگزادسیمال همیشه نشان داده خواهند شد.
گزینه منوی View Details پنجرهای را باز میکند که جنبههای گوناگون پردازههای انتخابشده را نمایش میدهد. دوبار کلیک کردن روی یک پردازه نیز همین اثر را دارد. تمامی اطلاعات تنها برای مالک پردازه (و مدیر سیستم) در دسترس است.
جدول Sockets (فقط در لینوکس) سوکتهای TCP و UDP در حال استفاده را نمایش میدهد. اگر گزینه Host Name Lookup در کادر گفتگوی Preferences علامت خورده باشد، برای هر آدرس IP یک جستجوی نام میزبان انجام خواهد شد. این کار توسط یک پردازه پسزمینه صورت میگیرد اما ممکن است در شرایط دشوار کمی طول بکشد (اما آدرسها پس از یکبار جستجو در حافظه نهان ذخیره میشوند).
جدول Memory Maps نگاشتهای حافظه پردازه را نشان میدهد. در Linux 2.0.x و Solaris، نام فایلها ارائه نمیشود. نگاشتهای ناشناس (حافظه تخصیصیافتهای که به یک فایل یا دستگاه پیوند ندارد) با (anonymous) علامتگذاری میشوند.
جدول Files فایلهای باز پردازه را نمایش میدهد. در Linux 2.0.x، فایلها در قالب [AABB]:inode, ارائه میشوند که در آن AA و BB شمارههای اصلی/فرعی (major/minor) دستگاه در مبنای شانزده هستند.
جدول Environment متغیرهای محیطی پردازه را نشان میدهد. توجه داشته باشید که این همان محیطی است که پردازه با آن شروع به کار کرده است، و لزوماً شامل تغییرات پس از آن نمیشود. برخی پردازهها که خط فرمان خود را تغییر میدهند، بهویژه sendmail(8) و ftpd(8)، ممکن است از فضای متغیرهای محیط برای این کار استفاده کنند و در نتیجه اطلاعات نامفهومی در این جدول نمایش داده شود. کلیک کردن روی سرستونها مانند معمول ترتیب مرتبسازی را تغییر میدهد. (در Solaris، تنها اولین 8K از محیط نمایش داده میشود. اگر معلوم شود که این موضوع یک محدودیت است، برطرف خواهد شد.)
گزینههای Find Parent و Find Children والد/فرزندان پردازههای انتخابشده را انتخاب میکنند و جدول را روی نخستین آنها متمرکز مینمایند. Find Descendants درخت تمام نوادگان پردازههای انتخابشده را انتخاب خواهد کرد.
اگر گزینه Include Child Times در منوی Options انتخاب شده باشد، فیلد TIME مجموع زمانهای CPU مصرفشده توسط پردازه و تمامی فرزندان آن را نمایش میدهد.
با باز کردن کادر گفتگوی Edit Commands... میتوانید دستورهایی را برای اجرا روی پردازههای انتخابشده مشخص کنید. بخش «Description» هر دستور همان چیزی است که در منو نمایش داده میشود؛ و بخش «Command Line» یک دستور پوسته است (که با /bin/sh اجرا میشود). پیش از اینکه دستور به پوسته ارسال شود، جایگزینیهای زیر انجام میگیرد:.TP %p با PID (شناسه فرایند) فرایند انتخابشده
- %c
- با نام کوتاه دستور فرایند
- %C
- با خط فرمان کامل فرایند
- %u
- با نام مالک (واقعی) فرایند
- %%
- با یک نویسه '%' واقعی.
هر ترکیب دیگری از % + حرف حذف میشود. خط فرمان برای هر فرایند انتخابشده یکبار اجرا خواهد شد (با ترتیبی نامشخص).
کلیدهای میانبر (KEYBOARD ACCELERATORS)
(در اکثر زمینهها معتبر است)
گزینهها (OPTIONS)
- -display display
- نمایشگر X را مشخص میکند (پیشفرض $DISPLAY است)
- -geometry geometry
- ابعاد و مکان (geometry) پنجره اصلی qps را تنظیم میکند
- -background color
- رنگ پسزمینه پیشفرض و یک پالت برنامه را تنظیم میکند (سایههای روشن و تیره محاسبه میشوند). این ویژگی در حال حاضر چندان خوب عمل نمیکند.
- -foreground color
- رنگ پیشزمینه پیشفرض را تنظیم میکند. این گزینه نیز کاربرد محدودی دارد.
- -title title
- عنوان برنامه را تنظیم میکند.
- -style style
- سبک واسط گرافیکی (GUI) برنامه را تنظیم میکند. سبکهای ممکن عبارتند از motif و windows. (در صورت استفاده از Qt 2.x، سبکهای cde و platinum نیز در دسترس هستند.)
- -font font
- قلم (فونت) برنامه را مشخص میکند
- -iconic
- برنامه را بهصورت کمینهشده (iconified) اجرا میکند.
- -version
- نسخه qps و کتابخانه Qt را چاپ کرده و خارج میشود.
- -help
- خلاصهای از گزینههای خط فرمان را چاپ کرده و خارج میشود.
محیط (ENVIRONMENT)
متغیر QPS_COLORS شامل مشخصات رنگها بهصورت جفتهای name:value جداشده با کاما است، که در آن name یکی از موارد زیر است:
cpu-user, cpu-nice (Linux), cpu-sys, cpu-wait (Solaris), cpu-idle, mem-used, mem-buff, mem-cache, mem-free, swap-used, swap-free, swap-warn, load-bg, load-fg, load-lines, selection-bg, selection-fg
مقدار value
یک نام رنگ X11
است؛ خواه
یک نام
نمادین
مانند "salmon" یا
یک رنگ RGB
مانند #c5b769.
/proc شبهسیستمفایل
اطلاعات
هسته
$HOME/.qps-settings تنظیمات
ذخیرهشده
میان دفعات
اجرا
/etc/services نگاشت
شماره
درگاه به
نام سرویس (Linux)
System.map نقشه
نمادهای
هسته برای WCHAN
(Linux)
همچنین ببینید (SEE ALSO)
ps(1), top(1), kill(1), free(1), renice(8), proc(5), sched_setscheduler(2)
نویسندگان (AUTHORS)
Mattias Engdegard (f91-men@nada.kth.se)
مجوز (LICENSE)
نرمافزار qps یک نرمافزار آزاد است و تحت شرایط مشخصی قابل توزیع مجدد میباشد. برای جزئیات، به GNU General Public License مراجعه کنید.
گزارش باگها (BUGS)
نرمافزار qps بیش از حد حجیم و کُند است.
مقدار %CPU در فواصل بهروزرسانی بسیار کوتاه، به دلیل دانهبندی زمانی تایمر دقیق نیست.
فیلد %WCPU هنگامی که qps کمینه (iconified) میشود مجدداً محاسبه نمیگردد، بنابراین ممکن است پس از بازگرداندن پنجره از حالت کمینه، تنظیم مجدد آن کمی طول بکشد.
اگر فرآیندی در مکانی خارج از موارد موجود در System.map به خواب برود (برای نمونه در یک ماژول هسته)، فیلد WCHAN به جای نام تابع یک نشانی هگز را نمایش میدهد. در این حالت نام تابع را میتوان در /proc/ksyms پیدا کرد، اما در حال حاضر این کار باید به صورت دستی انجام شود.
نشانگر CPU در نوار وضعیت در سیستمهای SMP دارای Linux 2.0.x، به دلیل وجود یک باگ در هسته اطلاعاتی نامفهوم و بیمعنی نمایش میدهد.
افزودن یا حذف CPUها در زمان اجرا احتمالاً qps را دچار اختلال خواهد کرد.
| Sept 30 1999 | 4th Berkeley Distribution |