무엇이 tmpfs의 크기를 설정합니까? 가득 차면 어떻게됩니까?


20

무엇의 크기를 설정 tmpfs합니까? (내 컴퓨터에서는에 있음 /dev/shm)에서 항목을 볼 수는 /etc/fstab있지만 크기 표기는 없습니다. 로 확인할 때 df -h시스템에 설치된 실제 메모리 크기의 절반 인 것 같습니다. 이것이 기본 동작입니까?

또한 가득 차면 어떻게됩니까? 실행중인 다른 프로그램을 동적으로 강제 확장합니까 swap? tmpfs자체가 swap파티션으로 이동 합니까 ?

마지막으로, 메모리 tmpfs나 응용 프로그램 에서 우선 순위는 무엇 입니까? 즉, tmpfs물리적 메모리의 40 %와 같이 충분히 꽉 차서 물리적 메모리의 70 %가 필요한 프로그램이있는 경우 어느 것이 우선권을 얻습니까?

답변:


18

무엇이 tmpfs의 크기를 설정합니까? (내 컴퓨터에서는 / dev / shm에 있습니다.) / etc / fstab에서 해당 항목을 볼 수는 있지만 크기 표기는 없습니다.

커널 문서는 마운트 옵션 아래에이 문제를 다룹니다

size :이 tmpfs 인스턴스에 할당 된 바이트 제한. 기본값은 스왑이없는 실제 RAM의 절반입니다. tmpfs 인스턴스의 크기를 초과하면 시스템이 교착 상태가됩니다

(엠파 시스 마인)

또한 가득 차면 어떻게됩니까?

위에서 언급했듯이 tmpfs에 너무 많은 것을 커밋하면 컴퓨터가 교착 상태가됩니다. 그렇지 않으면 (단지 하드 한계에 도달하면) 다른 파일 시스템과 마찬가지로 ENOSPC를 반환합니다.

마지막으로 메모리 tmpfs 또는 응용 프로그램에서 우선 순위는 무엇입니까? 즉, 실제 메모리의 40 %와 같이 tmpfs가 충분히 꽉 차고 실제 메모리의 70 %가 필요한 프로그램이있는 경우 어느 것이 우선권을 얻습니까?

프로그램 간의 경합과 비슷합니다. 가장 많이 사용 된 페이지는 실제 메모리에있는 반면 가장 적게 사용 된 페이지는 스왑 아웃되는 경향이 있습니다.

페이지가 항상 실제 메모리에 있는지 확인해야하는 경우 비슷한 크기이지만 고정 크기이며 스왑되지 않는 ramfs사용할 수 있습니다 .


2 개의 tmpfs가 각각 램의 60 %에 마운트되면 총 크기는 120 %가됩니다. 두 tmpfs가 모두 최대 50 % 채워지 자마자 교착 상태가 발생합니까?
CMCDragonkai
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.