مشكلة اتصال SSH: لا يمكن الاتصال بالخادم — الحل
دليل حل مشاكل اتصال SSH: قواعد جدار حماية Path.net، Default Block، إنشاء قاعدة تصفية لمنفذ SSH وخطوات استكشاف الأخطاء وإصلاحها.
دليل اكتشاف وحل مشاكل أداء الخادم: قائمة تحقق للمعالج والذاكرة والقرص وswap وتحليل العمليات واختبار الشبكة. تشخيص بطء خادم Linux.
إذا كان خادمك يعمل ببطء، يجب اتباع قائمة تحقق منهجية لتحديد مصدر المشكلة. يشرح هذا الدليل أكثر مشاكل الأداء شيوعاً وحلولها خطوة بخطوة.
هذا الدليل مُعد لخوادم Linux (Ubuntu، Debian، CentOS، Rocky Linux). لـ Windows Server تُجرى فحوصات مماثلة بأدوات مختلفة.
ارتفاع استخدام المعالج هو السبب الأكثر شيوعاً لبطء الخادم.
# استخدام المعالج العام
top -bn1 | head -5
# عرض تفصيلي وتفاعلي
htop
# استخدام المعالج حسب النواة
mpstat -P ALL 1 5
# قائمة العمليات مرتبة حسب استخدام المعالج
ps aux --sort=-%cpu | head -20
# مراقبة في الوقت الفعلي
top -o %CPU
إذا كان استخدام المعالج باستمرار فوق 90%، يجب تحديد العمليات المكثفة وتحسينها أو زيادة موارد الخادم.
kill -9 PIDعدم كفاية الذاكرة يؤدي إلى استخدام swap وبطء شديد في الخادم.
# حالة الذاكرة العامة
free -h
# معلومات الذاكرة التفصيلية
cat /proc/meminfo | head -10
# استخدام الذاكرة حسب العملية
ps aux --sort=-%mem | head -20
total used free shared buff/cache available
Mem: 7.8Gi 6.2Gi 0.3Gi 0.1Gi 1.3Gi 1.2Gi
Swap: 2.0Gi 1.5Gi 0.5Gi
| المقياس | صحي | تحذير | حرج |
|---|---|---|---|
| استخدام الذاكرة | < 70% | 70-90% | > 90% |
| استخدام Swap | 0 | < 25% | > 50% |
| المتاح | > 20% | 10-20% | < 10% |
إذا كان استخدام swap مرتفعاً (> 50%)، فالذاكرة غير كافية. Swap يعمل على القرص لذا هو أبطأ بكثير من الذاكرة.
# ملخص استخدام القرص
df -h
# البحث عن أكبر المجلدات
du -sh /* 2>/dev/null | sort -rh | head -10
# البحث عن أكبر الملفات
find / -type f -size +100M -exec ls -lh {} \; 2>/dev/null | sort -k5 -rh | head -10
عندما يتجاوز استخدام القرص 90%، قد تبدأ مشاكل الأداء. فوق 95% مستوى حرج — يجب تحرير مساحة فوراً.
# إدخال/إخراج القرص الفوري
iostat -x 1 5
# استخدام الإدخال/الإخراج حسب العملية
iotop -o
# اختبار سرعة القراءة/الكتابة
dd if=/dev/zero of=/tmp/testfile bs=1M count=1024 oflag=direct
rm /tmp/testfile
| المقياس | NVMe SSD | SATA SSD | HDD |
|---|---|---|---|
| القراءة | 3000+ ميجابايت/ث | 500+ ميجابايت/ث | 100-200 ميجابايت/ث |
| الكتابة | 2000+ ميجابايت/ث | 400+ ميجابايت/ث | 80-150 ميجابايت/ث |
| IOPS | 500 ألف+ | 50 ألف+ | 100-200 |
إذا كان استخدام swap مرتفعاً، فالذاكرة غير كافية والخادم يدير الذاكرة عبر القرص.
# حالة swap
free -h | grep Swap
swapon --show
# أي العمليات تستخدم swap؟
for file in /proc/*/status; do
awk '/VmSwap|Name/{printf $2 " " $3}END{print ""}' $file 2>/dev/null
done | sort -k2 -rn | head -10
# تنظيف swap إذا كانت هناك ذاكرة فارغة كافية
sudo swapoff -a && sudo swapon -a
تنظيف swap حل مؤقت. للحل الدائم، قم بزيادة حجم الذاكرة أو حسّن التطبيقات المستهلكة للذاكرة.
# إحصائيات واجهة الشبكة
ifconfig eth0
# عدد الاتصالات
ss -s
# الاتصالات النشطة (أكثر عناوين IP اتصالاً)
ss -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn | head -10
# استخدام عرض النطاق (يتطلب nload)
nload eth0
# اختبار السرعة
wget -O /dev/null http://speedtest.tele2.net/10MB.zip 2>&1 | tail -2
عدد كبير من الاتصالات (10,000+) قد يستنزف موارد الخادم. قد تكون تحت هجوم DDoS — تحقق من سجل الهجمات في لوحة Path.
# عدد العمليات الجارية
ps aux | wc -l
# العمليات الميتة (zombie)
ps aux | awk '{if ($8 == "Z") print}'
# العمليات الأطول تشغيلاً
ps -eo pid,etime,comm --sort=-etime | head -20
# استخدام الموارد لتطبيق معين
ps aux | grep -i mysql
ps aux | grep -i java
ps aux | grep -i node
# آخر أخطاء النظام
dmesg | tail -50
# سجلات OOM (نفاد الذاكرة) killer
dmesg | grep -i "oom\|killed process"
# سجلات النظام
journalctl -p err --since "1 hour ago"
# أخطاء القرص
dmesg | grep -i "error\|fail\|i/o"
إذا رأيت سجلات OOM killer، فالذاكرة غير كافية والنظام يُنهي العمليات قسراً لتحرير الذاكرة.
# ملخص الحالة العامة بأمر واحد
echo "=== CPU ==="; top -bn1 | head -5; echo "\n=== RAM ==="; free -h; echo "\n=== DISK ==="; df -h /; echo "\n=== LOAD ==="; uptime; echo "\n=== TOP PROCESSES ==="; ps aux --sort=-%cpu | head -5
إرفاق مخرجات الأوامر أعلاه عند إنشاء طلب الدعم يساعد في حل المشكلة بشكل أسرع.
الأسباب الأكثر شيوعاً: ارتفاع استخدام المعالج، نقص الذاكرة (استخدام swap)، امتلاء مساحة القرص أو مشاكل الشبكة. اتبع قائمة التحقق لتحديد المشكلة.
ارتفاع استخدام swap يشير إلى نقص الذاكرة. حسّن العمليات المستهلكة للذاكرة أو قم بزيادة حجم الذاكرة.
افحص أولاً استخدام المعالج والذاكرة بأمر 'top' أو 'htop'، ثم امتلاء القرص بأمر 'df -h'. هذه المقاييس الثلاثة تكشف مصدر أكثر من 90% من حالات بطء الخادم.
دليل حل مشاكل اتصال SSH: قواعد جدار حماية Path.net، Default Block، إنشاء قاعدة تصفية لمنفذ SSH وخطوات استكشاف الأخطاء وإصلاحها.
دليل حل مشاكل اتصال RDP: قواعد جدار حماية Path.net، Default Block، إنشاء قاعدة تصفية لمنفذ RDP وخطوات استكشاف الأخطاء وإصلاحها.
دليل اختبار الشبكة باستخدام WinMTR وLinux MTR، إنشاء قاعدة فلترة ICMP وإرسال النتائج لفريق الدعم. تشخيص فقدان الحزم والتأخير في الشبكة.