Compute Engine 인스턴스에는 애플리케이션을 실행하는 데 사용되는 고성능 엔터프라이즈급 메모리가 있습니다. 지연 시간은 매우 짧고 처리량은 많은 RAM 디스크를 만들도록 이 메모리의 일부를 할당할 수 있습니다. RAM 디스크는 애플리케이션이 파일 시스템 구조를 예상할 수 있고, 간단한 방법으로 시스템 메모리에 데이터를 저장할 수 없을 때 효과적입니다. RAM 디스크가 단독으로 스토리지 중복성이나 유연성을 제공하지는 않으므로 다른 인스턴스 저장 옵션과 함께 RAM 디스크를 사용하는 것이 가장 좋습니다.
RAM 디스크는 애플리케이션과 인스턴스 메모리를 공유합니다. 인스턴스에 RAM 디스크 및 애플리케이션을 포함할 수 있을 만큼 메모리가 충분하지 않으면 N2와 같은 highmem 머신 유형으로 인스턴스를 만들거나 기존 인스턴스를 업그레이드하여 메모리를 더 추가합니다.
새 tmpfs RAM 디스크를 만들고 마운트합니다. 메모리를 놓고 애플리케이션과 경쟁하거나 사용 가능한 메모리를 다 소모하지 않고 스토리지 요구사항을 충족할 수 있도록 size 속성을 적절한 값으로 결정해야 합니다.
이 예시에서는 인스턴스에 208GB의 메모리를 가진 n1-highmem-32 머신 유형이 있으므로 RAM 디스크 크기로 50g가 적절합니다.
$ sudo mount -t tmpfs -o size=50g tmpfs /mnt/ram-disk
인스턴스를 다시 시작하면 기기가 자동으로 다시 마운트되도록 RAM 디스크를 /etc/fstab 파일에 추가합니다.
$ echo 'tmpfs /mnt/ram-disk tmpfs nodev,nosuid,noexec,nodiratime,size=50G 0 0' | sudo tee -a /etc/fstab
RAM 디스크 삭제
다른 볼륨과 마찬가지로 tmpfs RAM 디스크를 마운트 해제할 수 있습니다. 그러면 RAM 디스크와 그 안에 저장된 모든 데이터가 삭제됩니다. 이 예시에서는 /mnt/ram-disk에 마운트된 RAM 디스크를 삭제합니다.
$ sudo umount /mnt/ram-disk
인스턴스 다시 시작 사이에 자동으로 RAM 디스크 데이터 백업
인스턴스가 다시 시작될 때까지 RAM 디스크 데이터를 보존하기 위해 인스턴스가 재시작되기 전에 RAM 디스크를 백업 할 수 있습니다. VM의 머신 유형이 Hyperdisk를 지원하지 않는 경우 데이터를 Google Cloud Hyperdisk 볼륨 또는 Persistent Disk 볼륨에 백업합니다.
RAM 디스크의 백업 디스크로 사용할 하이퍼디스크 볼륨을 만들고 마운트합니다. 디스크가 RAM 디스크의 정보를 담을 만큼 충분히 큰지 확인합니다.
백업 볼륨에 RAM 디스크 콘텐츠를 쓰는 rsync 명령어로 인스턴스에 대한 종료 스크립트를 만듭니다. 이 예시에서는 gcloud CLI를 사용하여 /mnt/ram-disk에 RAM 디스크가 마운트되고 /mnt/ram-disk-backup에 Hyperdisk 볼륨이 마운트된 인스턴스에 shutdown-script 메타데이터를 추가합니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-09-04(UTC)"],[[["\u003cp\u003eCompute Engine RAM disks offer high-performance, low-latency storage by utilizing instance memory, suitable for applications requiring a file system structure.\u003c/p\u003e\n"],["\u003cp\u003eRAM disks share memory with applications, necessitating the use of \u003ccode\u003ehighmem\u003c/code\u003e machine types or memory upgrades to prevent memory exhaustion and potential instance crashes.\u003c/p\u003e\n"],["\u003cp\u003eData on RAM disks is volatile and not automatically replicated, meaning data loss will occur upon host error or system restart, thus regular backups to persistent storage are crucial.\u003c/p\u003e\n"],["\u003cp\u003eCreating a RAM disk involves establishing a mount point, mounting a \u003ccode\u003etmpfs\u003c/code\u003e volume with an appropriate size, and optionally adding it to \u003ccode\u003e/etc/fstab\u003c/code\u003e for automatic remounting after restarts.\u003c/p\u003e\n"],["\u003cp\u003eBackups of RAM disk data before instance restarts can be automated using shutdown scripts and persistent storage, with startup scripts to restore the backed-up data upon instance reboot.\u003c/p\u003e\n"]]],[],null,["# Creating in-memory RAM disks\n\n*** ** * ** ***\n\nCompute Engine instances have high-performance, enterprise-class memory that\nyou can use to run your applications. You can allocate some of this memory to\ncreate a RAM disk with exceptionally low latency and high throughput. RAM disks\nwork well when your application expects a file system structure and cannot\nsimply store its data in memory. RAM disks alone do not provide any\nstorage redundancy or flexibility, so it is best to use RAM disks in\ncombination with other\n[instance storage options](/compute/docs/disks).\n\nRAM disks share instance memory with your applications. If your instances do\nnot have enough memory to contain RAM disks and your applications, create\ninstances with `highmem` machine types, such as\n[N2](/compute/docs/general-purpose-machines#n2-high-mem) or\n[upgrade your existing instances](/compute/docs/instances/changing-machine-type-of-stopped-instance)\nto add more memory.\n| **Caution:** RAM disks are located in memory, and are **not** automatically replicated. **All data on these devices is erased** in the event of a [host error](/compute/docs/faq#hosterror) or a system restart. Frequently back up your data on replicated storage. Before you restart an instance with an in-memory RAM disk, [write data from the RAM disk to replicated storage](#backup-ram-disk-data).\n\nBefore you begin\n----------------\n\n- Read about the difference between RAM disks and other [Compute Engine storage options](/compute/docs/disks).\n- If you haven't already, set up [authentication](/compute/docs/authentication). Authentication verifies your identity for access to Google Cloud services and APIs. To run code or samples from a local development environment, you can authenticate to Compute Engine by selecting one of the following options:\n\n Select the tab for how you plan to use the samples on this page: \n\n ### Console\n\n\n When you use the Google Cloud console to access Google Cloud services and\n APIs, you don't need to set up authentication.\n\n ### gcloud\n\n 1.\n [Install](/sdk/docs/install) the Google Cloud CLI.\n\n After installation,\n [initialize](/sdk/docs/initializing) the Google Cloud CLI by running the following command:\n\n ```bash\n gcloud init\n ```\n\n\n If you're using an external identity provider (IdP), you must first\n [sign in to the gcloud CLI with your federated identity](/iam/docs/workforce-log-in-gcloud).\n | **Note:** If you installed the gcloud CLI previously, make sure you have the latest version by running `gcloud components update`.\n 2. [Set a default region and zone](/compute/docs/gcloud-compute#set_default_zone_and_region_in_your_local_client).\n\n ### REST\n\n\n To use the REST API samples on this page in a local development environment, you use the\n credentials you provide to the gcloud CLI.\n 1. [Install](/sdk/docs/install) the Google Cloud CLI. After installation, [initialize](/sdk/docs/initializing) the Google Cloud CLI by running the following command: \n\n ```bash\n gcloud init\n ```\n 2. If you're using an external identity provider (IdP), you must first [sign in to the gcloud CLI with your federated identity](/iam/docs/workforce-log-in-gcloud).\n\n\n For more information, see\n [Authenticate for using REST](/docs/authentication/rest)\n in the Google Cloud authentication documentation.\n\nCreating a RAM disk\n-------------------\n\nYou can create a RAM disk with the `tmpfs` filesystem, which is included by default\nin most [Linux distributions](/compute/docs/images#os-details).\n| **Caution:** You must ensure that `tmpfs` volumes on your instance do not use up all of your instance memory. By default, Compute Engine instances do not have any swap space. If you use all of the available instance memory in a RAM disk, the instance can crash and potentially cause you to lose your data.\n\n1. If your instance does not have enough available memory, you can optionally\n [change the instance machine type](/compute/docs/instances/changing-machine-type-of-stopped-instance#changing_a_machine_type)\n to a machine type with more memory.\n\n2. [Connect to your instance](/compute/docs/instances/connecting-to-instance)\n through SSH. For this example, go to the\n [VM instances page](https://console.cloud.google.com/compute/instances)\n and click the **SSH** button next the instance where you want to add a RAM\n disk.\n\n3. Create a mount point for your RAM disk.\n\n ```\n $ sudo mkdir /mnt/ram-disk\n ```\n4. Create and mount a new `tmpfs` RAM disk. You must determine a value for the\n `size` property that meets your storage requirements without competing with\n your applications for memory or expending all of the available memory.\n For this example, the instance has a\n [`n1-highmem-32`](/compute/docs/general-purpose-machines#n1-high-memory) machine type with\n 208 GB of memory, so a `50g` RAM disk size is appropriate.\n\n ```\n $ sudo mount -t tmpfs -o size=50g tmpfs /mnt/ram-disk\n ```\n5. Add the RAM disk to the `/etc/fstab` file so that the device automatically\n mounts again if you restart the instance:\n\n ```\n $ echo 'tmpfs /mnt/ram-disk tmpfs nodev,nosuid,noexec,nodiratime,size=50G 0 0' | sudo tee -a /etc/fstab\n ```\n\nDeleting a RAM disk\n-------------------\n\nYou can unmount a `tmpfs` RAM disk just like any other volume. This deletes the\nRAM disk and any data that is stored in it. For this example, remove a RAM disk\nthat is mounted at `/mnt/ram-disk`: \n\n```\n$ sudo umount /mnt/ram-disk\n```\n\nAutomatically backing up RAM disk data between instance restarts\n----------------------------------------------------------------\n\nYou can back up a RAM disk before your instance restarts to preserve the RAM\ndisk data until the instance starts up again. Back up your data to a Google Cloud Hyperdisk volume, or to a Persistent Disk volume if your VM's machine type\ndoesn't support Hyperdisk.\n\n1. [Create and mount a Hyperdisk](/compute/docs/disks/add-hyperdisk)\n volume to use as a backup disk for your RAM disk. Make sure the disk is big enough to contain the information in the RAM disk.\n\n2. [Create a shutdown script](/compute/docs/shutdownscript) for your instance\n with an `rsync` command that writes the RAM disk contents to the backup\n volume. For this example, use the gcloud CLI to add the `shutdown-script`\n metadata to the instance with the RAM disk mounted at `/mnt/ram-disk` and\n the Hyperdisk volume mounted at `/mnt/ram-disk-backup`.\n\n gcloud compute instances add-metadata example-instance --metadata shutdown-script=\"#! /bin/bash\n rsync -a --delete --recursive --force /mnt/ram-disk/ /mnt/ram-disk-backup/\n EOF\"\n\n3. Optionally, you can also\n [create a startup script](/compute/docs/startupscript#startupscriptrunninginstances)\n that restores the files back to the RAM disk when the instance starts\n again. Use the gcloud CLI to add the `startup-script` metadata to\n the instance.\n\n gcloud compute instances add-metadata example-instance --metadata startup-script=\"#! /bin/bash\n rsync -a --recursive --force /mnt/ram-disk-backup/ /mnt/ram-disk/\n EOF\""]]