quinta-feira, 17 de dezembro de 2009

Gerencimento de Volumes Logicos - Parte 3.

Area e Swap (swap space)

Swap é uma area de armazenamento em disco para uso da memoria virtual, para executar swapping ou paging de processos.
A memoria fisica é um recurso limitado, isso significa que somente alguns processos podem estar presente na memoria em um periodo de tempo, enquanto outros processos estão aguardando. Em função dessa situação foi introduzido o conceito de swap; quando a solicitação de memoria fisica for alta os processos inteiros ou parte deles são colocados em area de swap, e quando essa solicitação diminui os processos inteiros ou parte deles são trazidos de votla para a memoria.

Existe um daemon chamado "Vhand", que monitora cada pagina de memoria tentando encontrar paginas ( uma pagina é igual a 4 Kbytes) que não estejam sendo acessadas atualmente. Se existir uma alta solicitação de memoria, as paginas que não estão sendo acessadas atualmente são levadas para a area de swap (swap out) atraves do "Vhand". Um outro daemon "statdaemon" retem informações de quando o Vhand esta ocupado. Quando o statdaemon percebe que o Vhand não esta conseguindo manter a memoria livre tão rapido quanto são as solicitações, ele ativa o "swapper".
  • Vhand - leva/retorna paginas de processos para/da area de swap. (paging out e paging in)
  • Swapper - leva/retorna processos inteiros para/da area de swap
Com relação a memoria fisica deve se distinguir 3 conceitos:
  • real memory - é a quantidade de memoria fisica instalada no sistema
  • lockable memory - é a  quantidade de memoria reservada por um subsistema ou por um processo. Não pode ser feito swap do conteudo dessa area.
  • availabe memory - é a memoria disponivel para ser utilizada como memoria virtual.
Essas informações podem ser obtidas pelo comando "dmesg".

Todo o gerenciamento de memoria é efetuado pelo MMU (Memory Management Unit) que intarage entre os endereços dos espaços fisicos e endereços dos espaços logicos.
TERMOS UTILIZADOS:
  • device swap - Uma partição (seção ou LVM) ou um disco inteiro, utilizado exclusivametne para swap. O device swap não utiliza o espaço de um file system. Exceto para o swap primario, os demais podem ser configurados dinamicamente.
  • primary swap - é um tipo especial de device swap que esta localizado no mesmo disco do file system root e é ativado durante o boot.
  • secondary swap - é um tipo especial de device swap adicional que pode estar localizado em qualquer outro disco.
  • File System Swap - é uma area de swap adicional reservada dentro de uma file system. É configurada dinamicamente e utilizada quando o espaço do device swap não for suficiente.
  • Pseudo Swap - permite utilizar uma parte da memoria real como area de swap. Desta forma a memoria real tera uma area disponivel para execução de processos e uma area disponivel para utilização de swap. É indicado para quando se tem muita memoria real. O pseudo swap é configurado no Kernel atraves do parametro "swappseudo-on" (1 = habilitado e 0 = desabilitado, o default é 1)
Observações

- Algumas aplicações necessitam de uma quantidade minima de area de swap para serem executadas adequadamente. A quantidade necessaria normalmente esta escrita na documentação da aplicação.
- A mensagem de erro "sorry pid xxxxxx was killed due to no swap space" aparece quando não ha espaço de swap disponivel para execução do processo. Verifique o espaço de disco disponivel para aumentar ou criar area de swap.

- O tamanho da area de swap necessaria equivale a 2 vezes a memoria real, esse assunto é discutivel, hoje em muitos sistemam, 1 vez o tamanho é suficiente as vezes ate menos.
- Coloque uma unica partição de swap por disco do contrario podera resultar num excessivo movimento de cabeça de disco.

- As areas dos devices swap devem ter tamanhos semelhantes.

- Areas de swap em discos diferentes são tratados intercalando a utilização de espaços de um disco e de outro disco.

- Quando se define uma area de swap, deve-se atribuir a prioridade de uso da area (0-melhor a 10-pior). O sistema utiliza primeiramente as areas de prioridade 0 e depois as de prioridade 10.

- Areas de swap criadas em dispositivos mais rapidos devem ter melhor prioridade.

- Area de swap em file system devem ter prioridade pior, ou seja mais proximo de 10.

- A area total de swap disponivel no sistema consiste de todas as areas de swap disponiveis (device swap e file system swap). O gerenciador de swap reserva o espaço de swap no momento da criação do processo, mas somente aloca o espaço no momento de fazer o swap.

- "swapinfo" é o comando que exibe informações sobre as areas de swap. Na listagem exibida podera ser identificado 3 tipos de swap; "dev" (device swap), "fs" (file system swap) e "hold" (montante de area reservada na criação do processo, porem ainda não alocada). Algumas das opções do comando swapinfo são:
-t inclui uma linha de totais.
-a exibe todas as areas de swap, inclusive as que não estão em uso.
-d exibe informações das devices swap somente.
-q imprime somente os totais.

Nenhum comentário:

Postar um comentário