ڈسک کی جگہ: کہاں جاتی ہے
ڈسک کس چیز سے بھری ہے یہ کیسے تلاش کریں، حذف شدہ مگر کھلی فائل کیوں خطرناک ہے، کیا صاف کرنا محفوظ ہے، اور پینل میں استعمال کی انگوٹھی غلط کیوں دکھا سکتی ہے۔
اپ ڈیٹ 23 اگست، 2026
جگہ ختم ہونا ایک آؤٹیج ہے جو کسی بھی چیز کی صورت میں ظاہر ہو سکتا ہے: ڈیٹا بیس لکھ نہیں پاتا، سائٹ ایرر دیتی ہے، کنٹینرز دوبارہ اسٹارٹ ہوتے ہیں۔ VDS ڈسک انٹری ٹیئر پر 40 GB سے لے کر ٹاپ ٹیئر پر 250 GB تک ہوتی ہے، اور یہ تقریباً ہمیشہ انہی چیزوں سے بھر جاتی ہے۔
پہلے کمانڈز
df -h
df -i
sudo du -x -h -d1 / | sort -h | tail -15
df -i کو نہ چھوڑیں: ہو سکتا ہے جگہ موجود ہو مگر inodes ختم ہو جائیں — پھر آپ کو خالی گیگابائٹس کے ساتھ ”ڈسک فل“ نظر آتا ہے۔ ذمہ دار عام طور پر لاکھوں چھوٹی کیش فائلیں ہوتی ہیں۔
پھر سب سے بڑی ڈائریکٹری میں جھانکیں:
sudo du -x -h -d1 /var | sort -h | tail
sudo du -x -h -d1 /var/lib | sort -h | tail
-x فلیگ گنتی کو ایک ہی فائل سسٹم میں رکھتا ہے اور ماؤنٹ شدہ ڈائریکٹریوں میں نہیں بھٹکتا۔
عام وجوہات
| کیا | کیسے چیک کریں | کیا کریں |
|---|---|---|
| کنٹینر لاگز | du -sh /var/lib/docker/containers/*/*-json.log | سائز محدود کریں، دیکھیں لاگز |
| امیجز اور بلڈ کیش | docker system df | docker image prune، docker builder prune |
| سسٹم جرنل | journalctl --disk-usage | journalctl --vacuum-size=200M |
/boot میں پرانے کرنلز | df -h /boot | apt autoremove --purge |
| پیکیج کیش | du -sh /var/cache/apt | apt clean |
| جگہ پر چھوڑی گئی کاپیاں | du -sh /backup | انہیں آف سائٹ منتقل کریں، دیکھیں دوسرا مقام |
| یوزر اپلوڈز | du -sh /var/www/uploads | اسٹوریج باہر یا بڑی ڈسک |
ڈیلیٹ شدہ فائل جو اب بھی جگہ لے رہی ہے
ایک کلاسک معمہ: du 5 GB دکھاتا ہے، df 30 GB استعمال شدہ دکھاتا ہے۔ اس کا مطلب ہے کہ فائل ڈیلیٹ ہو گئی، مگر کوئی پروسیس اسے اب بھی کھلا رکھے ہوئے ہے، اور جگہ ری اسٹارٹ تک آزاد نہیں ہوگی۔
sudo lsof +L1 | head -20
آؤٹ پٹ پروسیسز اور سائز دکھائے گا۔ حل یہ ہے کہ ذمہ دار پروسیس کو ری اسٹارٹ کریں:
sudo systemctl restart <service>
docker compose restart <service>
زیر استعمال لاگ فائل پر کبھی
rmسے جگہ آزاد نہ کریں۔ درست طریقہ یہ ہے کہ اسے ٹرنکیٹ کریں:sudo truncate -s 0 /var/log/big.log۔ اسے ڈیلیٹ کرنے سے جگہ تو مقبوضہ رہے گی اور لاگ بھی ضائع ہو جائے گا۔
پینل میں استعمال کا رنگ
”Overview“ ٹیب پر ڈسک استعمال کا رنگ موجود ہے۔ یہ گیسٹ ایجنٹ qemu-guest-agent کے ذریعے حساب کیا جاتا ہے۔ اگر ایجنٹ ہٹا دیا گیا ہو یا چل نہ رہا ہو تو ڈیٹا اپ ڈیٹ نہیں ہوگا — پینل انسٹال کمانڈ دکھائے گا۔ مشین کے اندر چیک کرنے کے لیے:
systemctl status qemu-guest-agent
ایجنٹ کی ریڈنگز اور df -h کا میل کھانا چاہیے۔ فرق عام طور پر اس بات کی نشاندہی کرتا ہے کہ کچھ جگہ الگ ماؤنٹ شدہ پارٹیشن میں لی گئی ہے — دیکھیں پارٹیشنز اور فائل سسٹمز۔
احتیاطی تدابیر
صفائی اور الرٹ کے ساتھ ایک شیڈولڈ ٹاسک ترتیب دیں:
#!/bin/bash
USED=$(df --output=pcent / | tail -1 | tr -dc '0-9')
if [ "$USED" -gt 85 ]; then
journalctl --vacuum-size=200M
apt clean
docker image prune -f
echo "Disk is ${USED}% full" | mail -s "VDS: low disk space" you@example.com
fi
85% کی حد آپ کو ردعمل کے لیے گنجائش دیتی ہے۔ آپ 100% کا انتظار نہیں کر سکتے: جب ڈسک بھر جائے تو کچھ سروسز یہاں تک نہیں لکھ پائیں گی کہ کیا ہوا۔
اگر بالکل جگہ نہ ہو
- فوری تدابیر سے چند گیگابائٹ آزاد کریں:
journalctl --vacuum-size=100M،apt clean،docker builder prune -f۔ - اوپر دیے گئے کمانڈز سے اصل وجہ تلاش کریں — ورنہ ایک ہفتے میں سب کچھ دہرایا جائے گا۔
- اگر ڈیٹا واقعی بڑھ گیا ہے تو آپ کو اونچے ٹیئر پر جا کر ڈسک بڑھانی ہوگی۔ ڈاؤن گریڈ دستیاب نہیں: ڈسک چھوٹی نہیں کی جا سکتی۔