Хороша файлова система для / tmp?


31

Я думаю про те, щоб мати / tmp на власному розділі ... що б це було гарною файловою системою для його форматування?

Причина, яку я запитую, полягає в тому, що дані, що зберігаються в / tmp, не є постійними, тому мені не потрібні журнали, фантазійний індекс чи що-небудь інше.

Відповіді:


27

Іноді я вважаю, що перехід /tmpна ram ( tmpfs) - найкраще рішення (особливо в моїх налаштуваннях, які використовують багато дискового IO - MySQL тощо), якщо у вас є достатня кількість оперативної пам’яті, щоб годувати його.


2
У мене є 2 Гб оперативної пам’яті, тому, мабуть, це не варіант.
Натан Осман

2
Насправді це повинно бути багато оперативної пам'яті. / TMP зазвичай не використовується , що багато з нормальним використанням вашої системи (незалежно , що є).
Джоші

3
tmpfs використовуватиме swap, якщо це потрібно - так що ваш простір підкачки може виконувати подвійний обов'язок як / tmp, не потрібно виділяти зайвий простір.
gbroiles

@George Наскільки великим ви б мали намір зробити свій / tmp розділ?
Марко Цеппі

1
@George - це досить великий розмір розділів для /tmp- на робочому столі я в кращому випадку використовую 12 Мб, хоча на моїх серверах /tmpможна отримати божевільний розум, коли клієнти роблять дурні речі в MySQL та мовах скриптів, які спричиняють /tmpнабагато більше. Блискуча річ з tmpfs - це не просто забирати 64 Мб оперативної пам’яті, це лише жорстка стеля. tmpfs буде масштабуватись у міру необхідності більше місця, тому ви лише споживаєте в tmpfs те, що потрібно на той час.
Марко Чеппі

25

Тут є кілька хороших варіантів:

  1. tmpfs : це файлова система, яка зберігає свої файли в оперативній пам'яті. Це не означає, що файлова система з'їсть всю вашу оперативну пам’ять. Натомість він бере лише ту суму, яка йому справді потрібна. Зазвичай потрібні лише деякі МБ. Якщо ви використовуєте його, додайте рядок типу: none /tmp tmpfs size=64M,mode=1777 0 0до свого /etc/fstab. Ви можете змінити sizeзначення, яке вам подобається. Якщо ви думаєте , в якій - то момент , що це занадто мало, ви можете використовувати , mountщоб збільшити розмір: mount -t tmpfs tmpfs /tmp -o size=128M,mode=1777,remount. Розмір буде збільшено на місці без видалення існуючих файлів.
  2. ext2 / 3 : Ви сказали у своєму запитанні, що вам не потрібні будь-які фантазійні функції. Однак я б радив використовувати журнал. Тому що якщо ви використовуєте ext2 і у вас досить великий /tmp, перевірка це займе певний час. чоботи ext3 швидше у багатьох випадках. Тому я б запропонував використовувати журнал.
  3. ext4 , reiserfs тощо: Деякі програми використовують /tmpдля зберігання великої кількості невеликих файлів. Тож у деяких випадках більше немає вільних блоків і файлова система повна. ext4, а також reiserfs зберігають файли по-іншому. Тож може бути хорошим вибором використовувати ті для себе /tmp.

Якщо ваш комп'ютер працює тривалий час, корисно видалити невикористані файли в /tmp. tmpreaperце одне рішення, яке робить це для вас.

Однак моїм першим вибором було б використання tmpfs.


Чи застосовується також перший варіант з / etc / fstab за допомогою systemd?
Smile4ever

1
@ Smile4ever Так /etc/fstab- це частина util-linux, тому він буде присутній у будь-якій системі Linux незалежно від того, яка система init використовується.
villapx

7

Якщо ви не хочете, щоб він їв оперативну пам'ять, я б просто запустив його як ext2 . Немає причин їсти невеликий показник ефективності ведення журналу для файлової системи, дані про яку ви не повинні (не повинні) дбати про перезавантаження.

Насправді, подряпини, що, мабуть, ти повинен використовувати ext4 і відключити його журнал, він повинен бути швидшим, ніж ext2. Відформатуйте його ext4 та вставте її за fstabдопомогою параметра кріплення data=writeback.


6

Використання tmpfsмає бути нормальним для ваших потреб, за умови, що у вас встановлена ​​відповідна оперативна пам'ять .

Це було сказано ... щось, що слід враховувати щодо використання ramdisk для /tmp(це взято з попередньої публікації в іншому місці ):

  • Чи повинен / tmp знаходитись на реальній області диска чи дозволено реалізувати його в основному на області SWAP (або tmpfs)?

Якщо він використовується дуже сильно, це спокуса - "ми помістимо / tmp у диск оперативної пам'яті, це прискорить доступ, і коли система перезавантажиться / вимкнеться, не можна нічого очищати". Однак, якщо ви думаєте реалізувати тимчасовий простір як диск оперативної пам'яті, який буде обмінятися, я б розглядав наслідки використання простору своп вашої системи іншими програмами. Якщо swap є формою "аварійного переповнення", коли система перебуває у важких напрямках і потребує цього, останнє, що вам потрібно, - це мати місце для заміни, яке споживається за допомогою швидкого заповнення / tmp, споживаючи пам'ять, викликаючи тиск на Підсистема VM для заміни на диск. Між активністю своп,seek()


5

Використання ext4 із певними параметрами кріплення має бути добре. Використовуйте наступні параметри кріплення:

barrier=0 : Significantly improves file write operations in some scenarios
noatime : Don't update file last access time, you don't need this on /tmp files and it should help with write operations performance.

додати також nodiratime
Weboide

noatime включає nodiratime
zvolkov

3

Я задоволений ext4. Ви можете грати з деякими варіантами монтажу, якщо ви хочете налаштувати його або використовувати tmpfs, якщо у вас багато оперативної пам’яті.


2

У відповідь на запитання про те, чому ви хочете отримати окремий / tmp-розділ, я впевнений, що є багато причин, як деякі з них вже заявляли, але одна, яку сьогодні я вважаю особливо актуальною, це те, що якщо ви працюєте / на SSD, ви хочете звести до мінімуму записи на цей диск, тому переміщення / tmp - це гарна ідея, оскільки це область файлової системи, яка має тенденцію сильно змінюватися.


0

Я думаю, що tmpfs може бути поганим варіантом, оскільки зазвичай / tmp - це всесвітній доступ для запису, тому кожен може заповнити його, і якщо він заповнить, він займе всю вашу пам’ять, і ваш сервер сповільнить повзати


Я думаю, що встановлення розумного максимального розміру для tmpfs та розміщення місця підкачки це впораються.
Олате
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.