읽기/쓰기 집약적인 프로세스를 수행하기에 충분한 RAM(추가 200GB)과 SSD가 거의 충분한 이상한 상황에 처해 있습니다. "시스템님께, RAM과 SSD가 결합된 임시 가상 드라이브를 생성하여 SSD가 지원하는 특정 읽기/쓰기 작업이 조금 더 빨라지고 다른 작업은 "정말 빠르게 실행될 수 있도록 해주세요"라고 말할 수 있는 방법이 있습니까? RAM 지원"?
답변1
네, 하지만 실제로는 아닙니다.
가상 디스크는 RAM에 생성될 수 있지만 다른 디스크와 다르게 처리됩니다. 특히 여기에는 장치 노드가 없으므로 /dev
"LVM" 또는 "mdadm"(두 개의 서로 다른 디스크를 하나의 큰 가상 디스크로 결합하는 데 사용됨)과 같은 기능에 표시되지 않습니다.
요구 사항을 충족하는 한 가지 방법은 SSD를 스왑 공간으로 전환한 다음 대용량 RAM 디스크를 만드는 것입니다. 하지만 RAM 디스크이기 때문에 SSD에서 직접 데이터를 읽을 수는 없습니다. 각 블록은 프로그램이 액세스를 시도할 때 자동으로 RAM에 복사되며, 실행 중인 프로세스의 정확한 특성에 따라 스래싱으로 인해 달성하려는 성능 향상이 무산될 가능성이 높습니다.
이 일을 완수해야 한다는 강박감과 결심이 든다면 다음 단계를 따르십시오. (참고 1: SSD는 이라고 가정합니다 /dev/sdb
. 이를 SSD 드라이브의 실제 이름으로 바꾸십시오. 참고 2: 이렇게 하면 SSD가 지워집니다. 시작하기 전에 모든 중요한 데이터의 사본이 있는지 확인하십시오. 참고 3: 우리는 시스템을 지울 수 있는 도구를 사용할 때 루트 권한을 사용하므로 매우 주의하고 사소한 문제라도 있으면 즉시 중지하십시오.
- 교체를 위해 SSD를 포맷하세요:
sudo mkswap /dev/sdb
. - (선택 사항이지만 권장됨)
swapon -s
현재 활성화된 모든 스왑 영역 목록을 가져오고sudo swapoff [device]
이를 닫는 데 사용됩니다. - SSD 교체 활성화:
sudo swapon /dev/sdb
. - RAM 디스크를 마운트할 디렉터리를 만듭니다.
mkdir /tmp/ramdisk
- 실제 RAM 디스크 생성 및 마운트: ( 스왑이 사용되지 않으므로 이를 사용해야
sudo mount -t tmpfs -o size=[size] myramdisk /tmp/ramdisk
합니다 .)tmpfs
ramfs
그게 다야. 이제 작성한 모든 내용은 /tmp/ramdisk
RAM에 저장되고, RAM에 비해 너무 큰 내용은 SSD로 교체됩니다. 완료되면 간단한 재부팅만으로 수행한 모든 작업(SSD 포맷 제외)이 취소됩니다.