مانیتور کردن سرور لینوکس با دستور top
10 دستور کاربردی تاپ ( top ) برای مانیتور پردازش ها در لینوکس
تاریخ ایجاد در 12 تیر 1391
کسانی که از لینوکس به عنوان سیستم عامل سرور مجازی خود استفاده می کنند ، هر چند استفاده از کنترل پنل هایی مثل دایرکت ادمین کار را بسیار ساده نموده است اما گهگاه به نظر می رسد که دانستن برخی از مهمترین دستورات لینوکس می تواند در مدیریت بهتر سرور نقش به سزایی را ایفا نماید. قبلا در مقاله " اتصال به سرور لینوکس " نحوه ورود دستورات در لینوکس ( 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 ) مورد نظر را وارد نمائید.
زمانیکه از دستور 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. رنگ بندی پردازش ها
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 باشد که بهترین عملکرد سرور بوده و نشان از تناسب سخت افزار مورد استفاده دارد. باید توجه کنید که با افزایش عدد لود احتمال دارد برخی از پردازش ها منابع کافی در اختیار نداشته و در نتیجه با افزایش تعداد آنها سرور اصطلاحا هنگ کرده و از ادامه خدمات دهی بازماند.