RAM 디스크 관련 문제

RAM 디스크 관련 문제

해당 블록에서만 작동할 수 있도록 메모리 블록을 할당해야 하는 커널 하위 시스템이 개발되었습니다. 이 메모리는 물리적으로 연속되어 있어야 하며 블록 장치처럼 액세스되어야 합니다(/dev/..를 의미합니다).

어떤 제안이 있나요?
RAM 디스크와 부팅 시 메모리 예약 중에서 무엇을 권장하시나요?

답변1

아마 아무것도 만들지 말아야 할 것입니다.메모리디스크(즉, tmpfs사용되지 않음 ramfs), 참조이것. Linux는 당신보다 RAM을 더 잘 관리할 수 있습니다.페이지 캐시매우 좋음(아마도 필요하지 않을 수도 있음)만들다"RAM" 디스크라면 tmpfs마운트된 디스크를 사용 /tmp하고 거기에 파일을 넣으세요. 파일 시스템에 있는 모든 파일도 마찬가지입니다. RAM이 많으면 데이터는 일반적으로 페이지 캐시에 유지되며 실제 디스크 IO는 관련되지 않습니다. 하지만 보세요동기화(2). 바라보다Linuxatemyram그리고내 대답당신을 위한이전 (혼란스러운) 질문.

Linux에서는 "특정 프로세스에 RAM 디스크 할당"이 불가능합니다. 사용 사례를 설명해야 합니다. RAM 디스크는 일반적으로 tmpfs 파일 시스템(또는 더 이상 사용되지 않는 ramfs 파일 시스템)이므로 단일 프로세스가 아닌 파일 시스템에 할당합니다.

아마도 Linux를 사용하여 대부분의 다른 프로세스를 조절할 수 있습니다. 예를 들어, ulimit쉘 내장 명령을 사용하십시오(기준:제한 설정(2)시스템 호출)

이 RAM 디스크가 위 프로세스에서만 사용되고 해당 데이터가 다른 프로세스에 의해 변경되지 않는다는 것을 어떻게 확신할 수 있습니까?

커널은 tmpfs파일 시스템을 보장해야 합니다(다른 파일 시스템이 보장되는 것처럼).파일 시스템). 해당 파일 시스템의 파일에 액세스하는 프로세스만 해당 파일 시스템의 데이터를 변경할 수 있습니다.

지원하려는 특정 프로세스에 대한 프로그램 코드를 변경할 수 있는 경우 다음을 사용하십시오.시계 잠금(2).

당신은 또한 볼 수 있습니다이온(1)&나쁘지 않아요(1)

RAM 디스크를 만들지 않으면 Linux 시스템이 명시적 RAM 디스크를 사용하는 것보다 더 나은 성능을 발휘할 것이라고 생각합니다(또는 그렇게 하도록 구성할 수 있음).

정확한 명령과 문제를 처리하는 일부 코드를 표시하지 않으면 도움을 받을 수 없습니다.

관련 정보