Sistemas de arquivos - Conceitos básicos

Este artigo explica os seguintes conceitos básicos: sistemas de arquivos, área de troca (SWAP), diretório temporário (/tmp), sistemas de arquivos virtuais (/proc, /sys, /dev) e os sistemas de arquivos temporários em RAM (/run). Baseado na estrutura do Debian Jessie (Sid).

[ Hits: 38.025 ]

Por: Perfil removido em 19/05/2014


Área de troca ou SWAP



Área de troca ou SWAP, é um tipo especial de sistema de arquivos. A área de troca serve para armazenar transitoriamente os dados contidos em páginas da memória RAM, quando essa começa a ficar cheia. O tamanho padrão de uma página de memória RAM é 4 Kb (4096 bytes).

A área de troca evita que o sistema entre em um estado chamado de Starvation, onde não é possível executar qualquer programa e o sistema congela por falta de memória RAM. Os sistemas com kernel maior que 2.5.22, somente aceitam SWAP padrão V1. O padrão V0 se tornou obsoleto a partir desta versão.

É possível criar até 32 partições de SWAP. Elas são escalonadas por um grau de prioridade de uso definido pelo administrador. Em sistemas particionados com a antiga tabela do tipo MS-DOS, a partição de SWAP deve ser do tipo 0x82 (Linux-Swap).

O particionamento MS-DOS está obsoleto e deve ser evitado. Prefira o particionamento GPT, por ser mais seguro e moderno. Em sistemas GPT, o código de uma partição de troca é 8200. Partições de SWAP podem ser ativadas por seu identificador UUID, pelo rótulo (Label) ou por seu nome de dispositivo.

Programas somente podem ser executados na memória RAM e, para isso, é preciso ter um número mínimo de páginas de memória disponíveis. A função do sistema de arquivos SWAP é "abrir" espaço na RAM, para que um programa seja executado. Isso ocorre em um sistema Linux com pouca memória RAM livre.

Antigamente, quando a memória RAM era um recurso caro e escasso, a utilização de área de troca em disco (SWAP) era muito importante. Hoje, com a maior disponibilidade de RAM e preços por gigabyte mais acessíveis, o recurso SWAP não é muito utilizado.

Muitos usuários fazem instalações sem uma área de troca. Isso é errado, pois a área de troca é uma garantia de funcionamento do sistema, em casos extremos de uso da RAM. A falta de RAM pode acontecer durante o uso intenso ou ser causada por um erro (bug) que leve ao esgotamento da RAM. Um servidor de produção DEVE ter uma área de troca, pois o subsistema de gerenciamento da memória presente no kernel espera por isso.

Atualmente (2014), o tamanho médio para uma área de troca é de 2 GB para sistemas 32 bits e 4 GB para sistemas 64 bits. O tamanho tende a ser igual ao total da RAM física ou metade desse valor, mas isso não é uma regra. Faça sua área de troca do tamanho que achar melhor, levando em consideração a arquitetura do seu kernel, o tamanho da sua memória RAM e a área em disco rígido disponível.

A área de troca DEVE ser definida em uma partição do disco rígido e DEVE ser formatada com o sistema de arquivos do tipo SWAP (mkswap). Excepcionalmente, é possível criar áreas de troca em arquivos, isso somente é feito em caso de emergência, pois reduz o desempenho do sistema como um todo, adiciona sobrecarga ao disco e apresenta desempenho inferior se comparado com SWAP em partição.

Devemos observar que uma área de troca NUNCA é montada, ela é ATIVADA ou DESATIVADA. Apenas partições que armazenam arquivos são montadas e desmontadas. Uma área de troca (SWAP) pode ser automaticamente ativada no momento do boot por uma entrada em /etc/fstab. Isso confunde alguns usuários que pensam que áreas de troca são montadas.

Observe que em /etc/fstab, o ponto de montagem é indicado como nenhum (none), o filesystem é do tipo "swap" e a opção de "montagem" aceita é "sw". Uma partição de swap JAMAIS pode ter um backup feito por DUMP ou ser checada por fsck (isso destrói a SWAP, tornando-a inútil), por isso, o valor zero (0) deve ser inserido para esses dois parâmetros.

Um exemplo de entrada SWAP em /etc/fstab, é:

/dev/sda2  none      swap    sw       0    0

Observe que a área de troca não é um sistema temporário tradicional como é /tmp. As páginas de memória armazenadas na área de troca são programas e dados de programas no formato de binário em memória RAM. As páginas de memória salvas em SWAP, foram retiradas da memória RAM para dar lugar a outros programas e dados que estão em execução.

Os programas e seus dados armazenados na área de troca estão em estado suspenso (sleep), pois um programa somente pode ser executado na RAM. No caso do sistema temporário (/tmp), quem controla a criação e remoção de arquivos é o próprio programa que se utiliza do recurso sistema temporário. No caso do sistema SWAP, quem controla a colocação e remoção das páginas em disco é o subsistema de memória do kernel.

Apesar de ser chamada de memória SWAP, a área de troca NÃO É MEMÓRIA. Ela NÃO emula memória em disco como muitas pessoas pensam. Isso é um mito. O processamento na RAM é da ordem de nanossegundos e a leitura do disco rígido é da ordem de milissegundos. Entre essas unidades, há uma distância da ordem de 1.000 vezes de diferença (10^3).

Logo, utilizar SWAP não é uma boa estratégia para desempenho, mas apenas uma estratégia de segurança do sistema, SWAP reduz o desempenho geral do sistema. Sistemas que estão demandando muito a área de troca, estão indicando que precisam imediatamente de mais RAM.

Aumentar a área de troca não aumenta a quantidade de memória do sistema e se a quantidade de SWAP for excessiva em relação à RAM, pode degradar ainda mais o sistema.

Página anterior     Próxima página

Páginas do artigo
   1. Sistema de arquivos
   2. Área de troca ou SWAP
   3. O diretório temporário ou /tmp
   4. Sistemas de arquivos virtuais
   5. Sistemas de arquivos temporários em memória RAM
Outros artigos deste autor

A camada de enlace de dados

"TORIFICANDO" todo um sistema GNU/Linux utilizando a rede TOR

Monitorando processos no Linux com o Htop

Utilizando GMail (Google Mail) em seu cliente de email favorito

Funtoo Linux - Arquivo /etc/boot.conf

Leitura recomendada

CentOS e LVM

Trabalhando com init no Debian

Como instalar Ubuntu no Pendrive (não é Live-USB) em modo UEFI

Como atualizar o Ubuntu Dapper (6.06) para Edgy (6.10)

GmailFS - sua conta de e-mail como um sistema de arquivos no Slackware 10.2

  
Comentários
[1] Comentário enviado por JFurio em 19/05/2014 - 09:05h

Parabéns pelo artigo, ficou muito bom, esclareceu muito com relação ao SWAP!

[2] Comentário enviado por jwolff em 19/05/2014 - 17:17h

Favoritado!

[3] Comentário enviado por removido em 19/05/2014 - 17:26h

Sempre aprendo muito com esse cara!

Houve um tempo que tinha desistido da SWAP.

Nessa nova instalação fiz tudo certo, agora tenho tenho área de troca do tamanho de minha RAM, para todo e qualquer sistema que precisar.


Ótimo e muito útil esse artigo!

[4] Comentário enviado por mcnd2 em 20/05/2014 - 19:42h

10!...

Sempre é bom aprender de como o sistema realmente funciona com seus arquivos de configurações.

Favoritado.

[5] Comentário enviado por albfneto em 21/05/2014 - 07:18h

Muito bom esse Artigo.
Artigos de Teoria Linux, são sempre interessantes e benvindos.
Favoritado e 10.

[6] Comentário enviado por removido em 28/08/2014 - 11:32h

Cara, desculpa o nível da pergunta hahaha mas quando você diz "sistema de produção" a qual tipo de sistema, exatamente, você está se referindo?

No mais parabéns pelo artigo! MUITO esclarecedor (:

[7] Comentário enviado por alysonpires em 31/08/2014 - 19:35h

Cara, o material é tão bom que não dá pra considerar como "conceitos BÁSICOS". Isso é mais que básico! Material muito bom! Parabéns :D

[8] Comentário enviado por darkoverde em 21/11/2014 - 12:00h

Excelente artigo.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts