tmpfs에 대해 읽은 모든 제한 사항에 부딪히는 문제에 직면했습니다. 가능한 해결책에 대한 누군가의 의견을 듣고 매우 기쁠 것입니다.
실행 시 큰 파일을 생성하는 응용 프로그램이 있습니다. 이 파일은 몇 기가바이트까지 커질 수 있습니다.
프로그램 실행 중에 이 파일에 대한 I/O 작업은 매우 집약적이며 모든 파이프라인은 실행 중인 애플리케이션의 성능에 상당한 영향을 미칩니다.
작업 속도를 높이기 위해 tmpfs를 만들었고 제대로 작동하고 성능이 크게 향상되었습니다. 그러나 tmpfs의 물리적 RAM 사용량이 부족하면(~50%) 애플리케이션이 충돌합니다. 이것은 놀라운 일이 아닙니다.
애플리케이션에서 생성된 데이터는 데이터를 생성한 프로세스가 완료된 경우에만 필요합니다. 그래서 나에게 필요한 것은 애플리케이션의 데이터로 채워지는 RAM 기반 파일 시스템입니다. 이 RAM 기반 파일 시스템이 가득 차면 RAM 기반 tmpfs의 전체 내용을 물리적 디스크에 푸시하여 RAM을 완전히 비운 다음 애플리케이션에서 데이터를 계속 받아 RAM을 다시 채웁니다. 이는 애플리케이션이 실행되는 대부분의 시간 동안 I/O 파이프라인 대기 시간을 최소로 유지합니다.
프로세스가 완료되면 부분적으로는 디스크에, 부분적으로는 RAM에 존재하는 하나의 큰 파일을 찾을 것으로 예상됩니다.
어떤 아이디어가 있나요?