بررسی فعالیت سیستم/درسهایی از لینوکس [2]
لینوکس علاوه بر چندکاربره بودن،چند وظیفه ای (multitasking) نیز هست. یعنی برنامه های زیادی میتوانند در یک زمان اجرا شوند. لینوکس فرامینی برای نمایش برنامه های در حال اجرا (پروسس ها)، نمایش استفاده از منابع سیستمی و متوقف کردن پروسه ها، در مواقع لزوم دارد.
مرسوم ترین ابزار برای بررسی پروسه های در حال اجرا، دستور ps است. با این دستور، میتوانید بررسی کنید که چه برنامه هایی در حال اجرا هستند ، از چه منابعی استفاده میکنند و چه کسی در حال اجرای آنهاست.
ps aux#
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
Root 1 0.0 0.0 744 288 pts/0 S 11:14 0:01 init[5]
Root 4469 0.0 0.4 4460 2164 pts/1 R 15:29 0:00 /bin/bash
این دستور کلیدهای زیادی دارد ولی 3 کلید آن بسیار بیشتر از دیگر کلیدها مورد استفاده قرار می گیرد.در مثال بالا، گزینه a، برای نمایش تمام پروسه هایی که به ترمینال فعلی شما مربوط است و گزینه u برای نمایش نام کاربری و زمانی که برنامه آغاز به کار کرده است، بکار میرود. S، برای نمایش پروسه هایی که به یک ترمینال خاص مربوط نیستند و در پس زمینه در حال اجرا بوده مورد استفاده قرار می گیرد. این پروسه ها اعمالی مانند ثبت فعالیتهای سیستم یا گوش کردن به پورتها برای اطلاعات واصله از شبکه را انجام میدهند. این پروسه ها هنگام بوت شدن سیستم آغاز به کار کرده و هنگام خاموش کردن سیستم ، به کار خود پایان میدهند.
در قدیم هر ترمینال به یک فرد اختصاص داشت اما امروزه شما می توانید چندین ترمینال را هم زمان اجرا نمائید.
خروجی بالا نشان می دهد که کاربر ریشه از برنامه bash استفاده می کند و برنامه init هم در پس زمینه اجرا شده است. برنامه init پدر تمام پروسه هاست به همین خاطر PID اش برابر 1 است.
ستون TTY یا ترمینال، نشان دهنده ترمینالی است که کاربر با آن به سیستم وارد شده است و ستون STAT نشاندهنده وضعیت پروسه است. R نشاندهنده پروسه در حال اجرا و S نشاندهنده پروسه در حال خواب میباشد.
ستون USER نام کاربری که پروسـه را شروع کرده نمایش میدهد. هر پروسه توسط یک عدد یکتا به نام شماره پروسه (Process ID) مشخص میشود. از این شماره هنگام از میان بردن یا اصطلاحا kill کردن پروسه استفاده میشود. ستونهای %CPU و %MEM نشاندهنده مقدار پردازنده و حافظه ای هستند که پروسه ها استفاده کرده اند. ستون VSZ یا Virtual Set Size نشاندهنده سایز پروسه image به کیلوبایت و RSS یا Resident Set Size نشاندهنده سایز پروسه در حافظه است. ستون START نشاندهنده زمان آغاز پروسه و ستون TIME نشاندهنده زمان استفاده شده برای پروسه است.
چند نکته برای استفاده بهتر از این دستور وجود دارد. اول اینکه خروجی این دستور ممکن است از یک صفحه بیشتر باشد. برای بررسی صفحه به صفحه آن باید از مفهومی به نام لوله بندی (pipe) استفاده نمود. به این معنا که خروجی یک فرمان را ورودی برنامه دیگری قرار دهیم.
ps aux | less#
با این کار خروجی فرمان ps را قبل از نمایش در ترمینال به فرمان less می دهیم تا آن را به صورت صفحه به صفحه نمایش دهد.
بررسی فعالیت سیستم به صورت گرافیکی هم امکانپذیر است. همانند ویندوز که ما از task manager استفاده می کنیم در OpenSUSE می توانیم از برنامه
Application -> system -> monitor -> performance monitor
برای مدیریت پروسه ها در لینوکس استفاده نمائیم.
سلامت و شاد باشید.
این وبلاگ , وبلاگی است مستقل که اخبار , وقایع , اتفاقات و تمامی موضوعات مرتبط با پردیس بین الملل صنعتی شریف در کیش را انعکاس میدهد.