Linux tuhaf diski dolu, nasıl çözülür? | Güç Projesi

Yazar | Yide's Trek

Sorumlu Editör | Wu Xingling

Üretildi | CSDN Blogu

Linux disk dolu sorunu için, her zamanki çözümümüz, temizlenebilecek büyük dosyaları bulmak için du kullanmak ve ardından diskin mümkün olan en kısa sürede yazılmaya devam etmesini sağlamak için önce disk kullanımını azaltmak için bunları geçici olarak silmektir.

Bununla birlikte, bazı durumlarda, işleme etkisi farklıdır ve du / df tarafından sunulan sonuçlar kafa karıştırıcı olabilir. Aşağıda, sonraki birkaç işte karşılaşılan tuhaf disk dolu problemini paylaşacağım.

Gizli dosyalar yoksayıldı

1. Takas dosyasını bilin

Linux takas dosyası takas dosyası daha yaygındır ve aynı zamanda gizli dosyalar biçiminde de mevcuttur, bu nedenle burada esas olarak takas dosyası gibi gizli dosyalardan bahsediyoruz.

Bir dosyayı vim ile açarken, arabelleğin içeriğini yedeklemek için geçici bir gizli .swp takas dosyası oluşturulur.

Dosya anormal bir şekilde kapatıldığında (terminalin doğrudan kapatılması veya bilgisayarın kapatılması vb.), .Swp dosyası silinmez, böylece dosyayı geri yüklemek için bu dosyayı kullanabilirsiniz. (Bu dosyanın normalde kapatıldığında silineceğini ve dosya sadece okunuyorsa .swp dosyasının oluşturulmayacağını unutmayın)

Ayrıca, vim beklenmedik bir şekilde çıkarsa ve dosyayı ikincil düzenleme için yeniden açarsa, eski .swp dosyası korunmaya devam edecek ve yeni bir .swo geçici gizli dosya oluşturulacaktır.

İkinci düzenleme sırasında vim anormal şekilde çıkarsa, yeni geçici gizli dosyalar.swn, .swm, .swl oluşturulmaya devam edecek ...

2. Tedavi önerileri

Bazı gizli dosyaların disk kullanımı da oldukça fazladır:

: / tmp # ll -rth | grep G toplam 17.7G -rw ------- 1 xxxx kullanıcı 17.6G 2020-02-1218:27 .sqlkfJTFl.swp

Bu nedenle, bazen büyük gizli dosyalar nedeniyle disk dolduğunda, bu gizli dosyaları bulamazsanız, kendinizi tuhaf ve kafanız karışmış hissedeceksiniz.

Bu nedenle, disk dolu sorununu giderirken, tüm geçici takas dosyalarını görüntülemek ve boyutunu kontrol etmek için vim -r komutunu çalıştırabilir veya boyutu görmek için tüm gizli dosyaları listelemek için ls -lha kullanabilirsiniz.

Takas dosyası özelliğini korumak istemiyorsanız, takas dosyasını kapatmayı düşünebilirsiniz:

vim / etc / vimrc # Aşağıdaki yapılandırmayı ekleyin set noswapfile # Düzenleme sırasında bu dosyanın oluşturulmasını yasakla;

Ancak bunun dosya kaybının tolere edilebileceği durumlarla sınırlı olduğunu unutmayın; dosya kaybına tolerans gösterilemiyorsa, yine de takas dosyasını açmanız önerilir:

vim / etc / vimrc

# Aşağıdaki yapılandırmayı ekleyin

set takas dosyası # düzenleme sırasında bu dosyayı oluşturmaktır;

Yayınlanmamış silinmiş dosyalar

1. Du ve df tutarsız

Gizli dosya faktörü ortadan kaldırılırsa, du boyutu yine de garip olarak bulunur.Örneğin, du diskin dolu olmadığını ancak df disk kullanımının% 100 olduğunu görür.

Bunun nedeni ne olabilir?

Şu anda, genellikle bazı işlemler tarafından tutulan bazı silinmiş dosyalar olduğundan ve tanıtıcıların serbest bırakılmadığından şüphelenmeniz gerekir.Sonuç olarak, bu dosyalar silinmiş olsalar da, gerçekten görünmezler, ancak yine de disk alanı kaplarlar;

Sonuç olarak, du ve df kaynaklı disk kullanım sonuçları tutarsızdır.

2. Tedavi önerileri

Lsof | grep silindi çalıştırılarak, disk alanı bırakmamış dosyalar ve işlemler bulunabilir,

Daha sonra ilgili işlemi yeniden başlatarak, silinen dosyaların kapladığı alanı serbest bırakma amacına ulaşılabilir.

Bu gönderi "Sık Sorulan Dosyaları Temizlemede Sık Yapılan Hatalar", "silinen dosyaların hala diskte kaldığı" senaryolarını ve işleme yöntemlerini açıklamaktadır.

Ek olarak, bu durum için bir hata işleme yöntemi vardır, işte özel bir hatırlatma:

Silinen dosyanın serbest bırakılmamış pid'ini bulduktan sonra, bazı öğrenciler silinen dosyayı serbest bırakmak amacına ulaşmak için doğrudan pid'i öldürebilir.

Bu yaklaşım gerçekten de silinen dosyaları serbest bırakarak disk alanını boşaltabilir, ancak bu yaklaşımın yan etkileri vardır ve zarar büyük veya küçük olabilir.

Çevrimdışı bir ortamda bu şekilde çalışırsanız, etki genellikle küçüktür; ancak bir üretim ortamında bu şekilde çalıştırırsanız, arızaya neden olabilir.

Böyle bir senaryo varsayıyoruz:

Üretim ortamındaki bir program, belirli bir hata nedeniyle günlük dosyalarını hiçbir zaman serbest bırakmadı ve zaman paylaşımında yazılan günlük dosyalarının süresi dolmuş bir silme mekanizmasına sahip. Bu devam ederse, sunucuda çok sayıda süresi dolmuş silinmiş günlükler bulacaksınız. Dosyalar, disk doluluk riski ortaya çıkana kadar disk alanını işgal etmeye devam eder.

Şu anda, onu işlemek için doğrudan kill pid kullanırsanız, üretim ortamında çevrimiçi programı doğrudan öldürürsünüz; sonuçları tahmin edilebilir: hizmet, program arka plan programı tarafından başlatılana kadar kullanılamaz. .

Montajdan kaynaklanan beklenmedik durum

1. Kaybolan alan

Ls -lha'yı çalıştırırsanız ve büyük bir gizli dosya bulunmazsa ve silinen lsof | grep'i çalıştırırsanız, yayınlanmamış silinmiş dosyalar bulunmaz; bununla birlikte, df kök dizinin gerçekten% 100'e ulaştığını görür, ancak du'dan kök dizinin gerçek kullanım alanı değildir Tükenmedi.

Bunun nedeni ne olabilir?

Bu olduğunda, lütfen anormal diske sahip son makineyi geri çağırın Disk onarılmış veya değiştirilmiş mi?

Bu tuhaf olay kök dizinde meydana gelir, genellikle disk elden geçirildiğinde / değiştirildiğinde (burada / data1'in yerini aldığını varsayıyoruz), yeni disk takılmadan önce / data1'e veri yazmaya başlar çünkü yeni disk henüz takılmamıştır , Yani yazma verileri kök dizinin alanını kaplar.

Daha sonra / data1 diskini değiştirip yeniden bağladıktan sonra, / data1'e başlangıçta yerleştirilen veriler bağlama diskinde görünmeyecek ve kök dizinin alanını işgal etmeye devam edecektir.

Yani bu fenomen şu anda ortaya çıkacak:

Du / data1'i bağladıktan sonra büyük değildir, ancak bağlamadan önce / data1 dizinine yazılan veriler gerçekte kök dizin alanını kaplar ve bu veriler bağlandıktan sonra görünmez, bu yüzden bulmak zordur. Ardından, kök dizindeki bazı boşlukların havadan kaybolmuş gibi göründüğünü göreceksiniz, bu oldukça garip.

2. Tedavi önerileri

2.1 Çözüm

Yeni takma diskinin bazı verileri kapsadığını nasıl doğrulayabilirim? Yeni bağlama diskini / data1'i bağlayın ve ardından / data1 tarafından kaplanan alana bakın.

Umount meşgul uyarısı verirse, aşağıdaki komutu uygulayarak sorunu çözebilirsiniz:

fuser -kmvi / data1 umount / data1

Kaldırdıktan sonra, / data1 dizininde gerçekten çok sayıda dosya olduğunu göreceksiniz.Silmeden, mount -a ve yeniden bağladıktan sonra ve ardından kök dizinin disk alanı kayboldu, genellikle onu geri bulabilirsiniz.

2.2 Test doğrulama

Rahat değilseniz, verileri temizledikten ve tekrar monte ettikten sonra, şunları kolayca test edebilirsiniz:

dd eğer = / dev / sıfır = / veri1 bs = 1 milyon sayı = 20000

Yaklaşık 20G verisini / data1'e yazın ve ardından kök dizinin alanının etkilenip etkilenmediğini gözlemleyin.Eğer etkilenmezse sorun çözülür!

2.3 Bir öneri verin

Kök dizin gibi tuhaf sorunlar için: Diski değiştirmeden ve yeniden takmadan önce her seferinde kök dizinin alan kullanımını kontrol etmeniz önerilir; veri yazılırken bir hata varsa zamanında temizlenmesi gerekir ve ardından yeni disk takılır. , Hatırlamak.

Orijinal bağlantı:

https://blog.csdn.net/weixin_44648216/article/details/104505890

Feragatname: Bu makale CSDN blogger'ın orijinal makalesidir ve telif hakkı yazara aittir.

6 yaşında programlamayı öğrenin, 9 yaşında bir bilgisayar dergisine yazın ve aylık 20.000 maaş alın Teklif | Program Life 2020
önceki
SaaS bulut hizmeti, bir veritabanı silme olayı meydana geldiğinde veri güvenliğini nasıl korur?
Sonraki
Veri bilimcisi seksi bir iş mi? Hayalet olduğuna inanıyorum
Huawei ve Alibaba çalışanlarının dinlediği İngilizce kaynakların süresi dolmak üzere, lütfen onları alın
TIOBE March programlama dili sıralaması: Java yükseliyor, Delphi artık mükemmel değil
Rust geliştiricisinin ilk git deneyimi
Huawei, Wuhan'daki çalışanları günde 2.000 RMB'ye kadar sübvanse ediyor; iPhone SE 2 seri üretimi veya erteleme; PowerShell 7.0 yayınlandı | Geek Headlines
Transformer neden bir grafik sinir ağıdır?
Tencent Cloud Weimeng'i "kurtarıyor"! 766 çevrimiçi toplantı düzenleyin, 100'den fazla sunucu tahsis edin ve alarm saati yalnızca 2 saat için ayarlanabilir
1w2'nin altındaki programcılar 2020'de gerçeklerle yüzleşecek ...
Ali mühendisleri size bir B-end dikey pazarlama merkezinin nasıl tasarlanacağını öğretir
Duotu sizi Wuhan'a götürüyor: Hubei, 0! Wuhan, 0
Wuhan'da beyaz melek sayesinde binlerce ışık yanıyor, en sıcak olanı Wuhan halkının kalbi.
Kimura Takuya'nın 18 yaşındaki kızı da çıkış yaptı! Alev kırmızı dudaklar fotoğraf pozlama
To Top