Наскільки мені відомо, ви не можете контролювати, які частини віртуальної системи пам'яті (тобто RAM або swap) використовуються для tmpfs.
Тим не менш, це неправда, що створення великих tmpfs буде викликати OOM фатальні помилки. Ви можете створити tmpfs більше, ніж ваш загальний обсяг оперативної пам'яті + SWAP, тому що нічого з нього фактично не використовується, поки ви не помістите файли в tmpfs.
Коли ти робити покладіть файли в tmpfs, які будуть використовувати пам'ять, але тільки ті файли, які ви вклали в tmpfs. Якщо ви довго не торкаєтеся цих файлів і система потребує більше оперативної пам'яті, ніж потрібно, щоб зберегти їх в буферному кеші, ці файли будуть фактично підмінені заміною замість RAM.
Коли ваші вимоги до tmpfs стають більшою частиною оперативної пам'яті, це вплине на ваш буферний кеш (речі перестануть кешуватися в оперативній пам'яті, оскільки це потрібно для файлів tmpfs). Оскільки попит зростає, то він почне входити в обмін. Зрештою, коли у вас немає буферного кешу, використовується ваш підкачка і ще більше запитів на пам'ять, потім і тільки тоді ви почнете отримувати помилки OOM.
Отже, насправді безпечно вказати великий tmpfs для /tmp
до тих пір, поки у вас є пристойний обмін. Ви говорите, що ви будете добре з цим, використовуючи 25% оперативної пам'яті та 75% своп. У цьому випадку скажіть, що ви звичайно маєте 1G оперативної пам'яті та 2G підкачки. Я б встановив tmpfs, щоб бути 1G і поштовх підкачки трохи, скажімо в 3G.
Якщо ваша система знаходиться під тиском пам'яті, перше, що відбудеться, це те, що нечасто використовуються файли /tmp
замість RAM буде підкріплено swap. Ви не втрачаєте всю свою оперативну пам'ять, роблячи tmpfs такого ж розміру, як RAM.
/tmp
, Але деякі дивні програми, як UNetBootin наполягає на завантаженні ISO образи в / TMP ... я woud не заперечую, що завантаження цих файлів, щоб помінятися на рідкісних випадках я використовую його ... але я не заперечував би залишити мої tmpfs бути в змозі З'їжте все своє барана весь час. і ось щоsize=4g
зробив би