Montando partições em memória

Irei mostrar que é possível criar partições em sua memória RAM, com isso podemos aumentar a performance de algumas aplicações que exigem alta velocidade de acesso ao disco. Um bom exemplo é utilizar o /tmp em memória para que o acesso a estes recursos temporários sejam muito mais velozes.

[ Hits: 22.339 ]

Por: Perfil removido em 09/12/2004


Montando partições em memória



Uma utilidade pouco conhecida no Linux é a possibilidade de montar partições em memória, que a grosso modo é definir um ponto de montagem para ser usado como se fosse um disco ou uma mídia de armazenamento comum, mas que na realidade são alguns megabytes da memória RAM. Claro que tratando deste tipo de armazenamento, os dados lá gravados são perdidos quando há um desligamento dá maquina.

Este processo se trata de reservar um espaço definido pelo usuário em memória e usá-lo. Uma das vantagens deste processo é a velocidade, cache de navegadores e a própria pasta /tmp podem ser usadas na memória ao invés de espaço em disco rígido.

Diretórios em que o uso do HD é constante e os dados neles contidos não tem importância na próxima reinicialização da máquina podem ser alvos deste recurso.

Vamos para a prática, meus alvos são o /tmp e /var/tmp, são dados que não são necessários ser mantidos até a próxima reinicialização. Detalhe, uso RedHat EL 4 Beta, em outras distribuições /var/tmp costuma ser um link simbólico para /tmp.

Este recurso utiliza o tmpfs como sistema de arquivos, que já é suportado por padrão pelo kernel do Linux, agora só não posso dizer em qual versão ele apareceu, mas é um recurso já de um bom tempo.

Agora montamos a partição, adicione as seguintes linhas ao /etc/fstab:

/dev/shm        /tmp            defaults,size=10m,auto  0       0
/dev/shm        /var/tmp        defaults,size=10m,auto  0       0

Após a edição do arquivo, execute os seguintes comandos para montar cada partição (como root):

# mount /tmp
# mount /var/tmp


Se você executar o comando 'mount -a' irá montar essas partições também, mas junto monta todas com opção 'auto'.

Nesta ocasião montei duas partições de 10 MB cada do dispositivo /dev/shm (shm de SHared Memory), a opção "defaults" é para que todas as opções padrões de montagem seja usadas (veja mais em "man fstab"), a opção "size" define o tamanho da partição desejada, a "auto" é para que ela seja montada na inicialização e/ou no comando "mount -a".

Nestas opções no /etc/fstab só o root poderá montar ou desmontar a unidade, se você usa outro usuário como padrão do sistema e não quer ficar alternando para root para montar/desmontar as partições, adicione a opção "users" no arquivo, um exemplo ficaria:

/dev/shm        /tmp            defaults,size=10m,auto,users    0       0

Claro que esta opção deixa aberta a todos os usuários o controle de montagem/desmontagem da partição, fica por sua decisão esta opção.

Ao montar corretamente e não exibir erro, tente copiar um arquivo para a partição:

$ cp arquivo.ext /tmp

ou teste a criação de um arquivo:

$ touch /tmp/teste.txt
$ echo Funcionou! > /tmp/teste.txt
$ cat /tmp/teste.txt


Qualquer dúvida, crítica ou descoberta de algo interessante sobre este assunto, meu e-mail é thiago.moretto{arroba}gmail.com.

[]'s
Thiago G. Moretto

   

Páginas do artigo
   1. Montando partições em memória
Outros artigos deste autor

Como instalar o LAMP no Mageia 6

Varnish: Uma camada de velocidade

Scid vs. PC - O melhor programa para estudar Xadrez no GNU/Linux

PuTTY - Release 0.66 - Parte II

TCollection e Generics no Free Pascal - Uma breve visão sobre lista de objetos com o Lazarus

Leitura recomendada

Instalando e configurando um servidor CVS com Subversion

Reparticionando ReiserFS via linha de comando

Sistemas de arquivos para GNU/Linux

Criando uma rede entre o PC Virtual com Linux e o Windows usando Virtual PC

Raid 1 com mdadm

  
Comentários
[1] Comentário enviado por vodooo em 09/12/2004 - 07:29h

Muito bom artigo! Pena que não tenho memória suficiente para dispor 10 mb para a /tmp sem comprometer a perfomance do sistema! :(

Abraços

[2] Comentário enviado por felipebalbi em 09/12/2004 - 11:57h

Muito bom artigo, mas melhor que usar para recursos temporários é usar para montar o sistema em si. Da mesma forma que o Knoppix faz :-)
Ficaria mto mais rápido, guardar uma imagem do boot no hd e na hora do boot copiar para a memória ram!

[]'s
Felipe Balbi

[3] Comentário enviado por Eagle em 10/12/2004 - 01:32h

Bom o artigo...
Algo q eu desconhecia... e muito útil... Vou tentar aqui...

Valew

[4] Comentário enviado por mariojej em 13/11/2005 - 00:19h

Hmm, meu sistema não possui o bloco /dev/shm, talvez tenha que utilizar o loop

[5] Comentário enviado por abranches em 13/10/2006 - 12:28h

Nevertheless, where can I use /dev/shm?
You can use /dev/shm to improve the performance of application software or overall Linux system performance. On heavily loaded system, it can make tons of difference. For example VMware workstation/server can be optimized to improve your Linux host's performance (i.e. improve the performance of your virtual machines).

For example, if you have 8GB RAM then remount /dev/shm as follows:
# mount -o remount,size=8G /dev/shm

To be frank if you have more than 2GB RAM and if you running multiple Virtual machines this hack always improves performance.

fonte :http://www.cyberciti.biz/nixcraft/vivek/blogger/2006/03/what-is-devshm-and-its-practical-usage.php


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts