“Df” ve “du” komutları neden farklı disk kullanımı gösteriyor?


26

Bilgisayarımda ubuntu sistemine erişemiyorum, hata mesajı: " sistem düşük grafik modunda çalışıyor " ve internetten aradığım bazı komutları denedim.

Bir sorun olduğunu gördüm boş disk alanı yok gibi görünüyor. Kontrol etmek için " df " ve " du " komutlarını kullandım, sonuçlar şöyle:

du -j --max-depth=1
23G  ./home
3.3G ./usr 
...... 
28G

ve

df -Th 
filesystem   Type   size    used   available   use%    mounted on 
/dev/sda5    ext4   68G     68G    0           100%    /

sistemi daha fazla disk alanı için nasıl temizlerim?


Başlıktaki ve soru gövdesinin sonundaki soru oldukça farklıdır. Bazı cevaplar bir soruya, bazıları diğerine aittir. Gerçek gereksinimlerinizi netleştirmeli ve muhtemelen bir cevap da kabul etmelisiniz .
Melebius

Yanıtlar:


50

Muhtemelen bazı uygulamalar tarafından hala kullanılmakta olan bir dosyayı kaldırabileceğinizi biliyorsunuzdur ve bu uygulama için mevcut kalır. Çünkü / proc / filesystem içindeki dosya tanımlayıcısı açık tutulur.

Öyleyse, önceden kaldırılmış dosyalar için açık açıklayıcılar varsa, kullandıkları alan df(ve dfhaklı) olarak kabul edilir , ancak bunlarla duilişkili artık dosya adları olmadığından dikkate alınamazlar .

Bağlantısız ancak bekletilen tüm açık dosyaları aşağıdakilerle bulabilirsiniz:

# lsof | grep '(deleted)'

7
Bu sadece beni kurtardı. Diskimin neden dolu olduğunu bilmiyordum ama du boş olduğunu söyledi.
8GB'lık

5
Bağlantıları nasıl silebilirim?
Vikas Hardia,

1
Bazen, silinen dosyaları açık tutup diğer kullanıcıların işlemleriyle açık tutmak için bunu root olarak çalıştırmanız gerekir.
Envek

1
Bunun benim için temel nedeni /etc/logrotate.ddosyalarımdan birinde yanlış bir günlük dosyası belirtimi oldu . Kötü girişte bir postrotate yordam eksikti; bu daemon sürecimin döndürülen / silinen dosyalarından vazgeçmemesine neden oldu.
Dale Anderson

Bu bağlantısız ancak açık dosyaları nasıl kaldırabilirim?
zx1986

14

Bağlantıları nasıl silebilirim? - Vikas Hardia, 22 Ağustos'ta saat 14: 14'te

Dosya tanıtıcısını tutan işlemi bulmanız gerekir. Dmitry Alexandrov'un emrini kullan, orada süreci ve iadeyi görüyorsun. Bizim durumumuzda ve "eski" vernik log dosyası uzay katili idi.

# lsof | grep '(deleted)'
[...]
varnishlo 13978       varnishlog    3w      REG              252,1 318448027646    5926973 /var/log/varnish/varnish.log.1 (deleted)
apache2   16801         www-data    2w      REG              252,1        64550   13110120 /var/log/apache2/error.log.1 (deleted)
[...]
# service varnishlog stop
[or if there is no service script]
# kill -11 13978 (the second number of the lsof command is the pid)
[or may be] 
# kill -9 13978

Bilgisayarınızdaki bir şeytan veya başka bir hizmet ise, hizmeti başlatmayı veya işlemeyi yeniden unutmayın. Yapabiliyorsanız, bilgisayarı yeniden başlatın;)


9

Tamam, man sayfalarını kontrol edelim:

df - rapor dosya sistemi disk alanı kullanımı

ve

du - tahmini dosya alanı kullanımı

Bu iki araç farklı teklifler için tasarlandı. İken dfdosya sistemi kullanımını göstermektir, dudosya alanı kullanımını rapor etmektir. dosya sistemi düzeyinde duçalışırken dosyalardan dfçalışır, çekirdeğin ne söylediğini bildirir. duManpage desteğini okumaya devam edin :

Her disk kullanımını özetler FILE alt dizinlere.

dudosyaları ile çalışır diyor .

dfHer dosya adı argümanını içeren dosya sisteminde mevcut olan disk alanı miktarını gösterir . Dosya adı verilmezse, şu anda bağlı tüm dosya sistemlerinde kullanılabilir alan gösterilir.

Burada df, dosyalara değil, dosya sisteminin kendisine önem verildiğini söylüyor .


du kullanımı sadece verilen dosya sistemindeki dosyaları saymak için -x karakteriyle değiştirilebilir.
macetw

1

Basitçe söylenmiş:

Sen ran dukök izinleri olmadan. İçeri kullanılabilir alanı kontrol etmek mümkün değildir Yani /proc, /mntvb, klasörler.

df sırasıyla toplam kullanılan ve boş alanı gösterdi.

Bu yüzden Linux kök dosya sistemini kontrol ettiğinizde, duraporu nihai olarak alın.


0
df

Boş disk alanını özetle

Kullanılabilir disk alanı miktarını görüntüler.

du

Disk kullanımını özetler.

Kullanılan disk alanı miktarını görüntüler.


evet, ama "df -Th" sonucu, 68G kullanıldığını gösterdi. Bugün sabah ubuntu sistemine erişmeye çalıştığımda hala "sistem düşük grafik modunda çalışıyor" mesajı veriyor, fakat bellek kullanımını kontrol ettiğimde "df" ve "du" komutları makul bir sonuç gösteriyor. Ama "düşük grafik modu" ile ilgili sorun ne?
user2068965

Bir göz atın Bu .
Mitch

0

kafa karıştırıcı bir şey: İşte bakışı: =

1) du == Disk Kullanımı
Bu dosyalar tarafından ne kadar disk alanı kullanılıyor?

2) df == Disk Free
Ne kadar boş disk alanımız var?

Ayrıca sistem için ' burada ' düşük grafik modunda çalışıyor


0

yaptım
sudo du -hxa / | egrep '^[[:digit:]]{1,1}G[[:space:]]*'

Tam olarak görmekte olduğum 21 GB büyük tutarsızlıktan sorumluydu!
Söz konusu dosya 21GB ise dosya / takas oldu !!

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.