10 دستور کاربردی تاپ ( top ) برای مانیتور پردازش ها در لینوکس

کسانی که از لینوکس به عنوان سیستم عامل سرور خود استفاده می کنند ، هر چند استفاده از کنترل پنل هایی مثل دایرکت ادمین کار را بسیار ساده نموده است اما گهگاه به نظر می رسد که دانستن برخی از مهمترین دستورات لینوکس می تواند در مدیریت بهتر سرور نقش به سزایی را ایفا نماید. قبلا در مقاله ” اتصال به سرور لینوکس ” نحوه ورود دستورات در لینوکس ( centos ، دبیان ، اوبونتو و … ) بیان شده است لذا شما پس از ورود به محیط شل می توانید از دستورات زیر استفاده نمائید. در این مقاله نحوه استفاده از دستور top برای مشاهده پردازش هایی که در سرور وجود دارند ، توضیح داده می شود.
1.  نمایش پروسس ها
شما در با وارد کردن دستور تاپ top می توانید کلیه پردازش هایی را که در سرور شما فعال می باشد را مشاهده نمائید. همچنین با وارد کردن دستور M با حروف بزرگ می توانید لیس پروسس ها را بر اساس میزان رم مصرفی منظم نمائید.
با دستور O با حروف بزرگ نیز کلیه حالات مختلف چینش پروسس ها را می توانید مشاهده نمائید:
Current Sort Field:  P  for window 1:Def
Select sort field via field letter, type any other key to return

a: PID = Process Id v: nDRT = Dirty Pages count d: UID = User Id y: WCHAN = Sleeping in Function e: USER = User Name z: Flags = Task Flags ……..

با دستور R نیز می توانید چینش را بالعکس ( زیاد به کم و یا کم به زیاد ) نمائید.
2. متوقف کردن یک پروسس
زمانیکه از دستور top استفاده می کنید، می توانید با استفاده از دستور k یک پروسس خاص را در صورتیکه از دسترسی لازم برخوردار باشید، حذف نمائید. برای این کار باید پس از آن شماره پردازش ( PID ) مورد نظر را وارد نمائید.
PID to kill: 1309
Kill PID 1309 with signal [15]: 
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 1309 geek   23   0 2483m 1.7g  27m S    0 21.8  45:31.32 gagent
 1882 geek   25   0 2485m 1.7g  26m S    0 21.7  22:38.97 gagent
 5136 root    16   0 38040  14m 9836 S    0  0.2   0:00.39 nautilus
3. تغییر اولویت یک پردازش
زمانیکه از دستور top استفاده می کنید ، می توانید با استفاده از دستور r اولیت یک پردازش خاص را در صورتیکه از دسترسی لازم برخوردار باشید، تغییر دهید. برای این کار باید پس از آن شماره پردازش ( PID ) مورد نظر را وارد نمائید.
PID to renice: 1309
Renice PID 1309 to value: 
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 1309 geek   23   0 2483m 1.7g  27m S    0 21.8  45:31.32 gagent
 1882 geek   25   0 2485m 1.7g  26m S    0 21.7  22:38.97 gagent
4. نمایش پردازش های یک کاربر خاص
با دستور top -u شما می توانید پردازش های یک کاربر خاص را مشاهده نمائید.
$ top -u root
البته زمانیکه دستور top فعال است نیز می توانید از دستور u برای نمایش پردازش های یک کاربر خاص استفاده نمائید.
5. نمایش پروسس بر اساس شماره پردازش
برای نمایش یک پردازش خاص، کافی است مشابه زیر از دستور p- و شماره پردازش مورد نظر استفاده نمائید:
$ top -p 1309, 1882
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 1309 geek   23   0 2483m 1.7g  27m S    0 21.8  45:31.32 gagent
 1882 geek   25   0 2485m 1.7g  26m S    0 21.7  22:38.97 gagent
6. زمان به روز رسانی نمایش پردازش ها
بصورت پیش فرض هر 3 ثانیه یکبار نمایش داده می شوند، اما اگر بخواهید این زمان را تغییر بدهید، کافی است که در top از دستور d و پس از آن زمان مورد نظر خود بر حسب ثانیه وارد نمائید:
Change delay from 3.0 to: 10
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 1309 geek   23   0 2483m 1.7g  27m S    0 21.8  45:31.32 gagent
 1882 geek   25   0 2485m 1.7g  26m S    0 21.7  22:38.97 gagent
7. رنگ بندی پردازش ها
مطابق تصویر ضمیمه، با دستور z و یا b می توانید پردازش های فعال را رنگ بندی کنید.
8. مسیر پردازش
با کمک دستور c شما می توانید مسیر کامل پردازش ها را مشاهده نمائید:
 PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 1309 geek   23   0 2483m 1.7g  27m S    0 21.8  45:31.32 /usr/sbin/gagent
 1882 geek   25   0 2485m 1.7g  26m S    0 21.7  22:38.97 /usr/sbin/gagent -l 0 -u pre
9. تنظیمات پنل top
برای نمایش تعداد بیشتر پردازش ممکن است نیاز داشته باشید برخی از اطلاعاتی که در بالای پنل top نمایش داده می شود ، را پنهان نمائید، برای این کار می توانید از دستورات زیر استفاده نمایید، البته امکان افزایش سایز پنجره شل نیز راه دیگری خواهد بود.
– دستور l که اطلاعات میانگین بار را در سطر اول نمایش می دهد، و از این دستور می توانید برای نمایش یا پنهان کردن آن استفاده نمائید.
– دستور t که اطلاعات پردازشگر را در سطر دوم و سوم نمایش می دهد، و از این دستور می توانید برای نمایش یا پنهان کردن آن استفاده نمائید.
– دستور m که اطلاعات حافظه ( memory ) را در سطر چهارم و پنجم نمایش می دهد، و از این دستور می توانید برای نمایش یا پنهان کردن آن استفاده نمائید.
top - 23:47:32 up 179 days,  3:36,  1 user,  load average: 0.01, 0.03, 0.00
Tasks:  67 total,   1 running,  66 sleeping,   0 stopped,   0 zombie
Cpu(s):   0.7% user,   1.2% system,   0.0% nice,  98.0% idle
Mem:   1017136k total,   954652k used,    62484k free,   138280k buffers
Swap:  3068404k total,    22352k used,  3046052k free,   586576k cached
10.  ذخیره تنظیمات
برای ذخیره تنظیماتی که در نرم افزار top وارد کرده اید می توانید از دستور w استفاده کنید و از دفعه بعد با همان تنظیمات قبلی از top استفاده نمائید. این اطلاعات در مسیر  ~/.toprc ذخیره می گردند.
برای خروج از برنامه بدون ذخیره تغییرات نیز می توانید از دستور q استفاده کنید.
top - 23:47:32 up 179 days,  3:36,  1 user,  load average: 0.01, 0.03, 0.00
Tasks:  67 total,   1 running,  66 sleeping,   0 stopped,   0 zombie
Cpu(s):   0.7% user,   1.2% system,   0.0% nice,  98.0% idle
Mem:   1017136k total,   954652k used,    62484k free,   138280k buffers
Swap:  3068404k total,    22352k used,  3046052k free,   586576k cached
Wrote configuration to '/home/ramesh/.toprc'
توضیح مهم در مورد عدد لود ( Load ) :
این عدد که به کمک نرم افزار top در فواصل زمانی مختلف قابل مشاهده می باشد، نشان دهنده میزان باری است که در نتیجه مصرف منابع بر روی سرور شما وارد می گردد. حالت عادی این عدد باید میزانی کمتر از عدد 1 باشد که بهترین عملکرد سرور بوده و نشان از تناسب سخت افزار مورد استفاده دارد. باید توجه کنید که با افزایش عدد لود احتمال دارد برخی از پردازش ها منابع کافی در اختیار نداشته و در نتیجه با افزایش تعداد آنها سرور اصطلاحا هنگ کرده و از ادامه خدمات دهی بازماند.