دليل استكشاف أخطاء خوادم Linux البطيئة وإصلاحها: منهجية منظمة
تعلّم كيفية تشخيص مشكلات الأداء على خوادم Linux وحلّها. دليل خطوة بخطوة يعتمد على top وvmstat وأدوات أساسية أخرى.
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
الحلول الممكنة
-
للعمليات غير الطبيعية:
# Arrêter le processus problématique kill -15 PID # En cas de non-réponse kill -9 PID -
للاستخدام الطبيعي ولكن المرتفع:
- زيادة موارد الخادم
- توزيع الحمل على عدة خوادم
الخطوة 3: مشكلات التطبيقات
عندما يكون I/O wait منخفضًا وCPU idle مرتفعًا:
التحقيق
-
التحقق من سجلات التطبيق:
tail -f /var/log/application.log -
استخدام
straceلتحليل استدعاءات النظام:strace -p PID -
فحص اتصالات الشبكة:
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
الحلول
-
ارتفاع استخدام Swap:
- زيادة ذاكرة RAM الفعلية
- تحديد العمليات التي تستهلك ذاكرة مفرطة
-
ضبط معلمات 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)
-
المراقبة الاستباقية
- إعداد تنبيهات عند:
- استخدام المعالج > 80%
- الذاكرة المتاحة < 20%
- استخدام Swap > 50%
- إعداد تنبيهات عند:
-
التوثيق
- الاحتفاظ بسجل تاريخي للحوادث
- تدوين الحلول المطبّقة
- توثيق الحدود الطبيعية
-
الأتمتة
# 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
الخلاصة
يتطلب استكشاف أخطاء الخادم البطيء منهجية منظمة واستخدام الأدوات المناسبة. الخطوات الرئيسية هي:
- تحديد الأعراض بدقة
- استخدام الأدوات المناسبة
- تحليل المقاييس
- تطبيق الإصلاحات
- التحقق من النتائج
تذكّر دائمًا أن الأداء عملية مستمرة من التحسين والصيانة.
موارد إضافية
لا تنسَ أن الوقاية غالبًا خير من العلاج. فعّل مراقبة استباقية وحدود تنبيه مناسبة.
نبذة عن InSkillCoach
خبير في التدريب والتقنيات
مدرّب متخصص في التقنيات المتقدمة والذكاء الاصطناعي، تدعمه شركة GNeurone Inc.
الشهادات:
- AWS Certified Solutions Architect – Professional
- شهادات Google Cloud
- Microsoft Certified: DevOps Engineer Expert
- Certified Kubernetes Administrator (CKA)
- CompTIA Security+
التعليقات
التعليقات مدعومة عبر GitHub Discussions
سجّل الدخول باستخدام GitHub للمشاركة في النقاش