سرور سست ہے: کہاں سے شروع کریں
پانچ منٹ کا تشخیصی طریقہ: CPU، میموری، ڈسک، نیٹ ورک — چند کمانڈز سے کیسے معلوم کریں کہ اصل رکاوٹ کیا ہے اور آگے کیا کریں۔
اپ ڈیٹ 23 اگست، 2026
"ہر چیز سست ہے" کوئی تشخیص نہیں ہے۔ صرف چار رکاوٹیں ہیں: CPU، میموری، ڈسک، اور نیٹ ورک۔ نیچے ایک چیک کرنے کا ترتیب دیا گیا ہے جو پانچ منٹ میں ان میں سے کسی ایک کی نشاندہی کرے گا۔
مرحلہ 1: بڑی تصویر
uptime
free -h
df -h
تین کمانڈز فوری طور پر آدھے اختیارات کو خارج کر دیتی ہیں۔ اگر اوسط لوڈ آپ کے ٹائر کے کور کی تعداد سے نمایاں طور پر زیادہ ہے، تو ایک کیو موجود ہے — Load average دیکھیں۔ available صفر کے قریب ہونے کا مطلب میموری ہے۔ اگر پارٹیشن 100% بھرا ہوا ہے، تو مزید کچھ نہ دیکھیں — Out of space پڑھیں۔
مرحلہ 2: رکاوٹ کیا ہے
vmstat 2 5
اوسط کالموں کو دیکھیں، پہلی قطار کے علاوہ سب کو:
- زیادہ
usاورsy، بڑاr— CPU سے محدود؛ - زیادہ
wa، بڑاb— ڈسک سے محدود؛ - غیر صفر
siاورso— س وپنگ ہو رہی ہے، جس کا مطلب ہے کہ میموری ختم ہو رہی ہے؛ - زیادہ
st— ہائپر وائزر کی طرف سے لیا گیا وقت، یہ ایک بیرونی وجہ ہے، سپورٹ سے رابطہ کریں۔
مرحلہ 3: قصوروار کو تلاش کریں
ps aux --sort=-%cpu | head -10
ps aux --sort=-%mem | head -10
iotop -boPan 3 | head -20 # apt install iotop
ss -tn state established | wc -l
لائیو تصویر htop یا btop میں پڑھنے میں آسان ہے۔ D اسٹیٹ میں پروسیسوں پر نظر رکھیں — وہ ڈسک کا انتظار کر رہے ہیں اور لوڈ بڑھا رہے ہیں۔
اگر قصوروار آپ کی ایپلیکیشن ہے، تو اگلا سوال اس کے بارے میں ہے: سست ڈیٹا بیس کوئریز، ایک گمشدہ انڈیکس، بہت زیادہ ورکرز، ڈپلائے کے بعد ایک انفیائن لوپ۔ سست ہونے کے لمحے کو لاگ کے ساتھ جوڑیں:
journalctl --since "1 hour ago" -p warning
مرحلہ 4: تاریخ چیک کریں
پینل /hosting/vds/m/<id> میں "Overview" کھولیں اور گزشتہ دن اور ہفتے کے لیے گراف دیکھیں. تین عام نمونے:
- ایک مخصوص لمحے پر اضافہ — کچھ تبدیل ہوا ہے: ایک ڈپلائے، ایک اپ ڈیٹ، ایک نیا کرون جاب؛
- ایک شیڈول پر باقاعدہ چوٹی — ایک بیک گراؤنڈ ٹاسک؛ اسے رات کے وقت منتقل کریں یا
niceاورioniceکے ساتھ اسے محدود کریں۔ - ہفتوں تک ایک ہموار سطح — آپ نے صرف اپنے ٹائر سے آگے بڑھ لیا ہے۔
نتائج کے ساتھ کیا کریں
| رکاوٹ | فوری کارروائی | طویل مدتی حل |
|---|---|---|
| CPU | اضافی پروسیس کو تلاش کریں اور روکیں | زیادہ کور والا ٹائر |
| میموری | ورکرز اور ڈیٹا بیس بفرز کو محدود کریں، س وپ شامل کریں | زیادہ میموری والا ٹائر |
| ڈسک | ionice کے ساتھ بیک اپ کو محدود کریں، لاگز کو ٹرم کریں | ایک اعلیٰ ٹائر: پلیٹاؤ پس کور کی تعداد کے ساتھ بڑھتا ہے |
| نیٹ ورک | --bwlimit کے ساتھ بیک گراؤنڈ ڈاؤن لوڈ کو محدود کریں | ٹریفک کے ذریعہ کی تحقیق کریں |
ڈسک پلیٹاؤ کو اس طرح شمار کیا جاتا ہے: فی کور 60 MB/s رائٹس، کم از کم 60 اور 400 سے زیادہ نہیں، اور ریڈز دوگنی۔ اگر آپ مسلسل پلیٹاؤ پر ہیں، تو اوپر جانے کے بغیر ڈسک تیز نہیں ہوگی — Benchmark دیکھیں۔
عام غلطیاں
- فوری طور پر مشین کو ری بوٹ کرنا۔ ری بوٹ تصویر کو مٹا دیتا ہے، اور ایک گھنٹے میں سب کچھ دہرایا جائے گا۔ پہلے نمبر جمع کریں۔
- ایک ہی فریم پر بھروسہ کرنا۔ جیسے ہی آپ htop شروع کرتے ہیں ایک چوٹی کا مطلب کچھ نہیں ہے — ایک منٹ تک دیکھیں.
- مکمل میموری کو مسئلہ سمجھنا۔
freeکے بجائےavailableاور س وپ کو دیکھیں۔ - یہ معلوم کیے بغیر اپنا ٹائر تبدیل کرنا۔ ایک میموری لیک یا لوپنگ اسکرپٹ آپ کے ساتھ نئے ٹائر پر چلا جائے گا۔ واپس ڈاؤن گریڈ کرنا سپورٹ نہیں کیا جاتا۔
اگر CPU، میموری، اور ڈسک پرسکون ہیں لیکن ایپلیکیشن سست ہے، تو رکاوٹ مشین کے باہر ہے: ایک سست بیرونی API، DNS، یا کلائنٹ کا نیٹ ورک۔ جس ایڈریس کی آپ کو ضرورت ہے اس پر
curl -w '%{time_total}\n' -o /dev/null -sچیک کریں۔