RAM 디스크는 어떻게 만듭니 까?


55

램으로 만들어진 파티션을 만들고 싶습니다 ...

Windows 7에서는 램으로 만든 파티션을 만들 수 있습니다

여기에 이미지 설명을 입력하십시오

ram에 1GB의 파티션을 만들었습니다. 사용 프리모 램 디스크를

우분투에는 좋은 대안이 있습니까?


3
우분투는 tmpfs와 함께 제공됩니다. RAMDISK를 만들 필요가 없습니다.
mixdev

의도 된 사용 사례에 따라 Ubuntu (또는 대부분의 Linux 배포판) 용 램 디스크가 필요하지 않을 수 있습니다. 운영 체제는 일반 디스크로 작업하는 동안 읽기 및 쓰기 작업을 RAM에 캐시합니다. 작은 파일을 여러 번 읽는 경우 디스크에서 한 번만 가져온 다음 다음 시간에 RAM 캐시에서 검색됩니다. RAM이 충분하면 모든 작업이 이런 방식으로 캐시되므로 디스크 작업이 거의 반복되지 않습니다. 파일 대신 비 영구적 인 빠른 메모리 사용을 원한다면 RAMDISK가 여전히 필요합니다. 자세한 내용은 linuxatemyram.com 을 참조하십시오.
TafT

답변:


77

RAMDISK를 빠르고 쉽게 만드는 방법을 보여줍니다. RAMDISK를 사용하면 메모리를 임시 공간으로 사용할 수 있으며 하드 드라이브보다 훨씬 빠릅니다.

이제 다음 두 명령을 사용하여 RAMDISK를 만들어 보겠습니다.

내가“nameme”이라고 쓴 곳에 RAMDISK를 부르기를 원하는대로 놓으십시오.

mkdir -p /media/nameme

mount -t tmpfs -o size=2048M tmpfs /media/nameme/
위의 명령은 RAMDISK에 2GB의 RAM을 사용합니다. 내가하는 것보다 램이 많지 않으면 512MB 또는 1GB를 사용합니다. 다음은 자동으로 RAMDISK를 생성하는 터미널에 대한 명령을 작성하려고했습니다.

출처 : 리눅스에서 RAMDISK를 만드는 방법


3
재부팅 할 때 어떻게 이것을 유지할 수 있습니까?
chovy

1
RAM이므로 휘발성이므로 다시 시작할 때 BIOS / EFI로 웜 부팅하면 RAM이 지워지더라도 모두 손실됩니다. 로그인 할 때 명령을 실행하는 쉘 스크립트를 작성하는 것이 가장 좋습니다.
Brandon MacEachern

1
@chovy는 현재 2에 대해 생각하는 몇 가지 옵션이 있습니다. 1. RAM 디스크에 쓰기 위해 api를 쓰고 hdd 디스크에 비동기 쓰기를합니다. 부팅시에만 디스크에서 램을 예열하십시오. 2. 램 디스크의 모든 것을 일부 hdd 디스크로 복사하고 부팅 후 한 번 다시 복사하는 스크립트를 호출합니다.
루카스

또 다른 옵션은 /tmp/cache캐시 디렉토리 와 같은 것을 지정하는 것입니다 . 여기서 해당 디렉토리는 실제로 오버레이 디렉토리의 마운트 포인트입니다 (tmpfs를 upperdir로 사용하고 일반 파일 시스템에서 일반적으로 lowerdir로 상호 작용하는 다른 모든 것). 이를 통해 빠르고 임시적인 레이어를 만들 수 있으며 때로는 일부를 영구적으로 유지하려는 경우 사소하게 동기화 할 수 있습니다.
mway

chovy를 /etc/rc.local에 추가하면 자동으로 파티션이 마운트되지만 데이터는 손실됩니다.
777Anon

49

tmpfs 파일 시스템은 RAMDISK입니다. 다음은 항상 사용 가능한 2G RAMDISK를 만듭니다.

sudo mkdir -p /media/ramdisk
sudo mount -t tmpfs -o size=2048M tmpfs /media/ramdisk

ramdisk 폴더는 재부트시 사용 가능하므로 root가 소유합니다. 램 디스크 권한은 누구나 쓸 수 있어야합니다. tmpfs 기본 권한 (chmod 1777)이 정확합니다.

sudo chmod 1777 /media/ramdisk
drwxrwxrwt 2 root root 180 Apr 23 07:34 /media/ramdisk

램 디스크를 영구적으로 사용 가능하게하려면 / etc / fstab에 추가하십시오.

grep /media/ramdisk /etc/mtab | sudo tee -a /etc/fstab

mtab에서 fstab으로 줄이 이동 한 것을 볼 수 있습니다. 이런 식으로 보일 것입니다.

tmpfs /media/ramdisk tmpfs rw,size=2048M 0 0

RAMDISK는 사용할 때까지 메모리를 소비하지 않습니다. 최대 시스템로드 동안 메모리 요구 사항을 다시 확인하십시오. RAMDISK가 너무 큰 경우, 시스템은 차이를 보완하기 위해 스왑 스토리지를 사용합니다.

RAMDISK의 크기를 조정하려면 / etc / fstab을 편집하고 램 디스크를 다시 마운트하여 확인하십시오 (재부팅 할 때 현재 RAMDISK 내용이 손실 됨). 다음은 램 디스크의 크기를 512M으로 변경합니다

# Check the existing ramdisk size.
df /media/ramdisk
# change size=512M for a 512 megabyte ram drive.
sudo vi /etc/fstab
# Remount the ramdisk, you will lose any existing content.
sudo mount -a /media/ramdisk
# Verify the new ramdisk size.
df /media/ramdisk

1
기술적으로 tmpfs램 디스크가ramfs 아닙니다 .
heemayl

2
동의하다. RAMDISK를 Windows의 일반적인 이름으로 사용하기로 선택했습니다.
rickfoosusa

램 디스크가 실제로 사용 중인지 어떻게 확인할 수 있습니까? 항상 사용 된 0 %로 표시됩니다.
BTR Naidu

9

루트 권한이없는 경우에 2 센트를 추가하십시오.

에서 인용 이 답변 unix.stackexchange에서

Linux는 모든 사용자가 사용할 수있는 tmpfs 장치 인 / dev / shm을 제공합니다. 기본적으로 특정 디렉토리에 마운트되지 않지만 여전히 하나의 디렉토리로 사용할 수 있습니다.

/ dev / shm에 디렉토리를 만든 다음 원하는 곳으로 심볼릭 링크하십시오. 다른 사용자가 액세스 할 수 없도록 작성된 디렉토리에 원하는 권한을 부여 할 수 있습니다.

이것은 RAM 지원 장치이므로 기본적으로 메모리에있는 것이 있습니다. / dev / shm 안에 필요한 디렉토리를 만들 수 있습니다

당연히 여기에 배치 된 파일은 재부팅 후에도 유지되지 않으며 컴퓨터가 스와핑을 시작하면 / dev / shm이 도움이되지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.