“Aygıtta boşluk kalmadı”, df tutarsızlık gösteriyor


15

Birkaç saat önce kök bölümüm doldu, dosyaları ondan uzaklaştırdım ve df raporları:

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/hda1             183G  174G     0 100% /

Bu yüzden 9GB boş olmalı, ancak boş rapor 0 ve Kullanım hala% 100'dedir.

Kök olarak test ettim, örneğin

# echo test >a ; cat a
test

beklendiği gibi çalışır; Ancak normal bir kullanıcı olarak, hala hatayı alıyorum:

$ echo test >a ; cat a
bash: echo: write error: No space left on device

Pozitif testi yaptığım kök giriş dizini ve giriş dizinim aynı bölümdedir. Fstab girişi:

/dev/hda1 / ext3 noatime,defaults,errors=remount-ro 0 1

Yanıtlar:


34

Çoğu dosyalama sistemi root için belirli bir yüzde ayırır, böylece yine de root olarak giriş yapabilir ve disk alanı sorunlarını çözebilirsiniz. Genellikle bu% 5'tir. 9GB, 183GB'ın yaklaşık% 5'i, bu yüzden mantıklı olurdu. Tune2fs kullanarak ne kadar rezerve edildiğini görebilirsiniz:

# tune2fs -l /dev/sda1 | grep -i reserved
Reserved block count:     936488
Reserved GDT blocks:      1019
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)

Kullanarak değiştirebilirsiniz

# tune2fs -m 3 /dev/sda1
tune2fs 1.41.9 (22-Aug-2009)
Setting reserved blocks percentage to 3% (561893 blocks)

Modern büyük sürücülerde% 5 muhtemelen biraz fazladır ve muhtemelen daha düşük ayarlamak istersiniz. Sıfıra ayarlamak istemezsiniz.


1
Bunu bilmediğime inanamıyorum. Linux'u ne kadar süredir kullandığımı söylememeliyim ...
işaretleyin

@nfm Hey, yıllardır ev kutularında temel Linux yönetimi yapıyorum ve hiç duymadım. Harika bilgi için +1 +1
Topher Fangio

5

Bob ile im, df -i deneyin, örneğin bir sürü kötü çıktı crontabs varsa, / var / spool / clientmqueue / dizininiz doldurulabilir


3

INODES'a da bir göz atın. Bir "vanilya" kurulumunda, çok sayıda küçük dosyaya sahipseniz, inode tüketebilirler, ancak alan kullanamazlar. Kullanılabilir alanınız olduğunu göreceksiniz, ancak inode'larınız dolu olduğundan bu alanı kullanamayacaksınız.


3
Çoğu modern birleşimin küçük dosya sistemlerinde bile çok sayıda inode vardır. Bazen bir sorundur, ancak kullanıcının c dosyasını hiç oluşturamadığı göz önüne alındığında, bir inode sorunu olması olası değildir. (dizin girişleri, boşluk gerektirmese bile inode gerektirir).
chris

2

"Varsayılan olarak, Unix'teki her dosya sisteminde süper kullanıcı (kök) için ayrılmış bir alan vardır. Bu, hiçbir normal Unix kullanıcısının dosya sisteminizi% 100'e kadar dolduramayacağı ve dolayısıyla normal işlevini sürdürmek için her zaman yeterli boş alana sahip olacağı anlamına gelir. "

Gönderen: http://www.unixtutorial.org/commands/tune2fs/


1

Kontrol edilmesi gereken diğer bir şey, bu dosya sisteminde (özellikle günlükler) açık dosya olup olmadığını görmek. Dosyaların silinmesi, dosya gerçekten kapanana kadar diskteki alanı temizlemez.


0

Clyde'nin cevabı olan 1 dolar bahse girerim. Bir işlemin o aygıtta açık bir dosyası vardır. Linux'ta, dosyayı açık tutan işlem onu ​​bırakana kadar aslında kaldırılmaz.

Şununla başlıyorum: lsof | grep hda1

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.