أمر Linux Vmstat

Amr Linux Vmstat



في هذا الدليل، سنوضح الطرق المختلفة لاستخدام الأمر 'vmstat' في Linux.

المتطلبات الأساسية:

لتنفيذ الخطوات الموضحة في هذا الدليل، تحتاج إلى المكونات التالية:

  • نظام Linux تم تكوينه بشكل صحيح. لأغراض تجريبية، فكر في استخدام Linux VM .
  • الوصول إلى أ مستخدم غير جذر بامتياز Sudo
  • الفهم الأساسي لواجهة سطر الأوامر

الذاكرة الافتراضية في لينكس

الذاكرة الفعلية، والتي يشار إليها أيضًا باسم ذاكرة الوصول العشوائي (RAM)، محدودة الحجم. النواة مسؤولة عن توزيع هذه المساحة على كافة البرامج قيد التشغيل. جميع البرامج قيد التشغيل (بما في ذلك نظام التشغيل) موجودة في ذاكرة الوصول العشوائي (RAM).







ومع ذلك، إذا كان الطلب على الذاكرة أعلى من الذاكرة المتوفرة، فسيؤدي ذلك ببساطة إلى تعطل النظام (أو سيطلب البرنامج المزيد من مساحة الذاكرة). في معظم الحالات، هذه نتيجة غير مرغوب فيها. هذا هو المكان الذي تأتي فيه الذاكرة الافتراضية.



تشير الذاكرة الافتراضية إلى مساحة قرص مخصصة على محرك الأقراص الثابتة (HDD/SSD) لديك والتي يمكن أن تعمل كذاكرة إضافية في المواقف الصعبة. نظرًا لأنها تعمل كمساحة ذاكرة وصول عشوائي (ولكن ليس في الحقيقة)، فهي تعتبر 'افتراضية'. في أنظمة UNIX/Linux، يُشار إلى هذه المسافات باسم مساحات المبادلة.



تقوم نواة Linux بنقل كتل الذاكرة إلى مساحة المبادلة واستعادتها مرة أخرى إلى ذاكرة الوصول العشوائي حسب الضرورة.





من المؤكد أن أداء الذاكرة الافتراضية أبطأ من الذاكرة الفعلية ويتناسب بشكل مباشر مع أداء جهاز التخزين. ومع ذلك، في تكوينات أجهزة معينة (باستخدام NVMe SSD، على سبيل المثال)، قد يكون الأداء مكافئًا لذاكرة الوصول العشوائي (RAM).

الأمر فمستات

يعد الأمر 'vmstat' أداة مراقبة تقوم بالإبلاغ عن معلومات متنوعة حول الذاكرة الافتراضية. إنه متوفر على جميع أنظمة Linux كجزء من حزمة 'sysstat'.



بنية أوامر 'vmstat' هي كما يلي:

$ vmstat < خيارات > < تأخير > < عدد >

الاستخدام الأساسي

إذا تم تشغيله بدون أي معلمة، فسيقوم 'vmstat' بطباعة معلومات النظام منذ آخر تمهيد:

$ vmstat

يتم ترتيب الإخراج في ستة أجزاء:

  • العمليات : إحصائيات العمليات الجارية حاليا
    • ص : عدد العمليات النشطة
    • ب : عدد عمليات النوم
  • ذاكرة : إحصائيات حول استخدام الذاكرة
    • swpd : إجمالي حجم الذاكرة الظاهرية (مساحة المبادلة)
    • حر : مساحة المبادلة المتاحة
    • برتقالي : مقدار مساحة المبادلة المستخدمة كذاكرة مؤقتة
    • مخبأ : إجمالي ذاكرة التخزين المؤقت
  • تبديل : إحصائيات حول مساحة المبادلة
    • نعم : معدل المبادلة في
    • لذا : معدل المبادلة
  • هذا : إحصائيات الإدخال/الإخراج
    • مع : عدد الكتل المستلمة من جهاز (أجهزة) الكتلة
    • يكون : عدد الكتل المرسلة لحظر الجهاز (الأجهزة)
  • نظام : إحصائيات الجدولة
    • في : عدد مقاطعات النظام
    • خدمات العملاء : معدل مفاتيح السياق
  • وحدة المعالجة المركزية : إحصائيات وحدة المعالجة المركزية المختلفة
    • نحن : تقضي وحدة المعالجة المركزية وقتًا في العمليات غير المتعلقة بالنواة
    • و : تقضي وحدة المعالجة المركزية وقتًا في عمليات النواة
    • بطاقة تعريف : وحدة المعالجة المركزية قضاء الوقت في وضع الخمول
    • ل : تقضي وحدة المعالجة المركزية وقتًا في انتظار اكتمال عمليات الإدخال/الإخراج
    • شارع : وقت وحدة المعالجة المركزية الذي يستخدمه الجهاز الظاهري

تغيير وحدة العرض

افتراضيًا، يُبلغ 'vmstat' عن قيم الذاكرة بالكيلوبايت. لتغيير الوحدة، استخدم ' ' علَم:

$ vmstat < دعوى >

هنا، يقوم 'vmstat' بطباعة القيم بالميجابايت.

هناك العديد من وحدات الذاكرة المتاحة:

  • م : 1048576 بايت (2^20 بايت)
  • م : 1000000 بايت (1000 كيلو بايت)
  • ك : 1024 بايت (1 ميجابايت)
  • ك : 1000 بايت (1 كيلو بايت)

تحديث مستمر للإحصائيات

بشكل افتراضي، يقوم 'vmstat' بطباعة التقرير مرة واحدة. ومع ذلك، يمكننا تكليف “vmstat” بتقديم تقارير مستمرة في فترة زمنية محددة (بالثواني).

هيكل الأوامر هو كما يلي:

$ vmstat < تأخير >

على سبيل المثال، للحصول على الإحصائيات المحدثة كل ثانيتين، يكون الأمر كما يلي:

$ vmstat 2

لن يتوقف الإخراج إلا إذا تم إنهاؤه يدويًا باستخدام 'Ctrl + C'.

وبدلاً من ذلك، يمكننا تحديد 'vmstat' لتوفير الإحصائيات لعدد محدد من المرات:

$ vmstat < تأخير > < عدد >

على سبيل المثال، للحصول على الإحصائيات المحدثة كل ثانيتين لمدة 5 مرات، يبدو الأمر كما يلي:

$ vmstat 2 5

الذاكرة النشطة وغير النشطة

تشير الذاكرة النشطة إلى مساحة الذاكرة التي تستخدمها العملية حاليًا. من ناحية أخرى، تشير الذاكرة غير النشطة إلى مساحة الذاكرة التي تم تخصيصها لعملية لم تعد قيد التشغيل.

باستخدام 'vmstat'، يمكننا التحقق من كمية الذكريات النشطة وغير النشطة المستخدمة:

$ vmstat

هنا، يتم استبدال العمودين 'buff' و'cache' بالأعمدة 'inact' و'active' على التوالي.

الذاكرة والجدولة

للحصول على تقرير أكثر تفصيلاً عن الذاكرة والجدولة، استخدم الأمر التالي:

$ vmstat

هنا:

  • القسم 1: يتناول هذا القسم معلومات النظام الأساسية مثل إجمالي الذاكرة الفعلية، والذاكرة النشطة/غير النشطة، والذاكرة الحرة/المخزنة/ذاكرة التخزين المؤقت، وما إلى ذلك.
  • القسم 2: إحصائيات وحدة المعالجة المركزية المختلفة
    • علامات وحدة المعالجة المركزية غير اللطيفة : كم مرة استخدمت العمليات ذات الأولوية العالية وحدة المعالجة المركزية.
    • القراد وحدة المعالجة المركزية لطيفة : عدد المرات التي استخدمت فيها العمليات ذات الأولوية المنخفضة وحدة المعالجة المركزية.
    • القراد وحدة المعالجة المركزية للنظام : عدد المرات التي استخدمت فيها عمليات النواة وحدة المعالجة المركزية.
    • علامات وحدة المعالجة المركزية الخاملة : عدد المرات التي توقفت فيها وحدة المعالجة المركزية عن العمل.
    • IO-انتظار وحدة المعالجة المركزية القراد : عدد المرات التي تنتظر فيها وحدة المعالجة المركزية إدارة الإدخال/الإخراج.
    • IRQ : عدد المرات التي تلقت فيها وحدة المعالجة المركزية طلبات المقاطعة.
    • com.softirq : عدد المرات التي تلقت فيها وحدة المعالجة المركزية طلبات مقاطعة البرنامج.
    • القراد وحدة المعالجة المركزية المسروقة : عدد المرات التي قامت فيها الأجهزة الافتراضية بسرقة وقت وحدة المعالجة المركزية.
  • القسم 3: إحصائيات ترحيل الذاكرة
  • القسم 4: عدادات الأحداث

الشوكات منذ التمهيد

تشير الشوكات إلى العمليات التي نتجت عن العمليات الحالية. للحصول على إحصائيات عدد الشوكات، قم بتشغيل الأمر التالي:

$ vmstat -F

إحصائيات القرص والتقسيم

يمكن أن يوفر الأمر 'vmstat' أيضًا معلومات حول نشاط القرص. للحصول على ملخص سريع لنشاط القرص، قم بتشغيل الأمر التالي:

$ vmstat

للحصول على تقرير أكثر تفصيلاً عن نشاط القرص (بما في ذلك إحصائيات القراءة/الكتابة)، استخدم الأمر التالي بدلاً من ذلك:

$ vmstat

هنا:

  • يقرأ
    • المجموع : إجمالي عدد قراءة القرص
    • اندمجت : إجمالي عدد قراءات المجموعة
    • القطاعات : إجمالي عدد القطاعات المقروءة
    • آنسة : إجمالي الوقت اللازم لقراءة البيانات من القرص (بالمللي ثانية)
  • يكتب
    • المجموع : إجمالي عدد عمليات الكتابة على القرص
    • اندمجت : إجمالي عدد عمليات الكتابة للمجموعة
    • القطاعات : إجمالي عدد القطاعات المكتوبة
    • آنسة : إجمالي الوقت اللازم للكتابة على القرص (بالملي ثانية)
  • آيو
    • يضع : إجمالي عمليات القراءة/الكتابة على القرص الحالي
    • ثانية : مقدار الوقت المستغرق في عملية القراءة/الكتابة المستمرة (بالثواني)

يمكن للأمر 'vmstat' أيضًا إنشاء تقارير لقسم معين من القرص. للحصول على تقرير القسم، استخدم بنية الأوامر التالية:

$ vmstat < Partition_identifier >

إحصائيات البلاطة

تم تصميم تخصيص الألواح ليكون آلية فعالة لتخصيص ذاكرة الكائنات. بالمقارنة مع الآليات السابقة، يوفر تخصيص الألواح تقليلًا لتجزئة الذاكرة (الناجمة عن تخصيص الذاكرة وإلغاء تخصيصها).

للتحقق من إحصائيات بلاطة النظام، استخدم الأمر 'vmstat' التالي:

$ sudo vmstat

لاحظ أنه يتطلب إذن الجذر لعرض الإحصائيات.

هنا:

  • مخبأ : اسم البيانات المخزنة مؤقتا
  • على واحد : عدد الكائنات النشطة في ذاكرة التخزين المؤقت Num
  • المجموع : العدد الإجمالي للكائنات في ذاكرة تخزين مؤقت معينة
  • مقاس : حجم الكائنات المخزنة مؤقتا
  • الصفحات : عدد صفحات الذاكرة التي تحتوي على الكائنات المخزنة مؤقتًا

خاتمة

في هذا الدليل، عرضنا الطرق المختلفة لاستخدام الأمر 'vmstat'. إلى جانب الذاكرة الافتراضية، يمكن لـ 'vmstat' أيضًا الإبلاغ عن إحصائيات القرص والشوكات والألواح والمزيد.

هل أنت مهتم بالتعرف على أدوات مراقبة النظام الأخرى؟ تعلم المزيد عن com.htop , قتل , ملاحظة ، إلخ.

حوسبة سعيدة!