0%
دليل استكشاف أخطاء خوادم Linux البطيئة وإصلاحها: منهجية منظمة

دليل استكشاف أخطاء خوادم Linux البطيئة وإصلاحها: منهجية منظمة

تعلّم كيفية تشخيص مشكلات الأداء على خوادم Linux وحلّها. دليل خطوة بخطوة يعتمد على top وvmstat وأدوات أساسية أخرى.

I

InSkillCoach

· دقيقة

دليل استكشاف أخطاء خوادم Linux البطيئة وإصلاحها

قد تكون هناك أسباب عديدة وراء بطء خادم Linux. يقدّم لك هذا الدليل منهجية منظمة لتحديد مشكلات الأداء وحلّها، باستخدام أدوات مثل top وvmstat وغيرها من الأدوات الأساسية.

الأمر top: أول أداة تشخيص لديك

يُعدّ الأمر top أفضل حليف لك لبدء التحقيق. فهو يوفّر عرضًا فوريًا للعمليات الجارية ولأهم مقاييس النظام.

مثال على مخرجات top:

top - 12:41:43 up 52 days, 9:46, 1 user, load average: 0.92, 0.75, 0.79
Tasks: 145 total, 1 running, 144 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.5%us, 0.0%sy, 0.0%ni, 99.4%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 4332028k total, 3836264k used, 495764k free, 41952k buffers
Swap: 2097148k total, 1574k used, 2081404k free, 1262632k cached

الخطوة 1: التحقق من I/O Wait وزمن خمول المعالج (CPU Idle Time)

طريقة التنفيذ

  • استخدم top وابحث عن القيمتين “wa” (I/O wait) و”id” (CPU idle)
  • ارتفاع I/O wait (أكثر من 10%) يشير إلى مشكلات في الوصول إلى القرص
  • انخفاض زمن الخمول (أقل من 25%) يشير إلى حمل زائد على المعالج

التفسير

  • ارتفاع I/O Wait: مشكلات محتملة في القرص أو الشبكة
  • انخفاض CPU Idle: تطبيقات تستهلك موارد المعالج بشكل مفرط

الخطوة 2: تحليل استخدام المعالج

إذا كان I/O wait منخفضًا لكن زمن الخمول منخفض أيضًا:

تحديد العمليات الأكثر استهلاكًا

# Utiliser top et trier par utilisation CPU
top -o %CPU

# Pour un processus spécifique
ps -p PID -o %cpu,%mem,cmd

الحلول الممكنة

  1. للعمليات غير الطبيعية:

    # Arrêter le processus problématique
    kill -15 PID
    
    # En cas de non-réponse
    kill -9 PID
  2. للاستخدام الطبيعي ولكن المرتفع:

    • زيادة موارد الخادم
    • توزيع الحمل على عدة خوادم

الخطوة 3: مشكلات التطبيقات

عندما يكون I/O wait منخفضًا وCPU idle مرتفعًا:

التحقيق

  1. التحقق من سجلات التطبيق:

    tail -f /var/log/application.log
  2. استخدام strace لتحليل استدعاءات النظام:

    strace -p PID
  3. فحص اتصالات الشبكة:

    lsof -i

الخطوة 4: تحليل الذاكرة وSwap

التحقق من استخدام الذاكرة

# Utilisation détaillée de la mémoire
free -m

# Surveillance en temps réel
vmstat 1

حساب الذاكرة المتاحة فعليًا

Mémoire Disponible = Libre + Buffers + Cache

مثال:

Libre : 495MB
Buffers : 41MB
Cache : 1262MB
Total Disponible = 1798MB

الخطوة 5: مشكلات Swap

التشخيص

# Voir l'utilisation du swap
free -m

# Surveillance détaillée
vmstat 1

الحلول

  1. ارتفاع استخدام Swap:

    • زيادة ذاكرة RAM الفعلية
    • تحديد العمليات التي تستهلك ذاكرة مفرطة
  2. ضبط معلمات Swap:

    # Modifier la tendance à swapper
    sysctl vm.swappiness=10

الخطوة 6: تحليل I/O باستخدام IOtop

التثبيت والاستخدام

# Installation
apt install iotop  # Debian/Ubuntu
yum install iotop  # RHEL/CentOS

# Surveillance
iotop -o  # Affiche uniquement les processus actifs

أدوات مكمّلة

1. vmstat

# Surveillance toutes les secondes
vmstat 1

# Exemple de sortie
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 1  0      0 295388 239748 403468    0    0     0     0  100  100  0  0 100  0

2. مراقبة الأقراص

# IO en temps réel
iostat -x 1

# Espace disque
df -h

أفضل ممارسات المراقبة (Monitoring)

  1. المراقبة الاستباقية

    • إعداد تنبيهات عند:
      • استخدام المعالج > 80%
      • الذاكرة المتاحة < 20%
      • استخدام Swap > 50%
  2. التوثيق

    • الاحتفاظ بسجل تاريخي للحوادث
    • تدوين الحلول المطبّقة
    • توثيق الحدود الطبيعية
  3. الأتمتة

    # Script de surveillance basique
    #!/bin/bash
    while true; do
      date >> /var/log/server-metrics.log
      top -bn1 | head -n 10 >> /var/log/server-metrics.log
      sleep 300
    done

حلّ المشكلات الشائعة

1. ارتفاع استخدام المعالج

  • تحديد العمليات الأكثر استهلاكًا
  • تحسين الشيفرة
  • التوسّع الرأسي أو الأفقي (Scaling)

2. نقص الذاكرة

  • زيادة ذاكرة RAM
  • تحسين التطبيقات
  • ضبط جمع المهملات (garbage collection)

3. بطء I/O

  • فحص الأقراص (SMART)
  • تحسين استعلامات قواعد البيانات
  • استخدام تخزين SSD

الخلاصة

يتطلب استكشاف أخطاء الخادم البطيء منهجية منظمة واستخدام الأدوات المناسبة. الخطوات الرئيسية هي:

  1. تحديد الأعراض بدقة
  2. استخدام الأدوات المناسبة
  3. تحليل المقاييس
  4. تطبيق الإصلاحات
  5. التحقق من النتائج

تذكّر دائمًا أن الأداء عملية مستمرة من التحسين والصيانة.

موارد إضافية

لا تنسَ أن الوقاية غالبًا خير من العلاج. فعّل مراقبة استباقية وحدود تنبيه مناسبة.

InSkillCoach

نبذة عن InSkillCoach

خبير في التدريب والتقنيات

مدرّب متخصص في التقنيات المتقدمة والذكاء الاصطناعي، تدعمه شركة GNeurone Inc.

الشهادات:

  • AWS Certified Solutions Architect – Professional
  • شهادات Google Cloud
  • Microsoft Certified: DevOps Engineer Expert
  • Certified Kubernetes Administrator (CKA)
  • CompTIA Security+
1.0k
66

التعليقات

التعليقات مدعومة عبر GitHub Discussions

سجّل الدخول باستخدام GitHub للمشاركة في النقاش

تم نسخ الرابط!