램 디스크 우분투 10.04


12

데스크탑에 Ubuntu 10.04 (64bit)를 사용하고 있습니다.
기계에는 5GB RAM이 있습니다.

RAM 디스크 (1G 또는 2G)를 사용하고 싶지만 어떻게 할 수 있는지 모르겠습니다.

RAM 디스크의 오픈 소스 제품이 있습니까?

답변:


18

이 기술은 커널에 내장되어 있으므로 추가 도구가 필요하지 않습니다. 실제로, 당신은 이미 몇 개의 RAM 디스크를 가지고 있습니다 (사용해서는 안되며, 시스템 용으로 예약되어 있습니다).

grep -w tmpfs /proc/mounts

에 마운트 된 2GB RAM 디스크를 설정하려면 /ramdisk다음 행을 추가하십시오 /etc/fstab.

ramdisk  /ramdisk  tmpfs  mode=1777,size=2g

그런 다음 명령을 사용하여 디스크를 마운트하십시오 mount /ramdisk(다시 부팅하면 자동으로 수행됨).

표시된 크기는 최대 값이며 디스크는 디스크에있는 파일만큼의 메모리 만 사용합니다.


/tmpRAM 디스크로 변경할 수 있습니다 . 에 /etc/fstab넣어 위의 라인 /tmp보다는 /ramdisk다음 재부팅.

/tmpRAM 디스크로 변경 한 후 처음으로 다시 부팅하면 있던 파일이 /tmp숨겨집니다. 그들이 작은 디스크 공간을 낭비한다는 것을 제외하고는 무해합니다. RAM 디스크에서 재부팅 한 후 정리하여 정리할 수 있습니다./tmp

mount --bind / /mnt
rm -r /mnt/tmp/* /mnt/tmp/.*
umount /mnt

mount --bind명령은 /mnt루트 파일 시스템을 복제하여 보여 줍니다 . 그러나 RAM 디스크가 이제 /tmp루트보기에서 가려 지지만 아무것도 가리지 않습니다 /mnt/tmp.

추가 : /tmp재부팅하지 않고 RAM 디스크로 전환 할 수 있습니다 . 조금 더 복잡합니다. /etc/fstab위와 같이 행을 추가 한 후 다음 명령을 실행하십시오.

mkdir /tmp.old
mount --bind /tmp /tmp.old
mount /tmp
cd /tmp
ln -s /tmp.old/* /tmp/.* .

/tmp.old다음에 다시 부팅 한 후 삭제 하십시오.

파일을 다른 곳 /tmp.old으로 옮길 수없는 이유 /tmp는 일부 중요한 프로그램에 파일이 열려 있기 때문입니다. /tmp예를 들어 /tmp/.X11-unix/X0X 서버가 수신 대기하고 모든 GUI 프로그램이 시작될 때 열립니다. 파일을 다른 파일 시스템으로 이동한다는 것은 파일을 복사하고 이전 파일을 삭제하는 것을 의미하므로 X 서버는 계속 듣지만 /tmp.old/.X11-unix/X0X 클라이언트 /tmp/.X11-unix/X0는 헛된 접촉을하게 됩니다. 서버에서 조심하면 움직일 수 있습니다.


@giles : fstab으로 변경하거나 재부팅하지 않고이 작업을 수행 할 수 있습니까? 해당 mkfs 메소드가 있고 마운트가 있다고 가정하지만 "man mkfs"는별로 도움이되지 않았습니다.
hotei

1
@hotei : 재부팅은으로 만 전환 /tmp됩니다 tmpfs. 필요하지 않으며 수행 방법을 설명하기 위해 답변을 편집했지만 더 복잡합니다. 더이있어 mkfs준비 할 기본 스토리지, 커널 핸들의 모든 없기 때문에 참여하지 않습니다.
Gilles 'SO- 악마 그만해'

@ 길 : 업데이트 주셔서 감사합니다. fstab 행을 마운트 할 때 "매직"이 발생하는 부분이 없습니다. 나는 그것이 왜 지금 작동하는지 이해한다고 믿는다.
hotei

이로 인해 현저한 속도 향상이 가능한지 물어볼 수 있습니까?
Robert Massaioli

@Robert : 넷북의 매우 느린 SSD (주로 동기화가 몇 초간 지속될 수 /tmp있고 디스크에서 동기화 빈도가 증가 하기 때문에)에서 눈에 띄는 속도를 올렸다고 생각 하지만 이것은 신뢰할 수없는 주관적인 인상입니다. 나는 벤치마킹을 시도한 적이 없다.
Gilles 'SO- 악마 그만
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.