Skip to content
VDS · مانیٹرنگ اور کارکردگی

ڈسک لوڈ: iostat اور iotop

کیسے پتہ چلائیں کہ مشین ڈسک سے محدود ہے، اصل میں لکھ کون رہا ہے، اور اعداد و شمار کو آپ کے VPS ٹیئر کی رفتار کی حد سے کیسے جوڑیں۔

اپ ڈیٹ 23 اگست، 2026

ڈسک "سب کچھ سست ہے مگر CPU خالی بیٹھا ہے" کی سب سے عام وجہ ہے۔ پروسیسز I/O پر انتظار کرتے رہتے ہیں، لوڈ ایوریج بڑھتا جاتا ہے، مگر htop میں CPU% تقریباً صفر دکھتا ہے۔ آئیے دیکھتے ہیں کہ اسے اعداد و شمار میں کیسے دیکھا جائے۔

آپ کو کتنا مختص ہے

نوڈز کی ڈسکیں NVMe ہیں، مگر رفتار ٹیئر کے مطابق محدود ہے: رائٹ — 60 MB/s فی کور، مگر 60 سے کم نہیں اور 400 MB/s سے زیادہ نہیں؛ ریڈ رائٹ کی رفتار سے دوگنا ہے۔ حد سے اوپر، 30 سیکنڈ کے لیے تین گنا زیادہ برسٹ کی اجازت ہے — یہ آرکائیو کھولنے یا پروجیکٹ بنانے کے لیے کافی ہے، مگر مسلسل ٹیرا بائٹ اپلوڈ کرنے کے لیے نہیں۔

ٹیئرکورزرائٹ، MB/sریڈ، MB/s
VDS-1160120
VDS-22120240
VDS-34240480
VDS-46360720
VDS-5 اور VDS-68 اور 10400800

اگر آپ کی پیمائش بالکل یہی اعداد و شمار دکھاتی ہے، تو آپ حد تک پہنچ گئے ہیں — کچھ خراب نہیں ہوا۔ اس سے آگے صرف ایک ٹیئر اوپر جانے سے مدد ملتی ہے۔

iostat: بڑی تصویر

apt install -y sysstat       # Debian, Ubuntu
dnf install -y sysstat       # AlmaLinux, CentOS Stream

iostat -xz 2

یہ کمانڈ ہر دو سیکنڈ بعد اسنیپ شاٹ دکھاتی ہے۔ پہلا آؤٹ پٹ بوٹ کے بعد کا اوسط ہے — اسے چھوڑ دیں۔ vda یا sda لائن دیکھیں:

  • r/s, w/s — فی سیکنڈ ریڈ اور رائٹ آپریشنز۔
  • rkB/s, wkB/s — میگا بائٹس، 1024 سے تقسیم کریں۔ اوپر دی گئی ٹیبل سے موازنہ کریں۔
  • await — فی آپریشن اوسط انتظار ملی سیکنڈ میں۔ ایک ہندسے معمول ہیں؛ دہائیاں اور سینکڑوں کا مطلب قطار ہے۔
  • %util — ڈسک کتنی مصروف ہے۔ مسلسل 90–100 % کا مطلب ہے کہ آپ دیوار سے ٹکرا گئے ہیں۔

vmstat 2 بھی مفید ہے: wa کالم (io wait) فیصد میں دکھاتا ہے کہ CPU کتنا وقت صرف ڈسک پر انتظار کرتے ہوئے گزارتا ہے۔

iotop: اصل میں کون لکھ رہا ہے

apt install -y iotop && iotop -oPa

-o صرف فعال پروسیسز دکھاتا ہے، -P تھریڈز کے بجائے پروسیسز دکھاتا ہے، -a لانچ کے بعد سے جمع شدہ حجم دکھاتا ہے۔ ایک منٹ دیکھنے کے بعد آپ کو اصل مجرم مل جائے گا: عام طور پر ڈیٹا بیس، لاگ کلیکٹر یا بیک اپ۔

انٹرایکٹو UI کے بغیر ایک بار کا معائنہ:

iotop -boPan 3 | head -20

جو ملے اس کا کیا کریں

  • جرنل لکھ رہا ہے۔ اس کا حجم محدود کریں: journalctl --vacuum-size=200M اور /etc/systemd/journald.conf میں SystemMaxUse=200M۔ مزید کے لیے systemd جرنلز دیکھیں۔
  • ڈیٹا بیس لکھ رہا ہے۔ چیک کریں کہ کیا گمشدہ انڈیکس کی وجہ سے مکمل ٹیبل اسکین چل رہا ہے، اور کیا بفر بہت چھوٹا سیٹ ہے جس کی وجہ سے سب کچھ ڈسک پر جا رہا ہے۔
  • کام کے اوقات میں بیک اپ یا rsync۔ رفتار محدود کریں: rsync --bwlimit=20M؛ آرکائیونگ کے لیے ionice -c3 nice -n19 tar ... استعمال کریں تاکہ ٹاسک راستہ دے۔
  • سواپ۔ اگر ڈسک پیجنگ میں مصروف ہے، تو مسئلہ ڈسک کا نہیں بلکہ میموری کا ہے — میموری اور سواپ پڑھیں۔

عام غلطیاں

dd اور conv=fdatasync سے رفتار ناپنا اور ایک ہی رن سے نتیجہ نکالنا: پہلے چند سیکنڈ برسٹ پر چلتے ہیں اور بڑھا ہوا نتیجہ دیتے ہیں۔ درست طریقہ کار ڈسک اور نیٹ ورک کی رفتار بینچ مارک کرنا میں ہے۔

بھری ہوئی ڈسک بھی "سب کچھ سست ہے" جیسی لگتی ہے: خالی جگہ نہیں، سروس عارضی فائل نہیں لکھ پاتی اور ہینگ ہو جاتی ہے۔ پہلے df -h چیک کریں — اس میں ایک سیکنڈ لگتا ہے۔