다른 위치에서 파일 읽기


0

예를 들어 내 홈 폴더에 특정 파일 (data.abc)이 있습니다. 다른 위치 (예 : "/ mnt / ramtemp /")에 사본을 만듭니다.

모든 프로세스가 내 홈 폴더의 파일에 액세스 할 때마다 홈 폴더가 아니라 "/ mnt / ramtemp /"에서 파일을 읽기를 원합니다. 후자의 경로에서 짐작할 수 있듯이 램프를 마운트하는 곳입니다. 따라서 기본적으로 프로세스가 내 HDD의 파일 (더 느린)이 아니라 ramfs의 사본 (더 빠름)에 액세스하려고합니다. 동시에 data.abc 파일을 홈 폴더에 해당 이름으로 유지하고 싶습니다. 이름을 바꾸거나 삭제하고 싶지 않습니다. 홈 폴더에서 파일을 읽으려고 할 때마다 대체 위치에서 파일을 읽도록 프로세스를 리디렉션하도록 시스템을 안내 할 수있는 방법이 있습니까?


1
지금까지 무엇을 시도했는지 궁금하십니까? 프로세스가 홈 폴더에서 액세스하도록 잠겨 있습니까? 그렇다면 간단한 심볼릭 링크가 작동합니까?
sgtbeano

답변:


2

귀찮게하지 마십시오! 그것의 소금 (그리고 가장 확실하게 리눅스)의 가치가있는 모든 현대 OS는 이미 램 디스크를 만들지 않고도 설명하고있는 것을 정확하게 자동으로 수행합니다.

디스크에 대한 모든 액세스는 자동으로 메모리에 캐시되므로 파일에 대한 모든 후속 액세스가 디스크에서 디스크를 다시 읽을 필요가 없습니다. 그러나 메모리가 매우 부족한 경우 이를 중지 할 수 있습니다 .

실제로, 가상 메모리 서브 시스템은 그 소중한 메모리를 램 디스크보다 훨씬 더 효율적으로 사용할 수 있기 때문에 큰 램 디스크를 생성하는 것이 가장 느리게 작동하지 않을 가능성이 높습니다.


자동 캐싱은 종종 캐시에서 파일을 제거합니다. 특히 RAM을 많이 사용하고 HDD에서 다시 읽어야하는 경우에 특히 그렇습니다. 사용하는 RAM의 양과 다른 파일 및 사용 빈도에 관계없이 파일이 RAM에 남아 있는지 확인하고 싶습니다.
Highstaker

1
리눅스 캐싱 알고리즘은 생각보다 훨씬 똑똑합니다. 표준 Linux 캐싱과 램 디스크 캐싱을 사용하여 실제 장기 성능을 측정하면 전체적으로 손실 될 가능성이 높습니다. 예, 메모리가 실제로 부족하면 캐시에서 파일을 제거 할 수 있지만 램 디스크에 파일을 보관하면 전체 성능이 훨씬 느려질 수 있습니다.
mvp

그렇다면 캐싱 기술을 사용해야 할 것 같습니다. 필요한 파일에 액세스하여 시스템을 캐시에 남겨 두는 스크립트처럼
Highstaker
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.