الأخبار التكنولوجية والاستعراضات والنصائح!

كيفية استخدام الأمر vmstat على نظام Linux

يستخدم كمبيوتر Linux أو macOS ذاكرة افتراضية. اكتشف كيف يؤثر ذلك على استخدام نظامك للذاكرة الفعلية ووحدة المعالجة المركزية وموارد القرص الصلب.

ما هي الذاكرة الافتراضية؟

جهاز الكمبيوتر الخاص بك مزود بكمية محدودة من الذاكرة الفعلية تسمى ذاكرة الوصول العشوائي (BAGGE). يجب أن تتم إدارة ذاكرة الوصول العشوائي هذه بواسطة kernel ومشاركتها بين نظام التشغيل وأي تطبيقات قيد التشغيل. إذا كانت هذه الطلبات مجتمعة تتطلب ذاكرة أكبر مما هو مثبت فعليًا في جهاز الكمبيوتر الخاص بك ، فما الذي يمكن أن تفعله النواة؟

يمكن لأنظمة التشغيل Linux و Unix مثل macOS استخدام مساحة على القرص الصلب الخاص بك لمساعدتهم على إدارة احتياجات الذاكرة. يمكن استخدام منطقة محجوزة من مساحة القرص الثابت تسمى “مساحة التبديل” كما لو كانت امتدادًا لذاكرة الوصول العشوائي. هذه ذاكرة افتراضية.

يمكن لنواة Linux كتابة محتويات كتلة من الذاكرة لتبديل المساحة ، وتحرير هذا الجزء من ذاكرة الوصول العشوائي لاستخدامه من قبل عملية أخرى. يمكن استرجاع الذاكرة التي تم تبديلها – وتسمى أيضًا “المبادلة” – من مساحة التبديل وإعادتها إلى ذاكرة الوصول العشوائي عند الحاجة.

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

يجب أن يقوم محرك الأقراص الثابتة بإجراء المزيد من عمليات القراءة والكتابة. يجب أن يقوم المركز – وبالتالي المعالج – بمزيد من العمل لأنه يستبدل الذاكرة ، ويتبادل في الذاكرة ، ويحافظ على تشغيل جميع اللوحات لتلبية احتياجات الذاكرة للعمليات المختلفة.

يوفر لك نظام Linux طريقة لمراقبة كل هذا النشاط في شكل الأمر vmstat ، والذي يُبلغ عن إحصائيات الذاكرة الظاهرية.

الأمر vmstat

إذا قمت بكتابة vmstat كأمر بدون معلمات ، فسيظهر لك مجموعة من القيم. هذه القيم هي القيم المتوسطة لكل إحصائية منذ آخر مرة تمت فيها إعادة تشغيل جهاز الكمبيوتر الخاص بك. هذه الأرقام ليست لقطة للقيم “في الوقت الحالي”.

vmstat

يتم عرض جدول قصير للقيم.

كيفية استخدام الأمر vmstat على نظام Linux 1

توجد أعمدة بعنوان Procs و Memory و Swap و IO والنظام ووحدة المعالجة المركزية. يحتوي العمود الأخير (العمود الموجود في أقصى اليمين) على بيانات متعلقة بوحدة المعالجة المركزية.

كيفية استخدام الأمر vmstat على نظام Linux 2

فيما يلي قائمة بسجلات البيانات في كل عمود.

بروك

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

ذاكرة

swpd: مقدار الذاكرة الظاهرية المستخدمة. بمعنى آخر ، مقدار الذاكرة التي تم تبديلها. ، free: مقدار الذاكرة الخالية (غير المستخدمة حاليًا) memory.buff: مقدار الذاكرة المستخدمة كمخازن مؤقتة: مقدار الذاكرة المستخدمة كذاكرة تخزين مؤقت.

يتغيرون

si: مقدار الذاكرة الظاهرية التي تم تبديلها من مساحة التبديل.

IO

bi: الكتل المتلقاة من جهاز الحظر. عدد كتل البيانات المستخدمة لإعادة الذاكرة الظاهرية إلى RAM.bo: الكتل المرسلة إلى جهاز الحظر. عدد كتل البيانات المستخدمة لتبديل الذاكرة الظاهرية من ذاكرة الوصول العشوائي إلى مساحة التبادل.

النظام

in: عدد المقاطعات في الثانية ، بما في ذلك clock.cs: عدد تبديل السياق في الثانية. تبديل السياق هو عندما ينتقل kernel من معالجة وضع النظام إلى معالجة وضع المستخدم.

وحدة المعالجة المركزية

هذه القيم هي جميع النسب المئوية لإجمالي وقت وحدة المعالجة المركزية.

لنا: الوقت المستغرق في تشغيل التعليمات البرمجية غير الأساسية. أي مقدار الوقت الذي يقضيه المستخدم في معالجة وقت المستخدم وفي معالجة الوقت اللطيف. sy: الوقت المستغرق في تشغيل كود النواة. هذا هو مقدار الوقت الذي يجب أن ينتظره الجهاز الظاهري حتى ينتهي برنامج Hypervisor من خدمة الأجهزة الافتراضية الأخرى قبل أن يتمكن من العودة وخدمة هذا الجهاز الظاهري.

استخدم نطاقًا زمنيًا

يمكننا أن نجعل vmstat يقدم تحديثات منتظمة لهذه الأرقام باستخدام قيمة تأخير. يتم إعطاء قيمة التأخير بالثواني. لتحديث الإحصائيات كل خمس ثوان ، سنستخدم الأمر التالي:

vmstat 5

كيفية استخدام الأمر vmstat على نظام Linux 3

كل خمس ثوانٍ ، يضيف vmstat صفًا آخر من البيانات إلى الجدول. يجب أن تضغط على Ctrl + C لإيقاف ذلك.

كيفية استخدام الأمر vmstat على نظام Linux 4

استخدم قيمة العد

إذا كنت تستخدم قيمة تأخير منخفضة جدًا ، فسيتم تحميل نظامك المزيد من العبء. إذا كنت بحاجة إلى تحديثات سريعة لمحاولة تشخيص مشكلة ، فمن المستحسن استخدام قيمة حساب وقيمة تأخير.

يخبر العدد vmstat بعدد التحديثات التي يجب إجراؤها قبل أن يخرج ويعيدك إلى موجه الأوامر. إذا لم تحدد قيمة العد ، فسيتم تشغيل vmstat حتى يتم إيقافه بواسطة Ctrl + C.

لجعل vmstat يوفر تحديثًا كل خمس ثوانٍ – ولكن لأربعة تحديثات فقط – استخدم الأمر التالي:

vmstat 5 4

كيفية استخدام الأمر vmstat على نظام Linux 5

بعد أربعة تحديثات ، يتوقف vmstat من تلقاء نفسه.

كيفية استخدام الأمر vmstat على نظام Linux 6

تغيير الأجهزة

يمكنك اختيار عرض الذاكرة وتبديل الإحصائيات بالكيلو بايت أو الميجابايت باستخدام الخيار -S (علامة الوحدة). يجب أن يتبع ذلك واحد من k أو K أو m أو M. وهذه تمثل:

k: 1000 بايت K: 1024 بايت الاختبار: 1000000 بايت M: 1048576 بايت

لتحديث الإحصائيات كل عشر ثوانٍ مع عرض إحصائيات الذاكرة والمبادلة بالميغابايت ، استخدم الأمر التالي:

vmstat 10 -SM

كيفية استخدام الأمر vmstat على نظام Linux 7

يتم الآن عرض إحصائيات الذاكرة والمبادلة بالميغابايت. لاحظ أن الخيار -S لا يؤثر على إحصائيات كتلة الإدخال / الإخراج. يتم عرض هذه دائمًا في كتل.

كيفية استخدام الأمر vmstat على نظام Linux 8

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

إذا كنت تستخدم الخيار -a (نشط) ، فسيتم استبدال أعمدة الذاكرة المؤقتة وذاكرة التخزين المؤقت بأعمدة “غير نشطة” و “نشطة”. كما يقترحون ، فهذه تُظهر مقدار الذاكرة غير النشطة والنشطة.

إذا كنت تريد رؤية هذين العمودين بدلاً من عمودي Buff وذاكرة التخزين المؤقت ، فقم بتضمين الخيار -a ، كما هو موضح:

vmstat 5 -a -SM

كيفية استخدام الأمر vmstat على نظام Linux 9

تتأثر الأعمدة غير النشطة والنشطة بخيار -S (علامة الوحدة).

كيفية استخدام الأمر vmstat على نظام Linux 10

شوك

يعرض رمز التبديل -f عدد الانقسامات التي حدثت منذ بدء تشغيل الكمبيوتر.

بمعنى آخر ، يُظهر هذا عدد المهام التي تم إطلاقها (وتم إغلاقها مرة أخرى بالنسبة لغالبية هذه المهام) منذ بدء تشغيل النظام. كل عملية تبدأ من سطر الأوامر ستزيد هذا الرقم. في كل مرة تقوم مهمة أو عملية بإنشاء مهمة جديدة أو استنساخها ، سيزداد هذا الرقم.

vmstat -f

كيفية استخدام الأمر vmstat على نظام Linux 11

لم يتم تحديث عرض الشوكة.

يظهر معلومات بلاطة

النواة لديها إدارة الذاكرة الخاصة بها للقلق بالإضافة إلى إدارة الذاكرة لنظام التشغيل وجميع التطبيقات.

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

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

لمشاهدة إحصائيات المربعات ، استخدم الخيار -m (المربعات). يجب عليك استخدام sudo وسيُطلب منك كلمة المرور الخاصة بك. نظرًا لأن الإخراج يمكن أن يكون طويلًا جدًا ، فنحن أصغر.

sudo vmstat -m | أقل

كيفية استخدام الأمر vmstat على نظام Linux 12

الإخراج يتكون من خمسة أعمدة. هؤلاء هم:

Cache: اسم cache.num: عدد العناصر النشطة في cache.total: العدد الإجمالي للعناصر المتاحة في ذاكرة التخزين المؤقت هذه. الحجم: حجم كل عنصر في cache.pages: العدد الإجمالي لصفحات الذاكرة التي تحتوي حاليًا (على الأقل) على عنصر واحد مرتبط بذاكرة التخزين المؤقت هذه.

كيفية استخدام الأمر vmstat على نظام Linux 13

اضغط q لترك أقل.

يظهر عدادات الأحداث وإحصائيات الذاكرة

لعرض صفحة بها عدادات الأحداث وإحصائيات الذاكرة ، استخدم الخيار -s (الإحصائيات). لاحظ أنه حرف “s” صغير.

vmstat -p

كيفية استخدام الأمر vmstat على نظام Linux 14

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

على سبيل المثال ، يجمع الإخراج القياسي بين كل من وقت وحدة المعالجة المركزية اللطيف وغير اللطيف للمستخدم في عمود “نحن”. يسرد العرض (الإحصائيات) هذه الإحصائيات بشكل منفصل.

كيفية استخدام الأمر vmstat على نظام Linux 15

يعرض إحصائيات القرص

يمكنك الحصول على قائمة مشابهة لإحصائيات القرص باستخدام الخيار -d (القرص).

vmstat -d | أقل

كيفية استخدام الأمر vmstat على نظام Linux 16

يتم عرض ثلاثة أعمدة لكل قرص ، وهي قراءات وكتابة و IO.

كيفية استخدام الأمر vmstat على نظام Linux 17

IO هو العمود الموجود في أقصى اليمين. لاحظ أن العمود sec في IO يقاس بالثواني ولكن الإحصائيات المستندة إلى الوقت في أعمدة القراءة والكتابة تقاس بالمللي ثانية.

كيفية استخدام الأمر vmstat على نظام Linux 18

هذا ما تعنيه الأعمدة:

قراءة

الإجمالي: إجمالي عدد مرات قراءة القرص. مجمعة: العدد الإجمالي للقراءات العنقودية. القطاعات: إجمالي عدد القطاعات التي تمت read.ms: إجمالي الوقت بالمللي ثانية المستخدم لقراءة البيانات من القرص.

يكتب

الإجمالي: إجمالي عدد عمليات الكتابة على القرص. المجمعة: إجمالي عدد عمليات الكتابة المجمعة. القطاعات: إجمالي عدد القطاعات المكتوبة إلى.ms = إجمالي الوقت بالمللي ثانية المستخدم لكتابة البيانات على القرص.

IO

cur: عدد الأقراص الحالية التي تتم قراءتها أو كتابتها. ثانية: الوقت بالثواني للقراءة أو الكتابة قيد التقدم.

يعرض ملخصًا لإحصائيات القرص

لمشاهدة عرض سريع لإحصائيات ملخص نشاط القرص ، استخدم الخيار -D (إجمالي القرص). لاحظ حرف “D”.

vmstat -D

كيفية استخدام الأمر vmstat على نظام Linux 19

قد يظهر عدد الأقراص مرتفعًا بشكل غير طبيعي. الكمبيوتر المستخدم للبحث في هذه المقالة يعمل بنظام التشغيل Ubuntu. باستخدام Ubuntu ، في كل مرة تقوم فيها بتثبيت تطبيق من Snap ، يتم إنشاء نظام ملفات سكواش زائف متصل بمحرك أقراص / dev / loop.

مزعج ، يتم حساب إدخالات محرك الأقراص هذه على أنها محركات أقراص ثابتة بواسطة العديد من أوامر Linux والأدوات المساعدة.

كيفية استخدام الأمر vmstat على نظام Linux 20

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

للاطلاع على الإحصائيات المتعلقة بقسم معين ، استخدم الخيار -p (القسم) وحدد معرّف القسم كمعامل سطر أوامر.

هنا سنلقي نظرة على قسم sda1. يشير الرقم واحد إلى أن هذا هو القسم الأول على محرك الأقراص sda ، وهو محرك الأقراص الثابتة الرئيسي لهذا الكمبيوتر.

vmstat -p sda1

كيفية استخدام الأمر vmstat على نظام Linux 21

تُظهر المعلومات التي تم إرجاعها إجمالي عدد عمليات القراءة والكتابة على القرص من وإلى هذا القسم ، وعدد القطاعات المشاركة في عمليات القراءة والكتابة على القرص.

كيفية استخدام الأمر vmstat على نظام Linux 22

نظرة تحت الغطاء

من الجيد دائمًا معرفة كيفية رفع غطاء المحرك ومعرفة ما يحدث تحته. في بعض الأحيان ستحاول حل المشكلات ، وفي بعض الأحيان يكون ذلك مفيدًا لأنك تريد أن تعرف كيف يعمل جهاز الكمبيوتر الخاص بك.

يمكن أن يوفر لك vmstat الكثير من المعلومات المفيدة. الآن أنت تعرف كيفية الوصول إليه وماذا يعني ذلك. والتحذير المسبق مُعالج مسبقًا – عندما تحتاج إلى تشمير سواعدك وإجراء بعض التشخيصات ، فأنت تعلم أن لديك vmstat إلى جانبك.