segunda-feira, 13 de julho de 2009

Área de swap

Como ela é utilizada?
A área de swap é utilizada quando o kernel está sem memória devido a chamada de um fork para criar um processo filho, um brk para aumentar o segmento de dados, para alocar uma pilha que estourou o espaço alocado ou para trazer de volta um processo que já estava no disco.
Para determinar quem será guardado no disco, o swapper procura por arquivos que estão bloqueados, que estão há mais tempo parados e pela prioridade.
Após isso, o swapper ainda verifica de quando em quando se é possível recolocar um processo que está no disco de volta para a memória. Algumas vezes, é preciso fazer o swap de processos na memória para devolver um processo que estava no disco (o que é chamado de hard swap).
A área de swap é ativada principalmente para compensar o excesso de consumo de memória de alguns programas, algum eventual processo que ocupe muito mais memória do que o esperado, para otimizar o uso da memória desalocando processos da memória para dar lugar à memória-cache, e para hibernar o sistema.

Qual o tamanho ideal da área de swap?
O tamanho ideal para a área de swap é bastante discutido e o senso comum é de que o ideal é que esse tamanho esteja entre n e 2*n, onde n é o tamanho de sua memória física.
Note que o processo de hibernação guarda toda a ram no swap, portanto nesse caso o swap deve possuir no mínimo o tamanho da ram!

Referências
http://jno.glas.net/data/prog_books/lin_kern_2.6/0596005652/understandlk-CHP-17-SECT-4.html
http://www.cab.u-szeged.hu/local/linux/doc/sag/node63.html
https://help.ubuntu.com/community/SwapFaq
http://se9.blogspot.com/2008/02/design-issue-i-came-across-while.html
A.S.Tanbaum, Modern Operating System 2nd ed

Nenhum comentário:

Postar um comentário