Linux 배포에 "RAMDisk"를 만듭니다.

RAMDisk 아이콘

아시다시피 메모리 액세스 속도는 매우 중요합니다. 과거에 자기 메모리와 프로세서 사이에 발생한 병목 현상은 더 빠른 버퍼 메모리를 포함해야한다는 것을 의미했습니다. . 나중에 마이크로 프로세서의 발전과 함께 캐시가 생겨 RAM과 CPU 레지스터 사이에 버퍼를 제공하는 속도가 더욱 빨라졌습니다. 최근에는 플래시 메모리를 기반으로하는 자기 기계식 HDD보다 빠른 SSD 하드 드라이브가 등장했습니다.

Gigabyte는 몇 년 전에 RAM이있는 하드 드라이브를 만들려고 생각했습니다. (i-RAM이라고하는 RAMDisk), 하드 드라이브에 비해 매우 빠른 메모리이지만, PhysX 카드를 사용하여 Ageia에 발생한 것과 유사한 일이 발생했습니다. 그들은 실제로 젤화되지 않았고 결국 시장에서 사라지고 이제 SSD (및 RAM 기반 SSD)를 사용하면 훨씬 덜 의미가 있습니다. 그것은 무엇에 관한 것입니까? 음, 기본적으로 RAM 메모리를 사용하여 데이터를 하드 디스크처럼 저장하므로 액세스가 훨씬 빠릅니다.

음, 원하는 디렉토리, 파일 또는 프로그램에 대한 전송 및 액세스 속도를 높이기 위해 i-RAM이나 SSD 또는 이와 유사한 것이 필요하지 않습니다. 그것을 위해 당신은 할 수 있습니다 Linux 배포판에 RAMDisk 만들기. 유일한 요구 사항은 초고속 "하드 디스크"로 사용하기 위해 약간의 RAM을 확보하기 위해 충분한 RAM (> 4GB 권장)을 확보하는 것입니다. 일부 랩톱 용 GPU가 메모리 공유로 수행 한 것과 비슷하지만이 경우에는 데이터에 사용됩니다.

이 메모리를 생성하려면 보유한 메모리를 계산해야합니다. 메모리의 전부 또는 대부분을 소모하면 생성 된 목적에 맞는 RAM이 부족해 멍청 해지기 때문입니다. 예를 들어, RAM이 8GB 인 경우 RAMDisk에 2GB를 사용할 수 있습니다. 반복합니다. 그의 일은 더 많은 RAM을 가지고 있다는 것입니다. 2GB 또는 4GB가 있다면 그만한 가치가 없을 수도 있습니다 ... ( "size ="에서 크기를 지정하십시오. 제 예에서는 1024MB를 선택했습니다. 즉, 1GB 또는 "M"대신 "G"를 사용하여 GB 단위로 지정할 수도 있습니다.)이 사실을 알게되면 다음 단계 터미널에서 :

mkdir /tmp/ramdisk

mount -t tmpfs none /tmp/randisk -o size=1024M

이제 RAM에 1GB가 예약되어 있으므로 우리가 만든 ramdisk 디렉토리에 원하는 것을 추가 할 수 있습니다. 성능 테스트를 수행하면 더 빠르다 그 안에있는 모든 것 ... 원하는 경우 ext4 또는 ramfs와 같은 tmpfs가 아닌 다른 파일 시스템을 사용하여 RAM에 파티션을 만들 수 있습니다.

그리고 몽타주 입력을 유지하려면 ... 조심하세요 !! PC를 끄거나 다시 시작하면 여기에 저장 한 데이터는 손실되지만 입력은 그대로 유지됩니다.시작할 때마다 파티션을 만들 필요가 없습니다. 다음 트릭을 사용하여 파티션 테이블 (fstab)에 추가하여 자동으로 생성되도록합니다 (좋아하는 텍스트 편집기를 사용하여 입력 편집 : vi, nano, gedit ...) :

gedit /etc/fstab

Y en el fichero de texto que se abre crea la siguiente entrada sin comillas "tmpfs /mnt/ramdisk tmpfs nodev, nosuid, noexec, nodiratime, size=1024M 0 0"

중요 : 다시 시작하거나 종료하면 데이터가 사라집니다. RAM은 휘발성 메모리이기 때문입니다. 따라서 보관하려는 것이 무엇이든 하드 드라이브 파티션에 복사본을 만드십시오.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자: AB Internet Networks 2008 SL
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   마우

    장비를 끄면 데이터가 계속 메모리에 저장됩니까? RAM이 휘발성이기 때문에 이것을 말합니다. 설명해 주시면 감사하겠습니다.

    1.    아이작 PE

      안녕하세요

      당신 말이 맞아요, 컴퓨터를 시작할 때마다 휘발성이 삭제 될 것이라고 기사에서 언급하는 것을 잊었습니다. 알려 주셔서 감사합니다. 이미 추가했습니다. 아무도 데이터를 잃지 않도록 간과해서는 안되는 매우 중요한 것입니다.

      건배와 내가 도왔기를 바랍니다. 감사!!!

      1.    마우

        내가 본 것은이 파티션을 수행하는 프로그램이 있다는 것입니다. 이러한 프로그램이하는 일은 RAM에있는 데이터의 하드 디스크에 이미지를 만들어 다시 시작할 때 손실되지 않도록하는 것입니다. 그런 다음 시스템이 시작되면 내가 알기로는 하드 디스크에 저장된 데이터가 RAM에 덤프되어 다시 사용할 수 있습니다. 메모를 보내 주셔서 신속하게 답변 해 주셔서 감사합니다! 인사말!

  2.   레오폴도 칸틸로

    흥미롭게도 몇 가지 실용적인 응용 프로그램, 처음에이 RAM 파티션을 만들고 관심있는 파일을로드하는 스크립트에 대해 생각해 볼 가치가 있습니다. 데이터베이스를 넣는 것은 유용하지 않을 것입니다 ...? 주제를 조사해야합니다 ... 메모 감사합니다.

  3.   술 타노비치

    fs를 자세히 설명하는 것만 작동 할 수 있습니다. 내 테스트에서는 다음과 같이 작동했습니다.

    마운트 -t tmpfs tmpfs / tmp / ramdisk -o 크기 = 300m

  4.   이스마엘

    놀랍게도 GNU / LINUX로 할 수있는 웅장 함. :)

  5.   지미 올라 노

    이 RAMDisk를 "tmp"파티션으로 사용하는 것은 어떻습니까?

    할 수 있다는 것은 코드를 넣어야 할 것입니다. 나는 그것을 사용하기 위해 피험자의 실용성에 대해 물어 보는 코드를 요구하지 않습니다. 데이터베이스의 경우 올바르게 기억하지만 이미 RAM 메모리에서 데이터베이스 테이블을 지원하는 옵션이 있습니다. 예 : https : // dev.mysql.com/doc /refman/5.5/en/ storage-engine -setting. HTML

  6.   익명

    지난 20 년 동안 운이 좋게 끌려 가면 64GiB의 RAM을 사용할 수 있으므로 VirtualBOX (또는 다른 가상 머신)의 가상 하드 디스크 파일을 RAM에 복사 할 수 있습니다. 이 파일은 48GiB 이상을 차지하지 않는다고 가정합니다 (Linux 및 가상 머신에 충분한 여유 RAM을 남겨두기 위해). 이러한 방식으로 가상 머신이 이동하고 가상 머신의 변경 사항도 손실 (불변성)하려는 경우 더 이상 머신의 가상 하드 디스크를 변경 불가능하게 만드는 성능을 잃을 필요가 없습니다. 시작하기 전에 복사하기 때문입니다. NVMe / SSD / HDD에서 RAM으로 이동 한 다음 RAM에있는 모든 항목을 끄면 손실됩니다 (이 경우 원하는 것은 불변성).

    따라서 RAM이 너무 많으면 하드 디스크의 이미지를 변경할 수없고 고정 된 크기로 만들 수 있으며, 액세스에서 가능한 최대 성능을 얻을 수 있으며, 하드 디스크가 RAM에 있다는 사실과 함께 일부 실제를 만들 수 있습니다. 가상 머신을 다룰 때 기뻐합니다 (한 번에 하나의 스내치 만).

    가상 머신 사용을 마치면 RAM에서 NVMe / SSD / HDD로 복사되기 때문에 가상 하드 디스크의 상태를 보존하려고합니다.

    이미 5GiB / s (예, 초당 0 기가 바이트의 읽기 속도)로 읽을 수있는 NVMe가 있고 복사를 위해 하나만 사용하는 경우 (RAID48 또는 이와 유사한 경우 더 빠름) XNUMXGiB 가상 하드 디스크 이미지에서 RAM으로 전송하는 데 약 XNUMX 초 밖에 걸리지 않습니다.
    반대 프로세스 (RAM에서 NVMe로)를 수행 할 때의 단점으로 인해 지금까지 본 것 중 가장 빠른 것은 쓰기에서 3GiB / s (예, 쓰기에서 초당 48 기가 바이트)보다 약간 더 많으므로 XNUMXGiB 가상 하드의 이미지를 저장합니다. RAM에서 NVMe로 드라이브하는 데는 약 XNUMX 초 밖에 걸리지 않습니다.

    Linux에서 가장 빠른 NVMe 및 64GiB RAM 중 하나와 예를 들어 Windows 10이있는 가상 머신을 갖게 될 것입니다. RAM이 가상 머신의 하드 디스크를 호스팅하는 데 사용되는 경우 상당히 통과입니다.

    그리고 이제 Linux를위한 선물 ... 부팅하는 동안 Linux 시스템의 전체 루트를 RAM에 복사하고 계속 부팅하는 "ramroot"라는 패키지가 이미 있습니다 (적어도 Arch 기반 배포판의 경우). 부팅 시간을 다소 늘리는 대신 RAM에서 실행된다는 점은 말할 것도없고 사용중인 Linux에서도 불변성을 얻습니다.

    이 글을 읽는 사람이 시동 중에 RAM으로 복사되는 CD / USB에서 부팅 가능한 Linux 배포판 (예 : SystemRescueCD 등)을 알고 있다면 제공되는 이점을 알게 될 것입니다. 항상 동일하게 시작되며 항상 가능한 한 빨리 진행됩니다. 모든 것이 RAM에 있기 때문에 시작 또는 Linux를 사용하는 동안에는 물리적 디스크에 아무것도 기록되지 않습니다 (개인적으로는 SSD의 수명을 연장하는 데 매우 유용한 것으로, 개인적으로 한 달도 채 걸리지 않고 120 테라 바이트 미만으로 기록 된 일부 SSD는 이미 남아 있습니다.) 저, 특히 KingDian 브랜드의 XNUMXGB), 읽기 및 쓰기로 무언가를 마운트하고 가상 머신과 결합하여 거기에 무언가를 저장하는 경우를 제외하고는 모두가 RAM으로 이동하기 때문에 시스템이 디스크 액세스에서 '날아갑니다'.

    모든 Linux를 RAM에두면 SSD 및 NVMe의 유효 수명이 크게 연장됩니다. 부팅 중에 아무것도 쓰지 않거나 거의 아무것도 쓰지 않고 우리가 직접하지 않는 한 부팅이 전혀되지 않기 때문입니다.

    내 테스트는 7GiB DDR2700 4.35MHz 및 8GiB NVidia 16 Ti 그래픽을 사용하는 Ryzen 64 4X (3200GHz, 1050 코어 4 스레드)에서 수행되었습니다.

    참고 : 1TiB의 RAM과 ThreadRipper 64 등과 같은 2 개의 스레드가있는 마이크도 지원하는 마더 보드가 있습니다.

  7.   마르코스

    귀하의 의견은 매우 흥미롭지 만 필요한 RAM에 대해 과장해서는 안됩니다. 무게가 10GB에 불과한 Windows 13 VDI 이미지와 14GB의 RAM이있어 완전히 쉽게 작동합니다.

    전체 OS를 RAM에 마운트하는 것은 너무 많지 않다는 것이 명확하지 않습니다. 온더 플라이 압축이 활성화 된 BTRFS로 SSD를 포맷 한 경우 (드라이브에 기록되는 데이터가 상당히 적습니다) 패키지가 설치 될 때 거의 데이터 만 시스템 파티션에 기록되기 때문입니다 (당연히 SSD / 디스크), 구성 파일이 수정되고 (무시할 수있는 크기의 텍스트 파일, BTRFS의 LZO 압축으로 인해 훨씬 ​​더 무시할 수있는 크기로 남음) 대포 발사로 파리를 죽이는 것처럼 보이므로 거의 없습니다. 모든 최신 배포판은 RAM의 motan / tmp 사용자가 4GB 이상인 경우 RAM을 생각하므로 많은 임시 작업이 작성되어 SSD / 디스크가 최소한의 마모를 겪지 않습니다. 몇 년 전에 / 파티션에 더 많은 지팡이를 넣는 데 사용되었습니다.

    또 다른 것은 집입니다. 캐시, 창을 이동하면 자주 변경되는 설정, 다운로드 등 데이터가 지속적으로 기록됩니다. RAM에서만 작업하고 우리가 정말로 원하는 경우에만 디스크에 동기화하는 것이 흥미로울 수 있지만 도구가 있어야하지만 (있을지 모르겠지만 놀라지 않을 것이지만 귀하의 의견을 읽을 때까지 주제에 대해 생각하지 않음) 세션을 닫을 때 사용자에게 저장하지 않고 자신의 / 집에 변경 사항이 있음을 상기 시키거나 디스크에 동기화 할 것인지 묻습니다. XNUMX 초 후에 우리 자신을 돕기 위해 컴퓨터를 끌 것입니다.

    "ThreadRipper 1 등과 같은 64 개의 스레드가있는 마이크와 2TiB의 RAM을 지원하는 마더 보드도 있습니다."

    이미 훨씬 더 많은 것을 지원하지만 xD를 놓지 않는 랙. 사람들이 € 800 팀을 감당할 수없는 지구로 돌아 가자 ...

    인사말.

  8.   마르코스

    "저는 무게가 10GB에 불과하고 RAM이 13GB에 불과한 Windows 14의 VDI 이미지를 가지고 있습니다. 완전히 쉽게 작동 할 것입니다."
    죄송합니다. 24GB를 의미했습니다. 내 손가락이 다음 키로 이동 했나요?