Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Le istanze Compute Engine dispongono di memoria ad alte prestazioni di livello aziendale che
puoi utilizzare per eseguire le tue applicazioni. Puoi allocare parte di questa memoria per
creare un disco RAM con latenza eccezionalmente bassa e throughput elevato. I dischi RAM
funzionano bene quando l'applicazione prevede una certa struttura del file system e non può
archiviare i dati semplicemente in memoria. I dischi RAM da soli non forniscono
ridondanza o flessibilità di archiviazione, quindi è meglio utilizzarli in
combinazione con altre
opzioni di archiviazione delle istanze.
I dischi RAM condividono la memoria dell'istanza con le tue applicazioni. Se le tue istanze non hanno memoria sufficiente per contenere i dischi RAM e le tue applicazioni, crea istanze con tipi di macchine highmem, ad esempio N2 o esegui l'upgrade delle istanze esistenti per aggiungere più memoria.
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione verifica la tua identità per l'accesso a Google Cloud servizi e API. Per eseguire
codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su
Compute Engine selezionando una delle seguenti opzioni:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and
APIs, you don't need to set up authentication.
gcloud
Installa Google Cloud CLI.
Dopo l'installazione,
inizializza Google Cloud CLI eseguendo il seguente comando:
Connettiti all'istanza
tramite SSH. Per questo esempio, vai alla pagina Istanze VM e fai clic sul pulsante SSH accanto all'istanza in cui vuoi aggiungere un disco RAM.
Crea un punto di montaggio per il disco RAM.
$ sudo mkdir /mnt/ram-disk
Crea e monta un nuovo disco RAM tmpfs. Devi determinare un valore per la proprietà
size che soddisfi i tuoi requisiti di archiviazione senza competere con
le tue applicazioni per la memoria o esaurire tutta la memoria disponibile.
Per questo esempio, l'istanza ha un tipo di macchina
n1-highmem-32 con
208 GB di memoria, quindi è appropriata una dimensione del disco RAM di 50g.
$ sudo mount -t tmpfs -o size=50g tmpfs /mnt/ram-disk
Aggiungi il disco RAM al file /etc/fstab in modo che il dispositivo venga montato di nuovo
automaticamente se riavvii l'istanza:
$ echo 'tmpfs /mnt/ram-disk tmpfs nodev,nosuid,noexec,nodiratime,size=50G 0 0' | sudo tee -a /etc/fstab
Eliminazione di un disco RAM
Puoi smontare un disco RAM tmpfs come qualsiasi altro volume. Vengono eliminati il
RAM disk e tutti i dati memorizzati. Per questo esempio, rimuovi un disco RAM
montato su /mnt/ram-disk:
$ sudo umount /mnt/ram-disk
Eseguire automaticamente il backup dei dati del disco RAM tra i riavvii dell'istanza
Puoi eseguire il backup di un disco RAM prima del riavvio dell'istanza per conservare i dati del disco RAM fino al riavvio dell'istanza. Esegui il backup dei dati in un volume Google Cloud Hyperdisk o in un volume Persistent Disk se il tipo di macchina della VM
non supporta Hyperdisk.
Crea e monta un volume Hyperdisk
da utilizzare come disco di backup per il disco RAM. Assicurati che il disco sia abbastanza grande da contenere le informazioni nel disco RAM.
Crea uno script di arresto per l'istanza
con un comando rsync che scrive i contenuti del disco RAM nel volume di backup. Per questo esempio, utilizza gcloud CLI per aggiungere i metadati shutdown-script
all'istanza con il disco RAM montato su /mnt/ram-disk e
il volume Hyperdisk montato su /mnt/ram-disk-backup.
Facoltativamente, puoi anche
creare uno script di avvio
che ripristini i file nel disco RAM all'avvio dell'istanza. Utilizza gcloud CLI per aggiungere i metadati startup-script all'istanza.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 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\""]]