Fadvise가 존재할 때 램디스크의 목적은 무엇입니까?

Fadvise가 존재할 때 램디스크의 목적은 무엇입니까?

내 이해는fadvise표시된 파일이 파일 시스템 캐시(RAM)에 저장되어야 함을 시스템에 알립니다.

fadvise --willneed디렉토리 만 사용할 수 있는데 램디스크에 디렉토리를 마운트하는 목적은 무엇입니까 ?

답변1

읽어보자기본 라이브러리 호출에 대한 매뉴얼 페이지:

프로그램은 posix_fadvise()를 사용하여 향후 특정 패턴으로 파일 데이터에 액세스하려는 의도를 알리고 이를 통해 커널이 적절한 최적화를 수행할 수 있습니다.

그만큼조언다음에서 시작하는 (반드시 존재할 필요는 없는) 지역에 적용됩니다.오프셋그리고 확장바이트(또는 파일의 끝까지0)이 참조하는 파일 내에서fd.그만큼조언구속력이 없습니다. 이는 단지 애플리케이션에 대한 기대를 구성할 뿐입니다.

(강조가 추가되었습니다.)

RAM 디스크의 모든 내용은 설계상 RAM에 있도록 보장됩니다(tmpfs는 교체 가능). 그러나 fadvise는 단지 권고일 뿐입니다. 커널은 데이터를 RAM에 미리 로드할 필요도 없고 항상 RAM에 보관할 필요도 없습니다.

관련 정보