나는 다음을 사용하여 하드 디스크 이미지를 여는 많은 KVM 가상 머신을 실행하고 있습니다.O_DIRECT
배너.
내가 아는 한, 매뉴얼 페이지에 따르면 using은 파일에 쓸 때 Linux 페이지 캐시를 우회하려고 시도 open()
하지만 이것이 블록 장치에도 적용됩니까? O_DIRECT
(예를 들어 하드 디스크 이미지가 LVM 볼륨 또는 ZFS zvol인 경우)
참고: 여기서 사용 사례 O_DIRECT
는 게스트가 이미 자체 페이지 캐시를 유지 관리하고 있으므로 이를 호스트에 복제할 필요가 없다는 것입니다.
답변1
대답은 '예'인 것 같습니다. O_DIRECT로 블록 장치를 열면 페이지 캐시도 우회됩니다. 나는 2009년에 그 답을 찾았다Linux 페이지 캐싱에 대한 블로그 게시물.
페이지 캐싱은 Linux의 O_DIRECT 또는 Windows의 NO_BUFFERING을 사용하여 우회할 수 있으며, 이는 종종 데이터베이스 소프트웨어에서 수행됩니다.