Prostor na disku: gde odlazi
Kako da nađeš šta je napunilo disk, zašto je obrisana ali otvorena datoteka opasna, šta je bezbedno očistiti i zašto prsten zauzetosti u panelu može da prikaže pogrešno.
Ažurirano 23. avgust 2026.
Ponestaje ti prostora — to je ispad koji izgleda kao bilo šta: baza ne može da upiše, sajt vraća grešku, kontejneri se restartuju. VDS disk ide od 40 GB na ulaznom nivou do 250 GB na najvišem nivou, i skoro uvek se puni istim stvarima.
Prve komande
df -h
df -i
sudo du -x -h -d1 / | sort -h | tail -15
Ne preskači df -i: možeš imati prostora, ali ostati bez inoda — tada dobiješ „disk pun“ sa slobodnim gigabajtima. Krivac su obično milioni malih fajlova keša.
Zatim se spusti u najveći direktorijum:
sudo du -x -h -d1 /var | sort -h | tail
sudo du -x -h -d1 /var/lib | sort -h | tail
Flag -x zadržava brojanje unutar jednog fajl sistema i ne luta u montirane direktorijume.
Uobičajeni krivci
| Šta | Kako da proveriš | Šta da uradiš |
|---|---|---|
| Logovi kontejnera | du -sh /var/lib/docker/containers/*/*-json.log | Ograniči veličinu, vidi logove |
| Slike i keš build-a | docker system df | docker image prune, docker builder prune |
| Sistemski žurnal | journalctl --disk-usage | journalctl --vacuum-size=200M |
Stara jezgra u /boot | df -h /boot | apt autoremove --purge |
| Keš paketa | du -sh /var/cache/apt | apt clean |
| Kopije koje su ostale na mestu | du -sh /backup | Prebaci ih van lokacije, vidi drugu lokaciju |
| Otpremanja korisnika | du -sh /var/www/uploads | Skladište napolju ili veći disk |
Obrisan fajl koji i dalje zauzima prostor
Klasična zagonetka: du pokazuje 5 GB, df pokazuje 30 GB iskorišćeno. To znači da je fajl obrisan, ali ga proces i dalje drži otvorenim, i prostor se neće osloboditi do restarta.
sudo lsof +L1 | head -20
Izlaz će prikazati procese i veličine. Rešenje je restart krivca:
sudo systemctl restart <service>
docker compose restart <service>
Nikad ne oslobađaj prostor sa
rmnad log fajlom koji je u upotrebi. Ispravan način je da ga skratiš:sudo truncate -s 0 /var/log/big.log. Brisanje će ostaviti prostor zauzetim i dodatno će te koštati loga.
Prsten potrošnje u panelu
Na kartici „Pregled“ nalazi se prsten potrošnje diska. Izračunava se preko gostujućeg agenta qemu-guest-agent. Ako je agent uklonjen ili ne radi, podaci se neće ažurirati — panel će prikazati komandu za instalaciju. Da proveriš unutar mašine:
systemctl status qemu-guest-agent
Očitavanja agenta i df -h treba da se poklapaju. Neslaganje najčešće znači da je nešto prostora zauzeto u zasebno montiranoj particiji — vidi particije i fajl sisteme.
Prevencija
Podesi zakazani zadatak sa čišćenjem i upozorenjem:
#!/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
Prag od 85% daje ti prostora da reaguješ. Ne možeš da čekaš 100%: kada je disk pun, neke usluge neće moći čak ni da upišu log o tome šta se dogodilo.
Ako uopšte nema prostora
- Oslobodi par gigabajta brzim merama:
journalctl --vacuum-size=100M,apt clean,docker builder prune -f. - Nađi pravi uzrok pomoću komandi iznad — inače će se sve ponoviti za nedelju dana.
- Ako su podaci zaista porasli, treba da povećaš disk prelaskom na viši nivo. Spuštanje nije dostupno: disk ne može da se smanji.