/ tmp에 적합한 파일 시스템?


31

자체 파티션에 / tmp를 가지고 있다고 생각하고 있습니다 ... 포맷하기에 좋은 파일 시스템은 무엇입니까?

내가 묻는 이유는 / tmp에 저장된 데이터가 영구적이지 않기 때문에 저널링, 멋진 색인 또는 기타가 필요하지 않기 때문입니다.

답변:


27

/tmp램 ( tmpfs)으로 옮기는 것이 가장 좋은 해결책이라는 것을 알게됩니다.


2
2GB의 RAM이 있으므로 아마도 옵션이 아닙니다.
Nathan Osman

2
실제로 이것은 많은 RAM이어야합니다. / tmp는 일반적으로 시스템을 정상적으로 사용 하는 데 그다지 많이 사용되지 않습니다 (무엇이든).
joschi

3
tmpfs는 필요한 경우 스왑을 사용하므로 스왑 공간은 / tmp로 이중 작업을 수행 할 수 있으므로 추가 공간을 할당 할 필요가 없습니다.
gbroiles

@George / tmp 파티션을 얼마나 크게 만드시겠습니까?
Marco Ceppi

1
@George는 충분히 큰 파티션 크기입니다 /tmp-데스크탑에서는 12MB를 가장 잘 사용하지만 /tmp고객이 MySQL과 스크립팅 언어로 어리석은 일을하면 서버 가 /tmp크게 커질 수 있지만 더 커집니다. tmpfs의 훌륭한 점은 64MB의 램을 가져 오지 않고 딱딱한 천장이라는 것입니다. tmpfs는 더 많은 공간이 필요함에 따라 확장되므로 해당 시점에 필요한 것을 tmpfs에서만 사용하십시오.
Marco Ceppi

25

여기에는 몇 가지 좋은 선택이 있습니다.

  1. tmpfs : 파일을 RAM에 저장하는 파일 시스템입니다. 그렇다고 파일 시스템이 모든 RAM을 사용한다는 의미는 아닙니다. 대신 실제로 필요한 양만 사용합니다. 일반적으로 일부 MB 만 필요합니다. 사용하려면에 다음과 같은 줄을 추가 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이므로 사용중인 init 시스템에 관계없이 모든 Linux 시스템에 표시됩니다.
villapx

7

RAM을 먹지 않으려면 ext2로 실행하십시오 . 재부팅 할 때 데이터를 신경 쓰지 않아야하는 파일 시스템에 대해 적은 성능의 저널링을 먹일 이유가 없습니다.

실제로, 당신은 아마 ext4를 사용하고 저널을 비활성화해야한다는 것을 긁습니다 .ext2보다 빠릅니다. ext4로 포맷 fstab하고 마운트 옵션으로 고정하십시오 data=writeback.


6

사용하여 tmpfs, 사용자의 요구에 잘되어야 당신이 충분한 RAM이 설치되어 있는지 제공 .

그것은 ... 램 디스크 사용과 관련하여 고려해야 할 사항입니다 /tmp(이것은 다른 곳오래된 게시물 에서 가져온 것입니다 ).

  • / tmp가 실제 디스크 영역에 있어야합니까 아니면 기본적으로 SWAP 영역 (또는 tmpfs)에 구현되어야합니까?

많이 사용되면 이것은 유혹입니다. "/ tmp를 RAM 디스크에 넣고 액세스 속도를 높이고 시스템을 재부팅 / 종료하면 정리할 것이 없습니다." 그러나 임시 공간을 스왑 될 RAM 디스크로 구현하려는 경우 다른 프로그램에 의한 시스템 스왑 공간 사용의 결과를 고려할 것입니다. 스왑이 "긴급 오버플로"의 형태로 시스템이 똑바로 있고 필요할 때 필요한 경우, 가장 필요한 것은 / 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가 나쁜 옵션이라고 생각합니다.이를 채우면 메모리가 모두 소모되고 서버의 크롤링 속도가 느려집니다


나는 tmpfs에 대해 합리적인 최대 크기를 설정하고 스왑 공간이 있으면 그것을 처리 할 것이라고 생각합니다.
Olathe
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.