df alınan tüm alanı gösterir, ancak du eklemedi


28

Ubuntu 12.04 LTS ile ilgili bir sorunum var. Bu, son 3 haftada bu sorunla ikinci karşılaşmam. İlk defa StackOverflow'taki bu kapalı soruda açıklanmıştır . TL; DR sürüm I derlemek ve 20 kat daha Android yığını az bina bir 450G ext4 sistem üzerindeki tüm inode'lara kullanmak başardı olduğunu.

İnode deposunun büyümesi için diski XFS olarak yeniden biçimlendirerek sorunu çözdüğümü sanıyordum.

Bu sabah bir gecede bir inşaat yaptıktan sonra, 1GB'tan daha az boş alana düşüyorum. Bu makinede Android'i kurmak için gerekenlerden başka bir şey yok. Platform kaynaklarında toplam 5 inşaat yaptım. Derleme bir sürü dosya oluşturur, sonra kısa bir süre sonra onları silerim make clean. Gerçekten 1GB'tan küçük değilim ama araçlar bu şekilde rapor ediyor. Bir sürü geçici dosyayı sildim ve yaklaşık 40GB'lık "serbest bırakıldım". Birkaç saat sonra, sadece boşta, 1GB'tan daha azına döndüm.

Ubuntu'yu bir flash sürücüden çalıştırmak bölüm için aşağıdakini döndürür ...

$ df
Filesystem     1K-blocks      Used Available Use% Mounted on
/dev/sda5      468521456 468255460    265996 100% /media/f71c77eb-b4cc-

$ df -i
Filesystem      Inodes  IUsed   IFree IUse% Mounted on
/dev/sda5      1691760 624214 1067546   37% /media/f71c77eb-b4cc-

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda5       447G  447G  260M 100% /media/f71c77eb-b4cc-

İşte bir şeyin yolunda gitmediğinin kanıtı. Ben çalıştırdığınızda du(ve --apparent-size olmaksızın) veya görsel Disk Kullanımı Analyzer, ben gerçekten sadece bu yüzden 35GB veya yaklaşık kullanıyorum olduğunu göstermektedir. Kullanılan alanın% 98,7'si içeride /home/eric, ancak dubuna eklenmiyor. Tutarsızlık arasında /home/ericve/home/eric/android

görüntü tanımını buraya girin

Burada ve SO'da ilgili soruları okudum ve genellikle açık işlemler tarafından tutulan silinmiş dosyaları önerirler. Bu testi çalıştırmak için bir flash sürücüye yeniden başlattım, bu yüzden açık dosyalar olmamalıydı. FWIW, / tmp boş.

'Kayıp' alanını kurtarmak için flash sürücüye yükleyebileceğim bir araç var mı? Sistemdeki belleği boşaltmayı deneyebilirim ve orada çalıştırabilirim, ancak bunu bir flash sürücüden yapmanın daha iyi olduğunu düşünüyorum.

Bu sistemi farklı bir şekilde mi yapılandırmalıyım? Başka bir silme ve yükleme yapmamayı tercih ederim ama sürdürülebilir bir Android yapı sistemine ihtiyacım var.

TAKİP EDİLDİ - Geçen hafta yüklemeyi iptal etmek zorunda kaldım ve işin tamamlanması için 12.04'ü yeniden yükledim. Bu hafta tekrar Android geliştirirken, disk kullanımı üzerinde dikkatli bir göz tutacağım ve burada daha fazla bilgi edindiğimde bilgi vereceğim.

Teşekkürler



@jokerdino Evet, o konudaki ve diğer benzer konulardaki talimatları izledim. Bir flash sürücüden yeniden başlatmanın yanı sıra sistemi yeniden başlattım. Yeniden başlattıktan sonra sistem hala tüm diski dolu olarak gösterir. Teşekkürler.
Eric Cloninger

Linux'taki dosya verileri referans sayılır, bu nedenle Windows'ta olduğu kadar sık ​​yeniden başlatmanıza gerek yoktur. Belki de veri dosyalarının üzerine yazarken emülatörün çalışmasını sağladınız?
aquaherd

@EricCloninger Ben de aynı sorun nasıl oldu kullanıcılar listesine kendimi eklemek zorunda. Bu benim sorum 12.10 kullanarak ve bu 11.04 kullanıcı bir soru .
Lucio

Ayrıca, ls -lah ~paste.ubuntu.com içindeki çıktısını kopyalayıp yapıştırın ve sorunuza bağlayın.
Lucio

Yanıtlar:


19

Oracle Linux'ta, silinen ancak hala çalışan bir işlemle açık olan (çok / büyük) dosyalarınız olduğunda gerçekleşir. Sonra süreçleri durdurmak veya makinenin yeniden başlatılmasına yardımcı olur.


Günlük dosyaları sarılma bir sunucuda benim için çalıştı. Teşekkürler!
miccet

12
lsof +L1İşlem kimliğini kontrol etmek için kullanın ve kullanın .
Jeff Tian,

3

Son zamanlarda fsckbununla karşılaştım ve benim durumumda koşmam gerekiyordu.

Yaptım touch /forcefsck && rebootve birkaç dakika sonra, sunucu tekrar çevrimiçi oldu ve aniden eksik 6 GB serbest kaldı.


1

Uzağa gitmeden önce ..... sistemi tek bir kullanıcı kipine getirin ve FULL fsck yapın (gerçekten tam olarak demek istiyorum fsck -f /dev/sda5) dosya sistemini görün ve ne olduğunu görün. Boşluğu diskinizdeki sorunlu alanların bir kısmı olarak bulabilir veya ayrılanlarla diskte bulunanlar arasındaki uyuşmazlık bulabilirsiniz.


flash sürücüdeki sudo fsck -f / dev / sda5 , sürücü XFS olarak biçimlendirildiği için hiçbir şey yapmadı. Bana xfs_check kullanmamı tavsiye etti . xfs_check / dev / sda5 sonuç döndürmedi. xfs_repair / dev / sda5 onarımını yaptı, ancak olağandışı bir şey bildirmedi. Her ikisinden sonra, hala% 99 oranında doluyum. Thx
Eric Cloninger

1

Bir test yapabiliriz du, 10GB boş alanınız olduğunu söylerken df, 300 MB diyorsa, 2 GB boyutunda bir dosya (veya birkaç dosya) yazabilir misiniz? Yapabiliyorsanız, bu sadece df'nin sadece yanlış olduğu anlamına gelir (ve aslında 'kayıp alan' sorunu yoktur). Değilse, o duzaman yanlış (ki ilginç olacak).


1

Bu sorunun nedenini bulamadım ama ubuntu 12.04'e özgü.

Sadece yeni bir sunucu kurdum, Ubuntu 12.04 ile başladım ve bununla karşılaştım; du yaklaşık 111 GiB kullanımı gösterirken, df 170 GiB civarındaydı.

Sistem kurtarması 3.3.0 kullanılarak yeniden başlatılması ve tekrar kontrol edilmesi, 1 GiB'den daha az bir fark gösterdi.

Bölüm ve dosya sistemini (ext4) değiştirmeden bırakarak ubuntu dizinlerini yoldan çıkardım ve Debian 7.0 kurdum. Yine, du ve df arasındaki fark <1 GiB idi.

Ubuntu 10.04 ile, aynı bölüm ve ext4 fs:

Gönderen df -m /,

Filesystem           1M-blocks      Used Available Use% Mounted on
/dev/sda2              2814679    407164   2264538  16% /

ve gelen du -mx,

tail -1 /root/diskuse 
406920  .

hangisi yeterince yakın.


0

Gönderdiğiniz görüntü size alanın nerede kullanıldığını söylüyor /home/eric. Görünüşe göre orada çok fazla sayıda küçük dosya var. Ana dizininizi açın, gizli dosyaları gösterdiğinizden emin olun ( Nautilus'ta Ctrl+ H) ve dosya boyutuna göre sıralayın.


0

Bu genellikle dizin üzerine yerleştirilmiş farklı bir dosya sistemine sahip olan bir dizin içindeki dosyalardan kaynaklanır. Tipik bir düzeltme, bir kurtarma diskiyle veya tek bir kullanıcı modunda önyükleme yapmak ve bağlama noktaları ( cat /proc/mountsveya df -h) olarak kullanılmadıklarını doğrulayan dizinleri boşaltmaktır .

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.