디렉토리에 /run/shm
(이전 /dev/shm
) 디렉토리를 만들어서 임시 디렉토리처럼 사용하는 것이 좋은 습관 입니까?
배경 : 파일과 디렉토리로 많은 일을하는 프로그램에 대한 블랙 박스 테스트를 작성하고 있습니다. 모든 테스트에 대해 많은 파일과 디렉토리를 작성한 다음 프로그램을 실행 한 다음 예상되는 파일과 디렉토리 세트를 작성한 후 diff를 실행하여 비교하십시오. 나는 지금 약 40 테스트를 가지고 있으며 그들은 이미 실행하는 데 2 초 이상이 걸렸습니다. 속도를 높이기 위해 일종의 램 디스크 디렉토리에서 테스트를 실행하고 싶습니다.
램 디스크에 대한 연구에서 나는 디렉토리를 만들고 임시 디렉토리처럼 사용하는 것이 좋다는 대답 으로 질문에 걸려 넘어 졌습니다 /dev/shm
. 그러나 좀 더 연구 하면 데비안 의 위키 페이지 를 우연히 발견하여 /dev/shm
직접 사용하는 것이 오류라고 주장했습니다 . shm_*
기능을 사용해야합니다 . 불행히도이 shm_*
기능은 쉘 스크립트에서 사용할 수없는 것 같습니다.
이제 혼란 스러워요. 임시 디렉토리처럼 /run/shm
(이전 /dev/shm
) 사용 하는 것이 좋습니까?
/tmp
더 의미 론적 이라고 상상할 것이다 . 사용자가 /dev/shm
임시 파일을 사용하여 작업 속도를 높이는 데 충분한 램을 가지고 있다면 거기에 마운트합니다. 그러나 램이 충분하지 않고 마운트하면 모든 프로세스가 스왑 파일을 사용하도록 강제하여 컴퓨터 속도가 느려지면 더 중요한 것을 위해 램을 저장하고 /tmp
파일 시스템에 일반 디스크 공간을 사용합니다 . 즉, /tmp
더 조정 가능합니다.
/tmp
가 공유 메모리에 마운트 합니다.