در قسمت قبلی راجع به دستور kill برای بستن پردازش های سیستم صبحت کردیم. اما یکی از دستوراتی که شاید هر روز روی سرور لینوکس خودمان اجرا کنیم، دستور top باشد. دستور top یک دستور پویشی است. یعنی بررسی میکنیم که ببینیم مثلاً چه مقدار از حافظۀ RAM و توسط چه برنامههایی اشغال شده است. یا وضعیت پردازندۀ سیستم چطور است. دستور top و kill را میتوان با یک خط به هم ارتباط داد. ما قبلاً یاد گرفتیم که چطور با دستور ps شناسۀ یک فرآیند را به دست آوریم. علاوه بر آن با دستور top هم می توان id یا شناسه فرایندی را به دست آورد. این دستور تقریباً در تمامی توزیعهای سیستم عامل لینوکس وجود دارد. پس با این آموزش از مجموعه آموزش های مدیریت سرور لینوکس هم همراه با وبنولوژی باشید.
برای ورود به برنامه top کافی است خط فرمان لینوکس خود را باز کرده و همین دستور را بزنید. برای خارج شدن از محیط top کافی است q را از صفحه کلید بزنید. در زدن دستورات دقت داشته باشید که زبان صفحه کلید شما انگلیسی باشد؛ نه فارسی!
توضیحی راجع به نتیجۀ این دستور خدمت شما عرض کنم. در بالاترین بخش نتیجۀ این دستور اطلاعاتی راجع به حافظۀ اصلی و حافظۀ تبادلی و همچنین پردازنده را می توانید ببینید که علاوه بر اینجا از طریق دستورات دیگر هم می توانستیم به آنها برسیم. اما اینجا با دستور top هم قابل دسترس است. در خط اول (top) اطلاعاتی راجع به زمان سیستم و همچنین مدت زمانی که سرور روشن است، تعداد کاربرهایی که وارد حساب خود شدند و میانگین بار (load average) را می توانید ببینید.
در خط دوم اطلاعاتی راجع به وظیفه ها (task) را می توانید شاهد باشید. اینکه چه تعداد کل وظیفه ها هستند، چه تعداد از آنها همینک در حال اجرا هستند و اینکه چه تعداد از آنها خواب هستند.
خط سوم اطلاعاتی راجع به CPU را به ما نشان می دهد. اینکه چه مقدار از پردازنده توسط کاربران (۰.۰%us) استفاده می شود و چه مقدار توسط خود سیستم (۰.۳%sy) مهمترین اطلاعات این بخش را تشکیل می دهد.
خط چهارم اطلاعاتی راجع به حافظه اصلی (Mem) را به ما نشان می دهد. اگر با دستور free در آموزش های قبلی آشنا شده باشید، الان می دانید که این خط قرار است چه چیزی را به ما بگوید
خط پنجم حافظۀ تبادلی سیستم را نشان می دهد که راجع به این مورد هم در آموزش های قبلی توضیحات تکمیلی را ارائه کردم.
اما می رسیم به بخش اصلی دستور top که به صورت جدولی به ما نشان می دهد که چه پردازشی در حال حاضر چه مقدار حافظه، پردازنده مصرف می کند و توسط کدام کاربر در حال اجرا است. هر پردازش درون یک ردیف قرار دارد و ستون های مختلف اطلاعاتی راجع به پردازش ها را به ما نشان می دهند. مثلاً ستون اول (PID) شناسۀ پردازش را نشان می دهد.
- PID: شناسه پردازش. یک عدد منحصر به فرد مختص هر فرآیند
- USER: کاربری که پردازش توسط آن اجرا شده است.
- %CPU: درصد پردازنده این که این پردازش از آن استفاده می کند.
- %MEM: درصد حافظۀ اصلی که این پردازش از آن استفاده می کند.
- COMMAND: مسیر دستوری که این پردازش را اجرا کرده است.
اینها مهمترین ستون های جدول top بود. اما یک چندتا دستور ویرایشی روی top وجود دارد که آشنایی با آنها خالی از لطف نیست. می توانیم نتیجه ای که به ما بر می گرداند را سفارشی کنیم.
مرتب کردن نتایج
گاهی اوقات باید نتایجی که در این جدول به ما نشان داده می شود را براساس یک معیار مرتب کنیم. مثلاً شاید خواسته باشیم پردازش ها را یکی یکی براساس میزان مصرف cpu مرتب کنیم. برای این کار در حالی که وارد برنامه top شدید، Shift+O را بزنید. به یک صفحۀ دیگر خواهید رفت. از اینجا با زدن حرف انگلیسی که کنار هر معیار وجود دارد باید تعیین کنید قرار است مرتب سازی با کدام معیار انجام شود.
مثلاً اگر می خواهید با معیار حافظۀ RAM این مرتب سازی انجام گیرد، باید n را از صفحه کلید بزنید. علامت * که کنار هر معیار وجود دارد، نشان می دهد که در حال حاضر معیار انتخابی برای مرتب سازی همان است. زمانی که این کار را انجام دادید، کلید Space را از صفحه کلید بزنید تا دوباره به قسمت اصلی top برگردید. الان باید نتایج بر اساس معیار انتخابی شما مرتب شده باشند.
تغییر جایگاه ستونها
برای اینکه جایگاه ستون ها را عوض کنید، باید در حالی که وارد برنامه top شدید o را بزنید. ستون های فعال که همینک در نتیجۀ دستور top موجود هستند با یک * در کنار آنها مشخص شدند. می توانید با زدن حرف متناظر با هر ستون، آن را به یک پله بالاتر بیاورید که با این کار آن ستون به یک پله سمت چپ جدول نزدیک خواهد شد.
با گرفت Shift و سپس زدن حرف متناظر، آن ستون به یک پله پایینتر خواهد آمد. در نهایت وقتی ستونهای جدول top را مرتب کردید Space را از صفحه کلید بزنید و از تنظیمات نحوۀ نمایش ستونها خارج شوید.
نمایش پردازشهای یک کاربر خاص
اگر قصد دارید فقط پردازش های مربوط به یک کاربر خاص را فهرست کنید، در محیط برنامه top کافی است دستور u را زده و سپس نام کاربر را وارد کنید. مثلا در تصویر زیر می بینید که ما پردازشهای مرتبط با کاربر jamal را فهرست کردیم. اگر میخواهید پردازشهای همۀ کاربران نمایش داده شوند، u را بزنید و بدون اینکه نام کاربر خاصی را وارد کنید، Enter را بزنید.
از آنجایی که این کاربر هنوز وارد حساب خود نشده است، پس پردازشی به اسم آن درون سیستم نیست. پس نتیجهای را هم در بر نخواهد داشت.
رنگی کردن پردازشهای در حال اجرا
اگر میخواهید بدانید که همینک پردازشهای در حال اجرا کدامها هستند، کافی است z را از صفحه کلید بزنید. به همین راحتی پردازشهایی که به رنگ قرمز در میآیند همان هایی هستند که در حال اجرایند.
نمایش مسیر مطلق پردازشها
برای نمایش مسیر کامل و مطلق هر پردازش کافی است c را بزنید؛ البته زمانی که برنامه top بالاست. میبینید که ستون COMMAND تغییراتی را به خود میبیند. مسیرها از حالت نسبی به مطلق تبدیل میشوند.
تغییر مدت زمان به روز شدن نتایج دستور top
به طور پیش فرض هر ۳ ثانیه یک بار نتایج دستور top به روز میشود. اگر میخواهید این مدت زمان را کم و یا زیاد کنید، کافی است d را از صفحه کلید بزنید و مدت زمان مورد نظرتان را البته به ثانیه وارد کنید و Enter را بزنید. مثلاً ما ۱ را وارد میکنیم. حالا هر یک ثانیه نتایج دستور top به روز میشود.
خاموش کردن یک پردازش
جالب است بدانید از درون برنامه top هم میتوانید پردازشی را ببندید که اگر این پردازش مرتبط با یک نرم افزار یا بستۀ نرم افزاری باشد، آن نرم افزار هم بسته یا خاموش خواهد شد. برای این کار اول باید وارد برنامه top شده و k را از صفحه کلید زده و سپس شماره پردازشی که قرار است خاتمه داده شود را وارد کنید. شماره فرآیند هر پردازش در ستون PID نشان داده شده است.
مرتب کردن نتایج با معیار میزان مصرف پردازنده (CPU)
برای اینکه فوراً نتایج را بر اساس میزان مصرف پردازنده مرتب کنید، Shift+P را از صفحه کلید وارد کنید. فوراً این کار برای شما انجام خواهد شد.
تغییر اولویت هر پردازش (Renice)
هر پردازش یک اولویتی برای خودش دارد که از درون برنامه top میتوانید این اولویت را تغییر دهید. بدین جهت r را زده سپس شماره پردازش (PID) را وارد کنید و Enter را بزنید. پس از آن شماره اولویت را وارد کرده و Enter را بزنید. کار تمام است.
ذخیره نتیجۀ دستور top
گاهی مواقع شاید نیاز داشته باشید پیکربندی دستور top را در جایی ذخیره کنید. محل ذخیره شده در پوشۀ root مدیر سرور خواهد بود. یعنی؛ /root/.toprc
پس از کلیدهای ترکیبی Shift+W برای این کار استفاده کنید.
راهنمای دستور top
در محیط top حرف h را از صفحه کلید بزنید، راهنمای این برنامه به شما نشان داده خواهد شد. راهنمایی ساده اما در عین حال مفید، که به انگلیسی است اما به سادگی میتوان نکات خوبی را از آن فرا گرفت.
خروج خودکار از برنامه top پس از n بار بارگذاری مجدد
اگر میخواهید پس از تعداد مشخصی تازه سازی نتایج دستور top به صورت خودکار از برنامه خارج شوید، کافی است از مشخصۀ n به شکلی که در زیر نمایش داده شده استفاده کنید. از این مشخصه باید زمانی استفاده کنید که قصد اجرا کردن top را دارید.
top -n 10
این بود از توضیحات کامل اما به زبان سادۀ آموزش دستور top که به عنوان مدیر سرور لینوکس یا حتی مدیر یک رایانۀ شخصی لینوکس باید آنها را یاد میداشتید. اطلاعات دستور top بسیار کاربردی است و در خیلی از مواقع ما به آن محتاجیم. البته باید این نکته را هم یادآور شوم که برنامههای کاملتری نسبت به برنامه top وجود دارد که به نوعی دارای امکانات بیشتری هستند. مثل نرم افزار htop یا iotop که راجع به آنها هم توضیحات کاملی را ارائه خواهیم کرد. پس با وبنولوژی همچنان همراه باشید.
مقاله برای افرادی که هیچ اطلاعاتی از لینوکس و کامندهایش ندارد بسیار مناسب است.
تشکر از وقت شما