Почему папки 'proc' и 'sys' имеют размер более 100 ТБ? [закрыто]

10

Кто-то из моих знакомых только что сделал следующее заявление:

«У меня в системе 140,7 ТБ файлов»

Кто-то сказал что-то вроде "как?" и ответ был:

"Виртуальная память, у Ubuntu есть свои причуды. /proc/coreФайл"

Я не очень разбираюсь в Linux и удивляюсь, может ли кто-нибудь объяснить, о чем все вышеизложенное. Я не понимаю, как у кого-нибудь может быть что-то на 140,7 ТБ, если только у них нет очень большого количества жестких дисков.

jza
источник
3
То, что кажется файлом, не обязательно является файлом на жестком диске. И логический размер файлов не всегда совпадает с их физическим размером (т. Е. Требуется хранилище).
Даниэль Бек
У меня также есть этот файл 140,7 ТБ. Размер байта составляет 140737477881856. Интересно, что означает это число.
neverMind9
Это число около 2 ^ 47, что составляет 140.737.488.355.328.
neverMind9

Ответы:

14

Эти места принадлежат виртуальным файловым системам. Все, что вы видите - папки, файлы, их содержимое - создается на месте, когда вы пытаетесь получить к нему доступ. Фактический размер даже не известно до тех пор , после того, как вы читаете файл (и часто не может быть кэшируются как разные читатели могут хорошо видеть различное содержание).

Сами файловые системы вообще ничего не занимают; они просто взгляды в ядро.

Иногда размер будет известен , но данные , которые он представляет массивно. Например, coreфайлы представляют виртуальное адресное пространство процесса - и это адресное пространство настолько велико, насколько может адресовать процессор; это не связано с реальным размером ОЗУ / подкачки. Таким образом, файл в 64-битной системе будет где-то в диапазоне от 2 48 до 2 64 байт.

Поэтому вполне нормально, что вы получите действительно странные числа, если вы запустите утилиты использования дисков в виртуальных файловых системах, особенно если они учитывают «кажущийся» (разреженный) размер, а не фактическое использование диска.

user1686
источник
5

Нет, это не то, почему. Разреженные файлы появляются определенного размера , так как списки заголовков файлов, но они содержат гораздо меньше данных.

Игнасио Васкес-Абрамс
источник
5
И удивительные вещи случаются, когда вы пытаетесь выполнить резервное копирование разреженных файлов с помощью программы резервного копирования, которая их не понимает. Узнал, что на Xenix.
Fiasco Labs
1

Одним из способов может быть то, что они имеют большое количество сжатых файлов и рассчитывают размер, который они будут иметь в несжатом виде .

Очевидно, это будет зависеть от типа файла, так как некоторые файлы сжимаются дальше, чем другие (например, текстовые файлы), а другие не могут быть сжаты дальше (например, jpg, mp3) без потери данных, но теоретически это может дать числа, которые цитирует ваш друг.

ChrisF
источник
2
Конечно, если у вас было около 20 ТБ памяти.
Игнасио Васкес-Абрамс
@ IgnacioVazquez-Abrams - я не говорю, что это возможно, просто возможно.
ChrisF
@ IgnacioVazquez-Abrams: это всего десять дисков по 2 ТБ.
user1686
2
@ Grawity - полный текст ...
ysap
@ysap полный сжатый текст.
SplinterReality