>  기사  >  운영 및 유지보수  >  리눅스 tmpfs 란 무엇입니까?

리눅스 tmpfs 란 무엇입니까?

青灯夜游
青灯夜游원래의
2023-04-10 17:35:155076검색

Linux에서 tmpfs는 사용자의 메모리나 스왑 파티션을 사용하여 파일을 저장할 수 있는 메모리 기반 파일 시스템인 임시 파일 시스템을 의미합니다. tmpfs는 주로 임시 파일을 저장합니다. tmpfs 시스템의 장점: 1. 동적 파일 시스템 크기 2. 빠른 속도.

리눅스 tmpfs 란 무엇입니까?

이 튜토리얼의 운영 환경: linux7.3 시스템, Dell G3 컴퓨터.

Tmpfs란 무엇입니까

tmpfs(임시 파일 시스템)는 Linux/Unix 시스템의 메모리 기반 파일 시스템입니다. tmpfs는 메모리나 스왑 파티션을 사용하여 파일을 저장할 수 있습니다. tmpfs는 주로 임시 파일을 저장하는 것을 볼 수 있습니다.

Tmpfs는 가상 디스크 램디스크와 유사하지만 완전히 동일하지는 않습니다. tmpfs는 RAM을 사용할 수 있지만 저장을 위해 스왑 파티션을 사용할 수도 있으며 기존 램디스크는 블록 장치이므로 포맷해야 합니다. mkfs를 사용하면 실제로 사용할 수 있으며 tmpfs는 블록 장치가 아닌 파일 시스템이므로 설치하기만 하면 사용할 수 있습니다. tmpfs는 최고의 RAM 기반 파일 시스템입니다.

장점:

1. 동적 파일 시스템 크기.

2. tmpfs의 또 다른 주요 이점은 번개 속도입니다. 일반적인 tmpfs 파일 시스템은 전적으로 RAM에 상주하므로 읽기 및 쓰기가 거의 즉각적으로 이루어질 수 있습니다. 동시에 가상 메모리는 본질적으로 휘발성이기 때문에 재부팅 후에도 tmpfs 데이터가 유지되지 않는다는 단점도 있습니다. 따라서 로드 및 바인딩과 같은 작업을 수행하려면 일부 스크립트를 만들어야 합니다.

참고: tmpfs에는 지속성이 없으므로 다시 시작한 후에는 데이터가 유지되지 않으므로 주의하세요.

일상 업무에서 리눅스 서버의 디스크 마운트 상태를 확인해야 하는 경우가 종종 있는데, df 명령을 사용하면 시스템 디스크와 데이터만 확인하는 것이 아니라는 사실을 눈치채셨는지 궁금합니다. 디스크 마운트 상태뿐만 아니라 시스템 디스크 및 데이터 디스크 마운트 상태도 확인합니다. tmpfs도 마운트되어 있습니다.

[root@test ~]# df -hT
 
Filesystem     Type   Size  Used Avail Use% Mounted on
 
/dev/vda1      ext4    40G  1.1G   37G   3% /
 
tmpfs          tmpfs  499M     0  499M   0% /dev/shm

동시에 이 tmpfs의 크기가 499M로 메모리의 절반 정도 되는 것을 알 수 있습니다.

[root@test~]# free -m
 
             total       used       free     shared    buffers     cached
 
Mem:           996        124        872          0          7         57
 
-/+ buffers/cache:         59        936
 
Swap:            0          0          0Swap:      2064376          0    2064376

df를 보면 tmpfs가 /dev/ 아래의 shm 디렉터리에 마운트되어 있는 것을 알 수 있습니다. tmpfs란 실제로 메모리에 상주하는 임시 파일 시스템이므로 /dev/shm/ 디렉터리는 하드에 없습니다. 디스크에 있지만 메모리에 있습니다. 메모리에 있기 때문에 읽고 쓰는 속도가 매우 빠르고, 높은 접근 속도를 제공할 수 있습니다. Linux에서는 tmpfs의 기본 최대 크기가 메모리의 절반입니다. 방금 df -h 명령을 사용하여 확인했지만, df를 사용하지 않으면 마운트된 메모리 크기의 값이 실제로 점유되지 않습니다. 실제로는 tmpfs에서만 사용됩니다. 데이터가 저장될 때만 사용됩니다. 예를 들어 tmpfs 크기가 499M이라면 10M을 사용하면 실제로 메모리에서 10M이 사용되고 나머지 489M은 서버의 다른 프로그램에서 계속 사용할 수 있습니다. 그러나 데이터가 메모리에 있기 때문에 정전이 되면 파일은 손실되며, 메모리에 있는 데이터는 하드디스크의 데이터처럼 영구적으로 저장되지 않습니다. tmpfs의 특성을 이해하면 서버 성능을 향상하고 높은 읽기 및 쓰기 성능이 필요한 일부 데이터를 저장할 수 있지만 액세스 속도를 향상시키기 위해 /dev/shm에서 데이터가 손실될 수 있습니다.

Tmpfs resizing

때때로 애플리케이션이 Tmpfs를 사용할 때 배포 중에 애플리케이션이 차지하는 메모리가 충분히 평가되지 않으면 Tmpfs가 가득 찰 가능성이 있으므로 이때 크기를 조정해야 합니다. 물론 조정된 크기는 시스템의 메모리 크기보다 클 수 없습니다. 그렇지 않으면 시스템을 변경하거나 애플리케이션을 최적화해야 합니다.

[root@test]# mount -o remount,size=777M tmpfs /dev/shm
 
[root@test]# df -hT
 
Filesystem     Type   Size  Used Avail Use% Mounted on
 
/dev/vda1      ext4    40G  1.1G   37G   3% /
 
tmpfs          tmpfs  777M     0  777M   0% /dev/shm

이 수정은 임시 수정으로 다시 시작하면 정상으로 돌아가 메모리 크기가 절반으로 돌아갑니다.

영구수정이 가능합니다

vim  /etc/fstab 
 
把tmpfs这一行改为:
 
tmpfs                   /dev/shm                tmpfs   defaults,size=777M     0 0

이렇게 설정한 후 재부팅하면 자동으로 777M 크기로 마운트되어 영구적으로 적용됩니다.

실용적인 응용 프로그램:

마지막으로 tmpfs의 다양한 용도에 대해 이야기하겠습니다. Linux에서는 일부 프로그램의 임시 파일을 tmpfs에 배치할 수 있으며 이를 활용하여 시스템을 개선할 수 있습니다. tmpfs가 하드 디스크 성능보다 빠르다는 사실입니다. 예를 들어 Squid 프로그램의 캐시 파일을 저장하는 데 사용할 수 있습니다. 물론 다른 용도도 있습니다. tmpfs의 마운트 지점을 일반 디스크로 사용할 수 있으므로 nfs의 공유 디렉터리로도 사용할 수 있다고 생각해야 합니다. 하지만 nfsd 공유를 위해 tmpfs를 사용할 때는 네트워크 카드 속도나 tmpfs 읽기 및 쓰기 속도가 병목 현상인지 고려해야 합니다. 네트워크 카드 속도가 병목 현상이라면 그냥 nfs를 사용하여 일반 디스크 디렉터리를 생성하세요. 다시 시작하면 tmpfs가 손실되므로 nfs용 tmpfs를 사용하기 전에 먼저 디스크에서 복사하거나 다른 서버의 rsync를 tmpfs로 사용해야 합니다. 파일을 업데이트할 때 먼저 디스크의 파일을 업데이트하거나 rsync 소스를 업데이트하세요. 그런 다음 프로그램을 디스크에서 tmpfs로 동기화하거나 1분마다 rsync하도록 예약된 프로세스를 설정합니다.

tmpfs의 다른 응용 프로그램 이 글이 모든 사람이 tmpfs를 사용하는 데 도움이 되기를 바랍니다. 또한, 다시 시작하면 데이터가 손실된다는 점에 유의하시기 바랍니다!

관련 추천: "Linux 비디오 튜토리얼"

위 내용은 리눅스 tmpfs 란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.