Troca: Melhor criar uma partição de troca dedicada ou criar um arquivo de troca?

9

existe uma justificativa para criar uma partição de troca dedicada versus criar um arquivo de troca, por exemplo, como / tmp / swap?

No meu caso, a memória é baixa (1 GB), o espaço em disco em um SSD é bastante grande (256 GB). Assim, a troca acontecerá com bastante regularidade.

Quaisquer comentários apreciados!

Carsten

CarstenP
fonte
4
Esteja ciente de que você pode reduzir a vida útil do seu SSD usando-o para troca. askubuntu.com/questions/652337/…
steve

Respostas:

3

A principal desvantagem que eu vejo ao usar arquivos de troca em vez de partições de troca é que não é possível que uma partição de troca seja fragmentada, enquanto é possível que, após a criação, um arquivo de troca em um sistema de arquivos de extensão possa ser dividido no disco, causando acesso sequencial mais lento.

DopeGhoti
fonte
2
Como os SSDs não têm uma penalidade de leitura aleatória, há muito pouco dano no arquivo fragmentado.
David King
Para ser sincero, sou a favor de uma partição de swap desde então, mas, como dizemos aqui na Alemanha, "não há custo em perguntar" ;-) #
306 CarstenP
1
Costumo fazer arquivos de troca para uso temporário se prever um grande projeto que possa esgotar a RAM configurada e as partições de troca, mas gosto de mantê-lo particionado. Dessa forma, eu posso reutilizar partições de troca entre distribuições Linux tão prontamente quanto posso reutilizar partições domésticas.
DopeGhoti
1
A parte sobre “mais camadas de código do kernel a percorrer ao gravar em um arquivo em um sistema de arquivos” não é verdadeira: “ O kernel gera um mapa de deslocamento de troca -> blocos de disco no momento da troca e, a partir de então, usa esse mapa para executar troca E / S diretamente na fila de disco subjacente, ignorando todo o cache, metadados e código do sistema de arquivos. ”- Arquivo Linux-Kernel: Re: Trocar partição vs arquivo de troca
Anthony Geoghegan
1

As operações de E / S em um arquivo precisam passar por mais camadas de código do kernel (VFS, por exemplo), para que haja mais sobrecarga associada à troca para um arquivo. Por outro lado, é uma configuração mais flexível e pode ser boa o suficiente para o seu caso.

Karol Nowak
fonte
Talvez eu deva me familiarizar mais com a troca de pompa, patos e circunstâncias de E / S ... Não há nada sobre o Linux ser legal, lento e simples? ^^: D PS: Bem, esqueça a coisa "lenta" ... ^^
CarstenP 15/15/15
Isso não é verdade: “ O kernel gera um mapa de deslocamento de troca -> blocos de disco no momento do swapon e, a partir de então, usa esse mapa para executar E / S de troca diretamente na fila de disco subjacente, ignorando todo o cache, metadados e código do sistema de arquivos. ”- Arquivo Linux-Kernel: Re: Trocar partição vs arquivo de troca
Anthony Geoghegan 10/03
1

O acesso aos arquivos de troca não passa pelo sistema de arquivos ... o kernel sabe quais blocos de disco são trocados e os acessa diretamente 1 . Mas um arquivo não contíguo pode ter fragmentos em diferentes áreas do disco e, dependendo do uso específico, a busca adicional pode torná-lo mais lento que uma partição dedicada.

OTOH, se você estiver lidando com um servidor em nuvem que não possui partição de troca e não há possibilidade de criar uma, um arquivo de troca pode salvar seu aplicativo.


[1]O kernel gera um mapa de deslocamento de troca -> blocos de disco no momento da troca e, a partir de então, usa esse mapa para executar E / S de troca diretamente na fila de disco subjacente, ignorando todo o cache, metadados e código do sistema de arquivos. ”- Arquivo Linux-Kernel: Re: Swap partition vs swap file

George
fonte
Qual é o caso se o fs mover / redimensionar blocos de arquivos? Eu acho que no caso dos arquivos de troca, pelo menos alguma interação do driver fs deve existir.
peterh - Restabelece Monica
Votado. Essa deve ser a resposta aceita, pois é a única que afirma que o kernel acessa diretamente os blocos de disco usados ​​para troca.
Anthony Geoghegan