FILE_FLAG_NO_BUFFERING 플래그없이 CreateFile 함수를 호출하면 운영 체제의 내부 버퍼 크기는 얼마입니까?Windows에서 CreateFile의 기본 버퍼 크기는 얼마입니까?
내 버퍼 크기가 Windows의 내부 버퍼보다 큰 경우 디스크의 처리량을 완전히 사용할 수 있습니까?
FILE_FLAG_NO_BUFFERING 플래그없이 CreateFile 함수를 호출하면 운영 체제의 내부 버퍼 크기는 얼마입니까?Windows에서 CreateFile의 기본 버퍼 크기는 얼마입니까?
내 버퍼 크기가 Windows의 내부 버퍼보다 큰 경우 디스크의 처리량을 완전히 사용할 수 있습니까?
사용 가능한 RAM의 양에 따라 Windows 버전과 Windows 버전에 따라 다를 수 있습니다. 특정 용도에 의존하는 대신 응용 프로그램에 적합한 버퍼 크기로 읽기 및 쓰기 작업을 수행해야합니다.
얼마나 많은 RAM을 가지고 있고 컴퓨터가 구성되어 있는지에 따라 다릅니다. 서버는 일반적으로 권한 시스템 캐시에 구성됩니다. 당신은 캐시 크기를 변경하는 데 사용할 수 있습니다
[HKEY_LOCAL_MACHINE \System \CurrentControlSet \Control \Session Manager \Memory Management] LargeSystemCache
SetSystemFileCacheSize function
키 다음 레지스트리를 변경하여 그것을 변경할 수 있습니다. 그러나, 내가 아는 바에 따르면, 작업 집합 크기를 설정하는 것은 하드 제한보다 운영 체제에 대한 힌트 일뿐입니다.두 번째 질문에 관해서, 나는 당신이 무엇을 의미하는지 정확히 모르겠습니다. 버퍼의 크기가 처리량에 어떤 영향을 미치는지는 모르겠지만 내가 틀렸다면 누군가가 나를 교정 할 것이라고 확신합니다.
버퍼링을 사용하지 않는 경우 실제로 읽거나 쓰도록 한 버퍼 이외의 I/O 버퍼가 없습니다.
이 경우 시스템 캐시가 무시됩니다. 따라서 시스템 캐시는 무시됩니다.이 때문에 사용자는 정렬 및 크기에주의해야합니다 (MSDN 참조). 입출력.
Windows에서 드라이브의 속성을 확인하고 탭 "정책"을 확인하면 버퍼링을 지정하지 않아도 쓰기 작업 속도를 높이기 위해 Windows가 컨트롤러에 지시 한 내용을 버퍼에 지시 할 수 있음을 알 수 있습니다 ..... – ROAR
아, 맞아요. 그런 다음 안정도 때문에 버퍼가있을 수 있습니다. 데이터를 캐싱하는 OS에 더 이상 버퍼가 없다는 의미였습니다. – jrtipton