

# Habilitar volume de troca do armazenamento de instância para instâncias M1 e C1 do EC2
<a name="instance-store-swap-volumes"></a>

**nota**  
Este tópico se aplica somente às instâncias `c1.medium` e `m1.small` do Linux.

Os tipos de instância `c1.medium` e `m1.small` têm uma quantidade limitada de memória física. Portanto, elas recebem um volume de troca de 900 MiB no momento da inicialização para atuar como memória virtual ou *espaço de troca* para o sistema Linux. O espaço de troca no Linux pode ser usado quando um sistema precisa de mais memória que a que foi alocada fisicamente. Quando o espaço de troca está habilitado, os sistemas Linux podem mudar páginas da memória física usadas infrequentemente para espaço de troca (uma partição dedicada ou um arquivo de troca em um sistema de arquivos existente) e liberar esse espaço para páginas de memória que exigem acesso de alta velocidade.

**nota**  
O uso do espaço de troca para paginação de memória não é tão rápido ou eficiente quanto usar a RAM. Se a workload estiver paginando a memória regularmente no espaço de troca, é necessário considerar migrar para um tipo de instância maior com mais memória RAM. Para obter mais informações, consulte [Alterações no tipo de instância do Amazon EC2](ec2-instance-resize.md).
Apesar de o kernel do Linux considerar esse espaço de troca uma partição do volume raiz, ele é, na realidade, um volume de armazenamento de instância separado, independentemente do tipo de volume raiz usado.

O Amazon Linux habilita e usa automaticamente esse espaço de troca, mas a AMI pode exigir algumas etapas adicionais para reconhecer e usar esse espaço de troca. Para ver se a instância está usando o espaço de troca, é possível usar o comando **swapon -s**.

```
[ec2-user ~]$ swapon -s
Filename                                Type            Size    Used    Priority
/dev/xvda3                              partition       917500  0       -1
```

A instância acima tem um volume de troca de 900 MiB anexado e habilitado. Se você não vir um volume de troca listado com esse comando, será possível precisar habilitar o espaço de troca para o dispositivo. Verifique os discos disponíveis usando o comando **lsblk**.

```
[ec2-user ~]$ lsblk
NAME  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
xvda1 202:1    0    8G  0 disk /
xvda3 202:3    0  896M  0 disk
```

Aqui, o volume de troca `xvda3` está disponível para a instância, mas não está habilitado (observe que o campo `MOUNTPOINT` está vazio). É possível habilitar o volume de troca com o comando **swapon**.

**nota**  
Você precisa preceder `/dev/` ao nome do dispositivo listado pelo **lsblk**. Seu dispositivo pode ter um nome diferente, como `sda3`, `sde3` ou `xvde3`. Use o nome do dispositivo de seu sistema no comando abaixo.

```
[ec2-user ~]$ sudo swapon /dev/xvda3
```

Agora o espaço de troca deve ser mostrado na saída do **lsblk** e do **swapon -s**.

```
[ec2-user ~]$ lsblk
NAME  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
xvda1 202:1    0    8G  0 disk /
xvda3 202:3    0  896M  0 disk [SWAP]
[ec2-user ~]$ swapon -s
Filename                                Type            Size    Used    Priority
/dev/xvda3                              partition       917500  0       -1
```

Também será necessário editar o arquivo `/etc/fstab` para que esse espaço de troca seja habilitado automaticamente em cada inicialização do sistema.

```
[ec2-user ~]$ sudo vim /etc/fstab
```

Acrescente a linha a seguir ao arquivo `/etc/fstab` (usando o nome do dispositivo de troca de seu sistema):

```
/dev/{{xvda3}}       none    swap    sw  0       0
```

**Para usar um volume de armazenamento de instâncias como espaço de troca**

Qualquer volume de armazenamento de instâncias pode ser usado como espaço de troca. Por exemplo, o tipo de instância `m3.medium` inclui um volume de armazenamento de instâncias SSD de 4 GB que é adequado para o espaço de troca. Se o volume de armazenamento de instâncias for muito maior (por exemplo, 350 GB), será possível considerar particionar o volume com uma partição de troca menor de 4 a 8 GB e o restante para um volume de dados.
**nota**  
Esse procedimento se aplica apenas a tipos de instância que oferecem suporte ao armazenamento de instâncias. Para obter uma lista dos tipos de instâncias compatíveis, consulte [Limites de volume de armazenamento de instância para instâncias do EC2](instance-store-volumes.md).

1. <a name="step_swap_start"></a>Liste os dispositivos de blocos anexados à instância para obter o nome do dispositivo de seu volume de armazenamento de instâncias.

   ```
   [ec2-user ~]$ lsblk -p
   NAME       MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
   /dev/xvdb  202:16   0   4G  0 disk /media/ephemeral0
   /dev/xvda1 202:1    0   8G  0 disk /
   ```

   Neste exemplo, o volume de armazenamento de instâncias é `/dev/xvdb`. Como essa é uma instância do Amazon Linux, o volume de armazenamento de instâncias está formatado e montado em `/media/ephemeral0`. Nem todos os sistemas operacionais Linux fazem isso automaticamente.

1. (Opcional) Se o volume de armazenamento de instâncias está montado (ele é listado como um `MOUNTPOINT` na saída do comando **lsblk**), você precisa desmontá-lo com o comando a seguir.

   ```
   [ec2-user ~]$ sudo umount /dev/xvdb
   ```

1. <a name="step_mkswap"></a>Configure uma área de troca do Linux no dispositivo com o comando **mkswap**.

   ```
   [ec2-user ~]$ sudo mkswap /dev/xvdb
   mkswap: /dev/xvdb: warning: wiping old ext3 signature.
   Setting up swapspace version 1, size = 4188668 KiB
   no label, UUID=b4f63d28-67ed-46f0-b5e5-6928319e620b
   ```

1. Habilite o novo espaço de troca.

   ```
   [ec2-user ~]$ sudo swapon /dev/xvdb
   ```

1. <a name="step_swap_enable"></a>Verifique se o novo espaço de troca está sendo usado.

   ```
   [ec2-user ~]$ swapon -s
   Filename				Type		Size	Used	Priority
   /dev/xvdb                              	partition	4188668	0	-1
   ```

1. Edite o arquivo `/etc/fstab` para que esse espaço de troca seja habilitado automaticamente em cada inicialização do sistema.

   ```
   [ec2-user ~]$ sudo vim /etc/fstab
   ```

   Se o arquivo `/etc/fstab` tiver uma entrada para `/dev/xvdb` (ou para`/dev/sdb`) altere-o para que corresponda à linha abaixo. Se ele não tiver uma entrada para esse dispositivo, adicione a linha a seguir no arquivo `/etc/fstab` (usando o nome do dispositivo de troca de seu sistema):

   ```
   /dev/{{xvdb}}       none    swap    sw  0       0
   ```
**Importante**  
Os dados do volume de armazenamento de instâncias são perdidos quando uma instância é interrompida ou hibernada. Isso inclui a formatação do espaço de troca do armazenamento de instâncias criadas em [Step 3](#step_mkswap). Se você parar e reiniciar uma instância que foi configurada para usar o espaço de troca de armazenamento de instâncias, deverá repetir a [Step 1](#step_swap_start) até a [Step 5](#step_swap_enable) no novo volume de armazenamento de instâncias.