'Proc' ve 'sys' klasörlerinin boyutu neden 100 TB'tan büyük? [kapalı]


10

Tanıdığım biri sadece şu açıklamayı yaptı:

"Sistemimde 140,7 TB değerinde dosyam var"

Birisi "nasıl?" ve yanıt şuydu:

"Sanal RAM, Ubuntu tuhaflıkları var. /proc/core"

Linux hakkında çok şey bilmiyorum ve birisinin yukarıdakilerin ne hakkında olduğunu açıklayabileceğini merak ettim. Çok fazla sayıda sabit diske sahip olmadıkça kimsenin 140,7 TB değerinde bir değere sahip olabileceğini anlamıyorum.


3
Dosya gibi görünen şey, sabit diskteki bir dosya olmak zorunda değildir. Ve dosyaların mantıksal boyutu her zaman fiziksel boyutlarıyla aynı değildir (yani depolama gereklidir).
Daniel Beck

Ayrıca bu 140.7 TB dosyam var. Bayt boyutu 140737477881856. Bu sayının ne anlama geldiğini merak ediyorum.
neverMind9

Bu sayı 2 ^ 47'ye yakın, 140.737.488.355.328.
neverMind9

Yanıtlar:


14

Bu konumlar sanal dosya sistemlerine aittir . Gördüğünüz her şey - klasörler, dosyalar, içerikleri - her erişmeye çalıştığınızda yerinde oluşturulur. Gerçek boyut, dosyayı okuduktan sonra bile bilinmez (ve farklı okuyucular farklı içerikleri iyi görebileceği için genellikle önbelleğe alınamaz).

Dosya sistemlerinin kendileri hiçbir şey işgal etmezler; onlar sadece çekirdeğe bakarlar.

Bazen boyutu olduğu bilinen ancak veri temsil büyük. Örneğin, coredosyalar bir işlemin sanal adres alanını temsil eder - ve bu adres alanı CPU'nun adresleyebileceği kadar büyüktür; gerçek RAM / takas boyutuna bağlı değildir. Böylece dosya, "64 bit" sistemde yaklaşık 2 48 ila 2 64 baytlık bir yerde olacaktır .

Bu nedenle, sanal dosya sistemlerinde disk kullanım yardımcı programları çalıştırırsanız, özellikle de gerçek disk kullanımını değil, "görünür" (seyrek) boyutu sayıyorlarsa, gerçekten garip sayılar elde etmeniz normaldir.


5

Hayır, bu yüzden değil. Seyrek dosyalar görünür dosya başlığı listelerinin, ancak çünkü belirli bir boyuta ihtiva çok daha az veri.


5
Ve seyrek dosyaları anlamayan bir yedekleme programıyla yedeklemeye çalıştığınızda inanılmaz şeyler olur. Bunu Xenix'te öğrendim.
Fiasco Labs

1

Bunun bir yolu , çok sayıda sıkıştırılmış dosyaya sahip olmaları ve sıkıştırılmadıklarında boyutlarını saymaları olabilir .

Açıkçası bu, bazı dosyalar diğerlerinden (örneğin metin dosyaları) daha fazla sıkıştırdığı ve diğerlerinin veri kaybetmeden daha fazla sıkıştırılamadığı (örneğin, jpg, mp3) olduğu için dosya türüne bağlı olacaktır, ancak teorik olarak bu, arkadaşınızın alıntıladığı sayıları verebilir.


2
Tabii, yaklaşık 20 TB depolama alanınız olsaydı.
Ignacio Vazquez-Abrams

@ IgnacioVazquez-Abrams - Bunun mümkün olduğunu söylemiyorum, sadece mümkün.
ChrisF

@ IgnacioVazquez-Abrams: Bu sadece on 2 TB'lık disk.
user1686

2
@grawity - metin dolu ...
ysap

@ysap SIKIŞTIRILAN metinle dolu.
SplinterReality
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.