Где хранится информация о прокрутке терминала (как работает tmpfs)?
Пытаясь проверить что-то не связанное, я запустил бесконечный цикл на моем terminator
эмулятор терминала, который печатал много данных в STDOUT. Пройдя несколько минут, я заметил, что мой /tmp
раздел был полон.
$ df -h
Filesystem Size Used Avail Use% Mounted on
rootfs 68G 21G 44G 33% /
udev 10M 0 10M 0% /dev
tmpfs 800M 1.2M 799M 1% /run
/dev/disk/by-uuid/e29c6006c5c6 68G 21G 44G 33% /
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 3.2G 140K 3.2G 1% /run/shm
/dev/sda6 290G 204G 72G 75% /home
/dev/sda3 79G 51G 28G 65% /winblows
tmpfs 3.2G 3.2G 0G 100% /tmp
Тем не мение, du
показал каталог, чтобы быть пустым:
$ du -sch /tmp/
0 /tmp/
0 total
Бег rm -rf /tmp
не имеет никакого значения либо. Все это занятое пространство было освобождено, когда я закрыл терминал, который выполнял цикл, поэтому я предполагаю, что он был занят информацией прокрутки терминала.
Я знаю, что tmpfs - это хранилище, предназначенное для имитации файловой системы. Да, но
Как это работает? Является
/tmp
файл где-то (да, я знаю, что "все это файл"), я имею в виду, это "нормальный" файл, хранящийся где-то на жестком диске? Это часть моего раздела подкачки? Моей оперативной памяти? Если я правильно понимаю, это может быть либо в ОЗУ или SWAP в зависимости от текущего использования, но я не видел пиков в использовании ОЗУ или SWAP во время/tmp
был полон.Где / как хранится информация прокрутки с терминала? Так как в
/tmp
он не может быть сохранен в простом текстовом файле, поэтому, где он находится и почему он занимает место на/tmp
?
1 ответ
Я не особенно эксперт в tmpfs
и я никогда не слышал о твоих terminator
эмулятор терминала, но я могу обратиться к общему вопросу. Это старый трюк Unix: создать файл (обычно, но не обязательно, в /tmp
), а затем быстро удалить его. Пока вы держите его открытым, он продолжает существовать и находится в файловой системе (будь то диск, память, локальный или удаленный), и вы можете записывать в него и читать из него, как любой обычный файл1, до Вы закрываете это. Тогда это действительно удалено.
____________
1 За исключением того факта, что он не отображается ни в одном каталоге. Вы можете думать об этом как об обычном файле, который не имеет жестких ссылок на него.