على الرغم من أن Linux موثوق للغاية ، إلا أنه يجب على مسؤولي النظام الحكماء إيجاد طريقة لمراقبة سلوك النظام واستخدامه في جميع الأوقات. ضمان الجهوزية أقرب إلى 100% قدر الإمكان وتوافر الموارد من الاحتياجات الماسة في العديد من البيئات. سيسمح لنا فحص الحالة السابقة والحالية للنظام بالتنبؤ بالمشكلات المحتملة ومنعها على الأرجح.
التعريف ببرنامج Linux Foundation Certification
في هذه المقالة سوف نقدم قائمة ببعض الأدوات المتوفرة في معظم التوزيعات الأولية للتحقق من حالة النظام ، وتحليل الانقطاعات ، واستكشاف المشكلات المستمرة وإصلاحها. على وجه التحديد ، من بين عدد لا يحصى من البيانات المتاحة ، سنركز على وحدة المعالجة المركزية ومساحة التخزين واستخدام الذاكرة وإدارة العمليات الأساسية وتحليل السجل.
هناك أمران مشهوران في Linux يتم استخدامهما لفحص استخدام مساحة التخزين: مدافع و دو.
الاول، مدافع (والذي يرمز إلى disk free) ، يستخدم عادةً للإبلاغ عن استخدام مساحة القرص الإجمالية بواسطة نظام الملفات.
بدون خيارات ، مدافع تقارير استخدام مساحة القرص بالبايت. مع ال -ح ضع علامة عليه سيعرض نفس المعلومات باستخدام MB أو GB بدلاً من ذلك. لاحظ أن هذا التقرير يتضمن أيضًا الحجم الإجمالي لكل نظام ملفات (في كتل 1-K) ، والمساحات المجانية والمتاحة ، ونقطة التحميل لكل جهاز تخزين.
# مدافع. # df -h.
هذا أمر رائع بالتأكيد - ولكن هناك قيد آخر يمكن أن يجعل نظام الملفات غير قابل للاستخدام ، وهذا ينفد من inodes. يتم تعيين جميع الملفات في نظام الملفات إلى inode يحتوي على بيانات التعريف الخاصة به.
# df -hTi.
يمكنك معرفة مقدار inodes المستخدمة والمتاحة:
وفقا للصورة أعلاه ، هناك 146 تستخدم inodes (1%) في / home ، مما يعني أنه لا يزال بإمكانك إنشاء 226 ألف ملف في نظام الملفات هذا.
لاحظ أنه يمكنك نفاد مساحة التخزين قبل وقت طويل من نفاد inodes والعكس صحيح. لهذا السبب ، تحتاج إلى مراقبة ليس فقط استخدام مساحة التخزين ولكن أيضًا عدد inodes المستخدم بواسطة نظام الملفات.
استخدم الأوامر التالية للعثور على الملفات أو الدلائل الفارغة (التي تحتل 0B) التي تستخدم inodes بدون سبب:
# find / home -type f-فارغة. # find / home -type d- فارغ.
أيضًا ، يمكنك إضافة ملف -حذف ضع علامة في نهاية كل أمر إذا كنت تريد أيضًا حذف تلك الملفات والأدلة الفارغة:
# find / home -type f - فارغة - حذف. # find / home -type f-فارغة.
الإجراء السابق حذف 4 ملفات. دعنا نتحقق مرة أخرى من عدد العقد المستخدمة / المتاحة مرة أخرى في / المنزل:
# df -hTi | grep المنزل.
كما ترى ، هناك 142 inodes المستخدمة الآن (4 أقل من ذي قبل).
إذا كان استخدام نظام ملفات معين أعلى من نسبة مئوية محددة مسبقًا ، فيمكنك استخدام دو (اختصار لاستخدام القرص) لمعرفة الملفات التي تشغل أكبر مساحة.
تم إعطاء المثال ل /var، كما ترى في الصورة الأولى أعلاه ، يتم استخدامه بنسبة 67٪.
# du -sch / var / *
ملحوظة: أنه يمكنك التبديل إلى أي من الدلائل الفرعية المذكورة أعلاه لمعرفة بالضبط ما بداخلها ومقدار كل عنصر يشغلها. يمكنك بعد ذلك استخدام هذه المعلومات إما لحذف بعض الملفات إذا لم تكن هناك حاجة إليها أو لتوسيع حجم وحدة التخزين المنطقية إذا لزم الأمر.
اقرأ أيضا
الأداة الكلاسيكية في Linux المستخدمة لإجراء فحص شامل لاستخدام وحدة المعالجة المركزية / الذاكرة وإدارة العمليات هي القيادة العليا. بالإضافة إلى ذلك ، يعرض الجزء العلوي عرضًا في الوقت الفعلي لنظام قيد التشغيل. هناك أدوات أخرى يمكن استخدامها لنفس الغرض ، مثل htop، لكنني استقرت على القمة لأنه تم تثبيته خارج الصندوق في أي توزيعة Linux.
للبدء من الأعلى ، ما عليك سوى كتابة الأمر التالي في سطر الأوامر ، واضغط على Enter.
# أعلى.
دعونا نفحص الناتج الأعلى النموذجي:
يتم عرض المعلومات التالية في الصفوف من 1 إلى 5:
1. الوقت الحالي (8:41:32 مساءً) ووقت التشغيل (7 ساعات و 41 دقيقة). تم تسجيل دخول مستخدم واحد فقط إلى النظام ، ومتوسط التحميل خلال آخر 1 و 5 و 15 دقيقة على التوالي. يشير 0.00 و 0.01 و 0.05 إلى أنه خلال تلك الفترات الزمنية ، كان النظام خاملاً لمدة 0٪ من الوقت (0.00: لم تكن هناك عمليات في انتظار وحدة المعالجة المركزية) ، ثم تم تحميلها فوق طاقتها بنسبة 1٪ (0.01: متوسط 0.01 عملية كانت تنتظر وحدة المعالجة المركزية) و 5٪ (0.05). إذا كان أقل من 0 وكان الرقم أصغر (0.65 ، على سبيل المثال) ، فإن النظام كان خاملاً بنسبة 35٪ خلال آخر 1 أو 5 أو 15 دقيقة ، حسب مكان ظهور 0.65.
2. يوجد حاليًا 121 عملية قيد التشغيل (يمكنك رؤية القائمة الكاملة في 6). واحد منهم فقط قيد التشغيل (في الأعلى في هذه الحالة ، كما ترون في عمود٪ CPU) والـ 120 الباقي ينتظرون في الخلفية ولكنهم "نائمون" وسيظلون في هذه الحالة حتى نسميهم. كيف؟ يمكنك التحقق من ذلك عن طريق فتح موجه mysql وتنفيذ استعلامين. ستلاحظ كيف يزداد عدد العمليات الجارية.
بدلاً من ذلك ، يمكنك فتح مستعرض ويب والانتقال إلى أي صفحة يتم تقديمها بواسطة Apache وستحصل على نفس النتيجة. بالطبع ، تفترض هذه الأمثلة أنه تم تثبيت كلتا الخدمتين في الخادم الخاص بك.
3. us (وقت تشغيل عمليات المستخدم بأولوية غير معدلة) ، sy (وقت تشغيل عمليات kernel) ، ni (وقت تشغيل عمليات المستخدم مع الأولوية المعدلة) ، wa (وقت انتظار الإدخال / الإخراج الإكمال) ، مرحبًا (الوقت المستغرق في صيانة مقاطعات الأجهزة) ، si (الوقت المستغرق في صيانة مقاطعات البرامج) ، st (الوقت المسروق من الجهاز الافتراضي الحالي بواسطة برنامج Hypervisor - فقط في الوضع الافتراضي البيئات).
4. استخدام الذاكرة الفعلية.
5. استخدام مساحة المبادلة.
لفحص ذاكرة الوصول العشوائي واستخدام المبادلة ، يمكنك أيضًا استخدام مجانا قيادة.
# مجانا.
بالطبع يمكنك أيضًا استخدام ملف م (ميغا بايت) أو -g مفاتيح (GB) لعرض نفس المعلومات في شكل يمكن للبشر قراءته:
# مجاني -m.
في كلتا الحالتين ، يجب أن تكون على دراية بحقيقة أن النواة تحتفظ بأكبر قدر ممكن من الذاكرة وتجعلها متاحة للعمليات عندما تطلبها. على وجه الخصوص ، "- / + مخازن / مخبأ"يعرض القيم الفعلية بعد أن يتم أخذ ذاكرة التخزين المؤقت I / O هذه في الاعتبار.
بمعنى آخر ، مقدار الذاكرة المستخدمة بواسطة العمليات والمقدار المتاح للعمليات الأخرى (في هذه الحالة ، 232 ميجا بايت تستخدم و 270 ميجا بايت متاح ، على التوالي). عندما تحتاج العمليات إلى هذه الذاكرة ، ستعمل النواة تلقائيًا على تقليل حجم ذاكرة التخزين المؤقت للإدخال / الإخراج.
اقرأ أيضا: 10 أمر "مجاني" مفيد للتحقق من استخدام ذاكرة Linux
في أي وقت ، هناك العديد من العمليات التي تعمل على نظام Linux الخاص بنا. هناك نوعان من الأدوات التي سنستخدمها لمراقبة العمليات عن كثب: ملاحظة و pstree.
باستخدام -e و -F خيارات مدمجة في واحد (-ef) يمكنك سرد جميع العمليات التي تعمل حاليًا على نظامك. يمكنك توجيه هذا الإخراج إلى أدوات أخرى ، مثل grep (كما هو موضح في الجزء 1 من سلسلة LFCS) لتضييق الإخراج إلى العملية (العمليات) التي تريدها:
# ps -ef | الحبار grep -i | grep -v grep.
توضح العملية المذكورة أعلاه المعلومات التالية:
مالك العملية ، PID ، Parent PID (العملية الأم) ، استخدام المعالج ، وقت بدء الأمر ، tty (؟ يشير إلى أنه برنامج خفي) ، ووقت وحدة المعالجة المركزية المتراكم ، والأمر المرتبط بالعملية.
ومع ذلك ، ربما لا تحتاج إلى كل هذه المعلومات ، وترغب في إظهار مالك العملية ، والأمر الذي بدأها ، و PID و PPID ، والنسبة المئوية للذاكرة التي تستخدمها حاليًا - بهذا الترتيب ، وقم بالفرز حسب استخدام الذاكرة بترتيب تنازلي (لاحظ أن ps افتراضيًا يتم فرزها حسب PID).
# ps -eo user، comm، pid، ppid،٪ mem --sort -٪ mem.
حيث تشير علامة الطرح الموجودة أمام٪ mem إلى الفرز بترتيب تنازلي.
إذا بدأت عملية ما ، لسبب ما ، في أخذ الكثير من موارد النظام ومن المحتمل أن تعرض الكل للخطر لوظيفة النظام ، سترغب في إيقاف تنفيذه أو إيقافه مؤقتًا عن طريق تمرير إحدى الإشارات التالية باستخدام ال قتل برنامج لها. الأسباب الأخرى التي تجعلك تفكر في القيام بذلك هي عندما تبدأ عملية في المقدمة ولكنك تريد إيقافها مؤقتًا واستئنافها في الخلفية.
اسم الإشارة | رقم الإشارة | وصف |
سيغرم | 15 | اقتل العملية برشاقة. |
توقع | 2 | هذه هي الإشارة التي يتم إرسالها عندما نضغط على Ctrl + C. إنه يهدف إلى مقاطعة العملية ، لكن العملية قد تتجاهلها. |
سيكيل | 9 | تقاطع هذه الإشارة أيضًا العملية ولكنها تفعل ذلك دون قيد أو شرط (استخدم بحذر!) لأن العملية لا يمكنها تجاهلها. |
تنفس الصعداء حتى | 1 | باختصار لـ "Hang UP" ، فإن هذه الإشارات ترشد الشياطين إلى إعادة قراءة ملف التكوين الخاص بها دون إيقاف العملية فعليًا. |
SIGTSTP | 20 | أوقف التنفيذ وانتظر جاهزًا للمتابعة. هذه هي الإشارة التي يتم إرسالها عندما نكتب تركيبة المفاتيح Ctrl + Z. |
سيجستوب | 19 | تم إيقاف العملية مؤقتًا ولا تحظى بأي اهتمام من دورات وحدة المعالجة المركزية حتى يتم إعادة تشغيلها. |
سيجكون | 18 | تخبر هذه الإشارة العملية باستئناف التنفيذ بعد استلام SIGTSTP أو SIGSTOP. هذه هي الإشارة التي ترسلها الصدفة عندما نستخدم الأمرين fg أو bg. |
عندما يعني التنفيذ الطبيعي لعملية معينة أنه لن يتم إرسال أي إخراج إلى الشاشة أثناء حدوثها قيد التشغيل ، قد ترغب في بدء تشغيله في الخلفية (إلحاق علامة في نهاية ملف قيادة).
اسم العملية &
أو،
بمجرد بدء تشغيله في المقدمة ، أوقفه مؤقتًا وأرسله إلى الخلفية باستخدام
Ctrl + Z.
# اقتل -18 PID.
يرجى ملاحظة أن كل توزيع يوفر أدوات لإيقاف / بدء / إعادة تشغيل / إعادة تحميل الخدمات العامة بأمان ، مثل الخدمات في الأنظمة المستندة إلى SysV أو systemctl في الأنظمة المستندة إلى systemd.
إذا لم تستجب العملية لتلك الأدوات المساعدة ، فيمكنك قتلها بالقوة عن طريق إرسال إشارة SIGKILL إليها.
# ps -ef | grep اباتشي. # اقتل -9 3821.
عندما يكون هناك أي نوع من الانقطاع في النظام (سواء كان انقطاع التيار الكهربائي ، أو عطلًا في الأجهزة ، أو انقطاعًا مخططًا أو غير مخططًا لعملية ما ، أو أي خلل على الإطلاق) ، يتم تسجيل الدخول /var/log هم أفضل أصدقاء لك لتحديد ما حدث أو ما يمكن أن يتسبب في المشكلات التي تواجهها.
# cd / var / log.
بعض العناصر الموجودة في /var/log هي ملفات نصية عادية ، والبعض الآخر عبارة عن أدلة ، والبعض الآخر عبارة عن ملفات مضغوطة لسجلات تم تدويرها (تاريخية). سوف ترغب في التحقق من أولئك الذين لديهم كلمة خطأ في أسمائهم ، ولكن فحص الباقي يمكن أن يكون مفيدًا أيضًا.
تصور هذا السيناريو. عملاء LAN لديك غير قادرين على الطباعة إلى طابعات الشبكة. ستكون الخطوة الأولى لاستكشاف هذا الموقف وإصلاحها /var/log/cups الدليل ومعرفة ما يوجد هناك.
يمكنك استخدام ال ذيل لعرض آخر 10 أسطر من ملف error_log ، أو الذيل -f error_log لعرض السجل في الوقت الفعلي.
# cd / var / log / cups. # ليرة سورية. # خطأ في الذيل.
توفر لقطة الشاشة أعلاه بعض المعلومات المفيدة لفهم سبب مشكلتك. لاحظ أن اتباع الخطوات أو تصحيح خلل العملية قد لا يحل المشكلة الكلية ، ولكن إذا أصبحت مستخدمًا من البداية للتحقق من السجلات في كل مرة تظهر فيها مشكلة (سواء كانت محلية أو شبكة) ستكون بالتأكيد على اليمين مسار.
على الرغم من أن أعطال الأجهزة قد تكون صعبة لاستكشاف الأخطاء وإصلاحها ، يجب عليك التحقق من dmesg وسجلات الرسائل و grep للكلمات ذات الصلة إلى جزء من الأجهزة يُفترض وجود خلل فيه.
الصورة أدناه مأخوذة من /var/log/messages بعد البحث عن كلمة خطأ باستخدام الأمر التالي:
# أقل / فار / سجل / رسائل | خطأ grep -i.
يمكننا أن نرى أننا نواجه مشكلة في جهازي تخزين: /dev/sdb و /dev/sdc، والذي بدوره يسبب مشكلة في مصفوفة RAID.
في هذه المقالة ، اكتشفنا بعض الأدوات التي يمكن أن تساعدك على أن تكون دائمًا على دراية بالحالة العامة لنظامك. بالإضافة إلى ذلك ، تحتاج إلى التأكد من تحديث نظام التشغيل والحزم المثبتة إلى أحدث إصداراتها المستقرة. ولا تنس أبدًا التحقق من السجلات! بعد ذلك سوف تتجه في الاتجاه الصحيح لإيجاد الحل النهائي لأي مشكلة.
لا تتردد في ترك تعليقاتك أو اقتراحاتك أو أسئلتك - إذا كان لديك أي منها - باستخدام النموذج أدناه.