Понять размер tmpfs - PullRequest
       35

Понять размер tmpfs

0 голосов
/ 21 февраля 2019

Мне нужно использовать tmpfs на Linux.У меня есть несколько файлов для воспроизведения, я знаю, сколько у меня файлов, и я знаю размер каждого файла.Как я могу определить размер моих tmpfs?

Я использую программу монтирования: mount -t tmpfs -o size=?? name_tmpfs /mnt/mountpoint_tmpfs

Я пытаюсь понять, какое значение использовать для размера.Я сделал тест, создав tmpfs размером 4096 байт (размер страницы), я создал в нем файл, но если я хочу его заполнить (всего одним байтом в каждом примере), у меня возникает «ошибка записи в swap» ...Я не понимаю, какой размер мне нужен для хранения 1-байтового файла, поэтому для моих «рабочих файлов» я полностью потерян!

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

Спасибо, что прочитали:)

1 Ответ

0 голосов
/ 21 февраля 2019

Файловая система содержит данные и метаданные.Метаданные обычно имеют фиксированный размер и выделяются при создании fs (опция монтирования nr_inodes tmpfs).Данные также занимают фрагменты фиксированного размера, независимо от фактического размера файла.Чтобы увидеть фактическое использование данных, du -s отлично поработает:

root@localhost:/run/shm# echo > x; du -sh x
4.0K    x

Как вы можете видеть, в моем ядре tmpfs использует 4096 байт для хранения файлов, поэтому размер каждого файла будетокругляется до 4096 или умножается на него.Я создал tmpfs размером 4 КБ и смог создать один файл размером 1 байт, но не более того, что ожидается.Я также смог создать 960 тыс. Пустых файлов, что является пределом inode по умолчанию для tmpfs в моей системе, доказывая, что хранилище данных и метаданные разделены.

...