డిస్క్ స్పేస్: అది ఎక్కడికి వెళుతుంది
డిస్క్ను ఏది నింపిందో ఎలా కనుగొనాలి, తొలగించిన కానీ ఓపెన్గా ఉన్న ఫైల్ ఎందుకు ప్రమాదకరం, ఏమి శుభ్రం చేయడం సురక్షితం మరియు ప్యానెల్లోని వినియోగ రింగ్ ఎందుకు తప్పుడు విషయం చూపవచ్చు.
23 ఆగస్టు, 2026న నవీకరించబడింది
స్థలం అయిపోవడం అనేది ఏదో ఒక రూపంలో కనిపించే ఔటేజ్: డేటాబేస్ రాయదు, సైట్ ఎర్రర్ ఇస్తుంది, కంటైనర్లు రీస్టార్ట్ అవుతాయి. VDS డిస్క్ ఎంట్రీ టియర్లో 40 GB నుండి టాప్ టియర్లో 250 GB వరకు ఉంటుంది, మరియు అది దాదాపు ఎప్పుడూ అదే విషయాలతో నిండిపోతుంది.
మొదటి కమాండ్లు
df -h
df -i
sudo du -x -h -d1 / | sort -h | tail -15
df -i ను దాటవేయకండి: మీకు స్థలం ఉండవచ్చు కానీ ఇనోడ్లు అయిపోవచ్చు — అప్పుడు ఖాళీ గిగాబైట్లు ఉన్నా “డిస్క్ ఫుల్” అని వస్తుంది. దీనికి కారణం సాధారణంగా మిలియన్ల కొద్దీ చిన్న క్యాష్ ఫైల్లు.
తర్వాత అతిపెద్ద డైరెక్టరీలోకి వెళ్లండి:
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. - పైన ఉన్న కమాండ్లతో అసలు కారణాన్ని కనుగొనండి — లేకపోతే ఒక వారంలో మళ్లీ అదే జరుగుతుంది.
- డేటా నిజంగా పెరిగితే, ఉన్నత టియర్కు మారడం ద్వారా మీరు డిస్క్ను పెంచాలి. డౌన్గ్రేడ్ అందుబాటులో లేదు: డిస్క్ను చిన్నదిగా చేయలేరు.