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?

segfault
fonte
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)

bubu
fonte
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
7

Não há suspensão no disco.

Henk Poley
fonte
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.

Nitrodista
fonte
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 ...).

Hello71
fonte
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.

pjv
fonte