Что устанавливает размер tmpfs? Что происходит, когда его полный?

20

Что устанавливает размер tmpfs? (На моей машине он находится /dev/shm) Я вижу его запись /etc/fstab, но нет обозначения его размера. При проверке df -h, кажется, это половина размера физической памяти, установленной в системе. Это поведение по умолчанию?

Кроме того, что произойдет, если он заполнится? Расширяется ли он динамически, заставляя другие запущенные программы swap? Имеет ли tmpfsсам по себе переходит в swapраздел?

Наконец, что занимает приоритет в памяти tmpfsили приложениях? то есть, если у меня tmpfsдостаточно полно (например, 40% физической памяти) и у меня есть программы, которым требуется 70% физической памяти, какая из них получает приоритет?

Bichoy
источник

Ответы:

18

Что устанавливает размер tmpfs? (На моей машине он находится в / dev / shm) Я могу видеть его запись в / etc / fstab, но нет обозначения его размера.

Документация ядра охватывает это под опциями монтирования:

size: предел выделенных байтов для этого экземпляра tmpfs. По умолчанию половина вашей физической памяти без подкачки. Если вы увеличите размер экземпляров tmpfs, машина будет заблокирована

(Акцент мой)

Кроме того, что произойдет, если он заполнится?

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

Наконец, что имеет приоритет в памяти tmpfs или приложений? то есть, если у меня достаточно tmpfs (например, 40% физической памяти) и у меня есть программы, которым требуется 70% физической памяти, какая из них получает приоритет?

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

Если вам нужно убедиться, что страницы всегда находятся в физической памяти, вы можете использовать ramfs, который похож, но имеет фиксированный размер и не меняет местами.

Bratchley
источник
Что произойдет, если 2 tmpfs установлены каждый на 60% оперативной памяти, общий размер будет 120%. Он заходит в тупик, как только оба tmpfs заполнены до 50%?
CMCDragonkai