![tmpfs의 크기는 어떻게 결정됩니까? 가득 차면 어떻게 되나요?](https://linux55.com/image/65607/tmpfs%EC%9D%98%20%ED%81%AC%EA%B8%B0%EB%8A%94%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EA%B2%B0%EC%A0%95%EB%90%A9%EB%8B%88%EA%B9%8C%3F%20%EA%B0%80%EB%93%9D%20%EC%B0%A8%EB%A9%B4%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EB%90%98%EB%82%98%EC%9A%94%3F.png)
의 크기를 결정하는 것은 무엇입니까 tmpfs
? (내 컴퓨터에서는 에 있습니다 /dev/shm
.) 에서 해당 항목을 볼 수 있지만 /etc/fstab
크기에 대한 기호는 없습니다. 를 사용하여 확인하면 df -h
시스템에 설치된 실제 메모리 크기의 절반으로 나타납니다. 이것이 기본 동작입니까?
게다가 가득 차면 어쩌지? 동적으로 확장되어 다른 실행 중인 프로그램을 에서 강제로 확장합니까 swap
? 파티션 자체 tmpfs
로 이동됩니까 ?swap
마지막으로 tmpfs
메모리 또는 애플리케이션 우선순위는 무엇입니까? 즉, 내 메모리가 tmpfs
충분히 가득 차고(예: 물리적 메모리의 40%) 프로그램에 물리적 메모리의 70%가 필요한 경우 어떤 프로그램이 우선순위를 갖나요?
답변1
tmpfs의 크기는 어떻게 결정됩니까? (내 컴퓨터에서는 /dev/shm에 있습니다.) /etc/fstab에서 해당 항목을 볼 수 있지만 크기에 대한 기호는 없습니다.
이것커널 문서이 내용은 설치 옵션에서 다룹니다.
size: 이 tmpfs 인스턴스에 할당된 바이트 수에 대한 제한입니다.기본값은 물리적 RAM의 절반이며 스왑이 없습니다.tmpfs 인스턴스가 너무 크면 머신이 교착 상태에 빠집니다.
(강조는 내 것)
게다가 가득 차면 어쩌지?
위에서 언급했듯이 tmpfs에 너무 많은 것을 넣으면 시스템이 교착 상태에 빠지게 됩니다. 그렇지 않으면(하드 한계에 도달한 경우) 다른 파일 시스템과 마찬가지로 ENOSPC를 반환합니다.
마지막으로, 메모리 tmpfs나 애플리케이션보다 우선하는 것은 무엇입니까? 즉, 내 tmpfs가 충분히 가득 차 있고(예: 물리적 메모리의 40%) 내 프로그램에 물리적 메모리의 70%가 필요한 경우 어느 것이 우선순위를 갖습니까?
이는 프로그램 간의 경쟁과 유사합니다. 가장 일반적으로 사용되는 페이지는 물리적 메모리에 있는 경향이 있는 반면, 가장 적게 사용되는 페이지는 교체되는 경향이 있습니다.
페이지가 항상 물리적 메모리에 있는지 확인해야 하는 경우당신은 ramfs를 사용할 수 있습니다이는 유사하지만 크기 제한을 적용하지 않으며 교환하지 않습니다.