: :
مانده تا پایان تخفیف
فقط تا آخر امروز
فقط امروز
امیرحسین کریم پور
مدیر ارشد توسینسو و متخصص سرویس های مایکروسافت

iotop چیست و نکات کاربردی استفاده از آن

سلام خدمت دوستان خوبم در وب سایت توسینسو بویژه لینوکسی های عزیز. در این آموزش قصد دارم نرم افزاری رو به شما معرفی کنم که توسط اون میتونید میزان IO هارد دیسک سیستم تون رو مانیتور کنید. این نرم افزار که اسمش IOTOP است و تقریبا شبیه به نرم افزار TOP می باشد به شما میزان بهره وری و مصرف نرم افزار ها ، پراسس ها و برنامه ها از هارد دیسک سیستم را در خروجی نشان می دهد.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

لازم به ذکر است که IOTOP با زبان برنامه نویسی Python نوشته شده است و برای استفاده از این نرم افزار نسخه کرنل لینوکس شما بایستی 2.6.20 و بالاتر باشد. این نرم افزار بسیار کاربردی می تواند باشد زمانی که یک نرم افزار IO بالایی از دیسک را اشغال می کند و ما با اجرای این نرم افزار براحتی می توانیم بفهمیم که کدام نرم افزار از هارد دیسک سیستم زیاد استفاده می کند. حال که این نرم افزار را معرفی کردیم بهتر است تا آنرا نصب کنیم و با آن کار کنیم.اگر از لینوکس های خانواده RHEL استفاده می کنید برای نصب نرم افزار IOTOP دستور زیر را اجرا کنید :

yum install iotop   

و اگر از لینوکس های خانواده Debian استفاده می کنید برای نصب نرم افزار IOTOP دستور زیر را اجرا کنید :

apt-get install iotop

و در صورتیکه از توزیع Fedora های نسخه 22 به بالاتر استفاده می کنید از دستور زیر برای نصب این نرم افزار استفاده کنید :

 dnf install iotop
  • نکته : اگر نرم افزار IOTOP را با استفاده از Repository های پیش فرض سیستم نصب می کنید به احتمال زیاد نسخه قدیمی روی سیستم تان نصب شود برای اینکه نسخه جدید این نرم افزار را دانلود و نصب کنید از دستورات زیر استفاده کنید :
wget http://guichaz.free.friotopfiles/iotop-0.6.tar.bz2
 tar -xjvf iotop-0.6.tar.bz2
cd iotop-0.6/
./setup.py install

حال بعد از اینکه نرم افزار IOTOP را نصب کردیم با اجرای دستور iotop این نرم افزار را اجرا کنید. خروجی این دستور مشابه تصویر زیر است :


معرفی نرم افزار iotop و نکات کاربردی استفاده از آن


هر قسمت از خروجی دستور iotop به خودی خود واضح است و نیاز به توضیح ندارد. برای مثال COMMAND دستور یا نرم افزاری که در حال استفاده از هارد دیسک سیستم است را نمایش می دهد ، قسمت USER یوزری که آن دستور یا پراسس را اجرا کرده را نشان می دهد. در خروجی دستور iotop دو چیز خیلی مهم است که باید بدانید که یکی IO و دیگری SWAPIN است.

ستون مربوط به IO کل میزان استفاده از دیسک را نشان می دهد که آن پراسس مورد استفاده قرار داده است و برابر مجموع استفاده از Disk و Swap می باشد اما ستون مربوط به SwapIn میزان استفاده از فضای Swap را به ازای هر پراسس نشان می دهد. برای مثال در تصویر فوق پراسس netns هیچ استفاده ای از فضای Swap نکرده است این به این معنی می باشد که پراسس netns تماما در حافظه RAM قرار دارد و برای اجرا فضای هارد دیسک ما را اشغال نکرده است.حال اگر بخواهید به جای اینکه IO استفاده شده توسط تمامی پراسس ها و Thread ها را مشاهده کنید تنها پراسس هایی که در حال حاضر از IO دیسک استفاده می کنند را مشاهده کنید دستور زیر را اجرا کنید :

# iotop --only

شما می توانید یک کار مفید در رابطه با این نرم افزار نیز انجام دهید و آن این است که یک Cron job بنویسید تا هر دقیقه یکبار نرم افزار IOTOP را اجرا کند و I/O های مصرف شده از دیسک را Track کند و نتیجه را به شما ایمیل کند. خب برای این کار با اجرای دستور زیر فایل iotop را از مسیر زیر برای نوشتن Cron job باز کنید :

# vi /etc/cron.d/iotop

حالا دو خط زیر را به فایل اضافه کنید :

MAILTO=username@domain.com
* * * * * root iotop -botqqq --iter=3 >> /var/log/iotop

در پایان به برخی از سوئیچ های مهم این نرم افزار میپردازیم :

  • سوئیچ version- : این سوئیچ ورژن این نرم افزار را نشان می دهد.
  • سوئیچ h- : این سوئیچ سوئیچ های مختلف این نرم افزار را نشان می دهد.
  • سوئیچ r- : این سوئیچ خروجی را به صورت معکوس Sort می کند. توجه کنید ممکن است این سوئیچ در ورژن های قدیمی این نرم افزار موجود نباشد.
  • سوئیچ o- : این سوئیچ برای چک کردن پراسس ها یا Thread ها مورد استفاده قرار می گیرد.
  • سوئیچ p PID- : این سوئیچ برای نمایش میزان مصرف IO دیسک توسط یک پراسس خاص مورد استفاده قرار می گیرد.
  • سوئیچ u USER : این سوئیچ برای نمایش میزان مصرف IO دیسک توسط یک یوزر مورد استفاده قرار می گیرد.

امیرحسین کریم پور
امیرحسین کریم پور

مدیر ارشد توسینسو و متخصص سرویس های مایکروسافت

امیرحسین کریم پور ، مدیر ارشد توسینسو ، متخصص در حوزه سیستم عامل های کلاینت و سرور مایکروسافت و سرویس های مربوطه ، سیستم عامل لینوکس ، مجازی سازی و ... سابقه کار با سازمان ها و شرکت های مختلف در زمینه سرویس های مایکروسافت در قالب پروژه ، مشاوره و آموزش. علاقه مند به حوزه امنیت اطلاعات و تست نفوذ سنجی

نظرات