Desvantagens de não ter uma partição de troca


8

Eu instalei recentemente o Ubuntu 10.04 no meu laptop. Devido à restrição de espaço do SSD, não configurei uma partição de troca para o sistema operacional e tenho 1,5 GB de RAM.

Há um aviso durante a instalação, mas acho que não é grande coisa, pois tudo correu bem.

A longo prazo, haveria algumas desvantagens de não ter uma partição de swap?


2
O Gparted ficará feliz em gravar alguns shows do seu drive root e fazê-lo com facilidade e tranqüilidade.
msw

Respostas:


6

Eu acho que, se eu quiser escrever uma resposta para a pergunta, primeiro devo explicar um pouco o arquivo do swap aqui. Perdoe-me por minha longevidade.

Um arquivo de troca / partição de troca, semelhante ao arquivo de paginação no Windows, é um espaço em disco dedicado para facilitar o melhor uso da memória. Existem dois usos do espaço de troca.

  1. Quando não há memória suficiente para todos os aplicativos - no caso em que isso acontece com um sistema sem espaço de troca, ocorrerá falha na alocação de memória para o novo aplicativo que solicita novas páginas de memória - e isso geralmente resulta no encerramento do programa.

  2. Quando algumas páginas de memória (a memória é dividida em 'páginas') são usadas há algum tempo, mas não são mais usadas agora, elas seriam transferidas no arquivo de troca e a memória restante pode ser usada para fazer outra coisa que poderia ser mais útil ( por exemplo, mesmo cache!) - quando isso acontece em um sistema sem espaço de troca, isso faz com que as páginas ociosas fiquem na memória. Porém, isso não é nada sério, pois temos uma quantidade muito grande de memória hoje em dia.

E então, agora temos os usos da partição swapfile / swap listados, quanto é geralmente aconselhável? - isso depende da função da máquina. Se for um computador de mesa, defina-o para 1 a 1,5 vezes a memória. Se for uma máquina servidor, faça o mesmo, mas observe que o uso de troca, se for muito usado, atualiza a memória.

Como outros já apontaram, o gparted pode ajudá-lo a criar vários shows de espaço a partir da sua partição ext2 / ext3, mas você também pode usar um arquivo de troca:

dd if=/dev/zero of=/swapfile bs=1024 count=1048576
mkswap /swapfile
swapon /swapfile

Você devia ter

swapfile none swap sw 0 0

on fstabpara garantir que ele está sendo usado em cada reinicialização

E mais uma coisa: se você não se importa em ter um espaço de troca, mas deseja minimizar o uso, a menos que sua memória esteja realmente estendida, você pode alterar a "troca" do kernel alterando /proc/sys/vm/swappiness(valores, 0-100; padrão, 60)


Pode haver outros usos para swap além do que você declarou, como uma partição de swap sendo usada para armazenar automaticamente um arquivo de despejo de memória. Além disso, o tamanho da memória de 1-1,5x não é um valor universalmente aceito. Em teoria, um computador com mais memória precisaria de menos memória para troca, porque tinha X RAM esgotada e precisava de mais RAM, talvez pudesse ajustar essa memória extra à RAM disponível em vez da troca.
TOOGAM

O @TOOGAM foi em 2010, quando as pessoas usam coisas como 2 a 4 GB de RAM em seus computadores.
bubu


3

Se você ficar sem memória, poderá ocorrer um comportamento imprevisível nos seus programas. Às vezes, o kernel começa a perder memória em locais aleatórios . O kernel começará a eliminar processos de baixa prioridade.

Nenhuma memória virtual pode significar grandes problemas, especialmente se começar a eliminar a memória de matar documentos importantes que têm prioridade baixa sendo trabalhada.


3
Isso aconteceria independentemente de você ter ou não trocado.
Ignacio Vazquez-Abrams

2
Na verdade, o kernel não "começará a perder memória em locais aleatórios". Em vez disso, fará o que precisa ser feito e começará a eliminar processos considerados "menos importantes" até que a situação melhore. Isso é feito pelo "OOM killer". Veja por exemplo linux-mm.org/OOM_Killer
sleske

Eu estou corrigido.
Nitrodista

0

Após a instalação, verifique o uso de memória ao executar operações que exigem muita memória ou simplesmente abrir aplicativos "grandes", como o Openoffice.org, descomprimir arquivos e outros. Se você perceber que a memória total usada é de quase 1,5 GB, provavelmente é uma boa ideia ter uma partição ou arquivo de troca, para o caso de você executar convenientemente algo que usa muita memória e o Ubuntu começar a perder memória importante, e talvez até partes do kernel (não é bom, realmente não é bom ...).


Estou curioso, é possível fazer o linux soltar partes de seu kernel para liberar memória para os processos em execução?
Igor Zinov'yev

Provavelmente não, mas você sabe o que quero dizer ...
Hello71

AFAIK, o próprio kernel Linux sempre permanece na memória. Ele é carregado como primeira parte da sequência de inicialização e permanece; a memória nunca é liberada ou trocada. Você pode, no entanto, carregar e descarregar módulos, e essa memória será liberada (acredito), mas normalmente são apenas algumas dezenas de kb por módulo. O kernel também mantém várias estruturas de dados e buffers internos, podendo liberar alguns deles (embora não tenha certeza).
sleske

0

Não é uma resposta completa, mas aqui está uma história de uma coisa que realmente me atacou, mesmo quando eu pensava que tinha todas as desvantagens possíveis sob controle:

/programming/4567972/error-executing-aapt-all-of-the-sudden Em resumo, algumas ferramentas executadas em processos / aplicativos Java realmente grandes não poderão ser executadas sempre. A maioria dos usuários regulares não vai encontrar isso no entanto.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.