آشنایی با دستور vmstat

نوشته شده توسط: محمد

یکی از برنامه های مانیتورینگ در سرور های لینوکسی می باشد
این دستور موارد زیر را نمایش می دهد:
دیسکها ، فرآیندهای سیستم، I / O بلوک، وقفه ها، فعالیت CPU  و kernerl threads را نمایش می دهد.
به طور پیش فرض vmstat در سرور نصب نمی باشد و   نیازاست  بسته   sysstat در سرور نصب شود که شامل برنامه vmstat می باشد.
برای نصب دستور زیر را وارد میکنیم:

 yum -y install sysstat

https://mihanhosting.ir/wp-content/uploads/2014/09/vmstat.jpg
هر برنامه‌ یا فرآیندی برای اجرا شدن ابتدا در حافظه اصلی یا رم قرار می‌گیرد و با بدست آوردن اصلی‌ترین منبع هر سیستم یعنی پردازنده اجرا خواهد شد. مانیتورینگ حافظه اصلی و پردازنده در بهبود کارایی سیستم مفید است. خود حافظه اصلی به دو ناحیه Kernel Level و User Level تقسیم می‌شوند. همچنین فضایی در هارد دیسک به نام swap بصورت یک پارتیشن مجزا از نوع سیستم فایل swap وجود دارد که فرآیندها میان حافظه اصلی و swap در حال رد و بدل شدن هستند.

  • ستون Procs که مخفف Proccess و اطلاعاتی از فرآیند بلاک شده و در حال اجرا را نمایش می‌دهد. در زیر این ستون به ترتیب فیلد r مجموع تعداد فر‌آیندهای runnable و فیلد b مجموع فرآیندهای بلاک شده را نشان می‌دهد.
  • ستون memory اطلاعاتی از حافظه اصلی را نشان می‌دهد که دارای ۴ فیلد است. فیلد swpd معرف میزان فضای swap اسفاده شده است که مانند شکل اول هیچ فضایی استفاده نشده است. فیلد free مانند ستون free در اولین خط خروجی دستور free میزان فضای آزاد حافظه اصلی را نشان می‌دهد. فیلد buff و cache به ترتیب مانند ستون‌های buffer و cache در خروجی دستور free میزان فضای بافر و cache را نشان می‌دهند.
  • ستون swap اطلاعاتی از swap را نشان می‌دهد؛ فیلد si یعنی swap in و به میزان فضایی که فرآیندها از دیسک به حافظه اصلی آورده شده‌اند، اشاره می‌کند؛ عملیاتی که طی آن فرآیندی از حافظه swap که برروی دیسک قرار دارد به حافظه اصلی آوره می‌شود swap in گفته می‌شود. so یعنی swap out و بلعکس عملیات swap in است و به عملیاتی که طی آن فرآیندی از حافظه اصلی وارد ناحیه swap بر روی دیسک می‌گویند و فیلد so میزان این عملیات را نشان می‌دهد. به مجموع این دو عملیات swapping یا مبادله کردن می‌گونید و چون فیلد swpd برابر صفر است و از حافظه swap استفاده نشده است پس هیچ عملیات si و so نیز انجام نگرفته پس این دوفیلد نیز مانند فیلد swpd برابر صفر هستند.
  • ستون io میزان عملیات‌های ورودی وخروجی یا Input/Output را نشان می‌دهند. این ستون دارای دوفیلد bi که مخفف Block Input و معرف تعداد بلاک‌های حافظه‌ای که از دیسک گرفته یا دریافت شده‌اند یا همان «خواندن از دیسک» و bo مخفف Block Output و یعنی تعداد بلاک‌های حافظه‌ای که بر روی دیسک فرستاده شده‌اند یا همان «نوشتن بر دیسک» را نشان می‌دهد.
  • ستون system دارای دو in که مخفف Intrrupt یا تعداد وقفه‌ها در هر ثانیه است. یکی از اعمالی که باعث ایجاد وقفه می‌شود درخواست خواندن از دیسک است. به محض بروز وقفه برای خواندن از دیسک مقدار این فیلد تغییر کرده و فرآیند باید متوقف شود تا بیخود پردازنده را اشغال نکند، پیش از متوقف کردن فرآیند باید تمامی وضعیت یک فرآیند نگهداری شود که به محض تکمیل عمل I/O دوباره آن فرآیند از وضعیت قبلی خود اجرا شود. به عملیات نگهداری وضعیت فرایند Context Switch گویند که فیلد دوم یعنی cs مخفف Context Switch ها در هر ثانیه است.
  • ستون cpu دارای ۴ فیلد است. فضای حافظه اصلی به دو ناحیه Kernel-Level و User-level تقسیم می‌شود که ناحیه User-level هیچ دخالتی بر ناحیه Kernel-Level ندارد. اولین فیلد یعنی us زمان مصرف شده برای اجرا کردن کدهای کاربری را نشان می‌دهد. فیلد sy میزان زمان صرف شده برای اجرای کدهای کرنل را نشان می‌دهد. id که مخفف idle است میزان زمان بیکاری یا Idle Time پردازنده و فیلد wa میزان زمان صرف شده برای تکمیل یک عمل I/O را نشان می‌دهند.

مطالب مرتبط

نظر شما