O que é melhor para o desempenho? Uma partição mais próxima da parte interna do disco terá tempos de acesso mais lentos, e devemos esperar que a unidade alterne entre o SO e as partições de swap.
Por outro lado, uma partição swap ignora todo o sistema de arquivos, permitindo gravações no disco diretamente, o que pode ser mais rápido que um arquivo.
Qual é a troca de desempenho?
Quanto é que ter um arquivo de troca de tamanho fixo faz diferença?
É possível que demore mais para mudar para a partição de troca, mas o desempenho será melhor enquanto estiver na partição de troca que, se tivesse sido um arquivo de troca?
Respostas:
Nos discos rígidos, a taxa de transferência e a busca geralmente são mais rápidas no início do disco, porque esses dados são armazenados mais perto da área externa do disco, que possui mais setores por cilindro. Assim, a criação da troca no início do disco pode melhorar o desempenho.
Para um kernel Linux 2.6, não há diferença de desempenho entre uma partição de troca e um arquivo de troca não fragmentado . Quando uma partição / arquivo de troca é ativada pelo swapon, o kernel 2.6 encontra em quais blocos de disco o arquivo de troca está armazenado , de modo que quando chega a hora de trocar, ele não precisa lidar com o sistema de arquivos.
Portanto, se o arquivo de troca não estiver fragmentado, é exatamente como se houvesse uma partição de troca no mesmo local. Em outras palavras, você obteria desempenho idêntico se usasse uma partição de swap bruta ou a formatasse com um sistema de arquivos e, em seguida, criasse um arquivo de swap que ocupasse todo o espaço, pois de qualquer maneira nesse disco há uma região contígua usada para a troca, qual o kernel usa diretamente.
Portanto, se alguém criar o arquivo de troca quando o sistema de arquivos estiver atualizado (garantindo assim que não seja fragmentado e no início do volume), o desempenho deverá ser idêntico a ter uma partição de troca imediatamente antes do volume. Além disso, se alguém criar o swapfile, digamos no meio do volume, com arquivos de ambos os lados, poderá obter um desempenho melhor, pois há menos procura de troca.
No Linux, se o arquivo de troca for criado sem fragmentação e nunca expandido, ele não poderá se fragmentar, pelo menos com sistemas de arquivos normais como ext3 / 4. Ele sempre usará os mesmos blocos de disco, que são contíguos.
Concluo que o único benefício de uma partição de troca dedicada é a desfragmentação garantida quando você precisar expandi-la; se sua troca nunca for expandida, um arquivo criado em um sistema de arquivos novo não precisará de uma partição extra.
fonte
Na verdade, não faz muita diferença, desde que você não use arquivos esparsos .
A criação de um arquivo "normal" com o dd alocará o arquivo (se possível) em uma única execução, enquanto a criação de um arquivo esparso informará que você tem um arquivo de 10 GB por aí, mas não está usando todo o espaço. Não tenho certeza se o mkswap não alocará o espaço de qualquer maneira, mas normalmente um arquivo de troca aumentará com o tempo e, portanto, não alocará um setor contínuo (como parte do disco), mas alocará os blocos necessários, o que leva a fragmentação ao longo do tempo (é claro, dependendo do uso do disco)
Internamente, o kernel do Linux acessa os blocos subjacentes de um arquivo de swap mais ou menos diretamente - não consigo encontrar o link no momento, o que acontece nos bastidores, você precisa confiar em mim, a menos que alguém ache algo mais oficial. Tudo o que posso apresentar agora é:
isso tudo se aplica apenas à linha 2.6 dos kernels do Linux.
Se você deseja um desempenho ideal (e o que é isso, realmente? ... a troca é lenta, ponto final. Aumente a RAM para não trocar pelo melhor desempenho), você deseja usar uma partição.
fonte
Esta é uma pergunta interessante e tenho lido muito sobre o mesmo. Geralmente, uma partição de troca é melhor que um arquivo devido ao sistema de arquivos subjacente. Mas se você sempre precisa aumentar o tamanho da sua troca, o arquivo é uma opção melhor. Até o kernel 2.4, considerou-se que uma partição swap é mais rápida que um arquivo, mas agora com as melhorias do kernel 2.6, os desempenhos são quase os mesmos.
Algo que eu encontrei na internet também.
http://www.go2linux.org/swap-file-vs-swap-partition
e
http://www.sunmanagers.org/pipermail/summaries/2005-November/006913.html
fonte
Acho que no momento em que estamos, a menos que você esteja executando um laptop com uma configuração que grava os dados no swap quando ele suspende / dorme, o swap deve realmente ser considerado "último recurso". Sua melhor aposta é colocar RAM suficiente em uma caixa para que nunca pagine no disco.
Dito isto, uma partição é provavelmente a melhor maneira, em termos de desempenho, embora um arquivo seja mais flexível. Apenas verifique se está em um eixo de 7200 + RPM.
fonte
O pensamento em nosso trabalho é que, como um arquivo Swap pode se fragmentar e a fragmentação diminui o acesso à troca, uma partição é uma abordagem melhor. Obviamente, definir um arquivo de troca com tamanho estático faz a mesma coisa, mas isso parece subjetivamente mais limpo.
Essa abordagem é a única maneira verdadeira? Provavelmente não, pois a prática foi estabelecida há quase 10 anos. A única grande mudança na tecnologia de drives nos anos seguintes é a complexidade dos controladores RAID que usamos (ainda não somos ricos o suficiente para SSDs). O aumento no tamanho da unidade significa que a partição de troca que criamos está mais próxima do início da unidade do que era quando as unidades de 18 GB eram fornecidas como padrão, portanto, as velocidades de troca são ainda mais rápidas do que nos dias antigos.
Obviamente, em nossos sistemas Windows baseados em ESX, a posição do arquivo de troca é completamente, totalmente discutível. Existem tantas camadas de virtualização entre o arquivo de troca e os pratos físicos de disco que isso simplesmente não importa. Mas mantemos em uma partição separada, porque esse é apenas o padrão.
fonte
O uso de um arquivo de troca pode usar um pouco de memória extra para a conversão de arquivo em memória. Estamos falando de menos de 1 MB de memória por troca de 1 GB. O cache do sistema de arquivos NÃO armazena em cache os dados trocados, apenas os dados organizacionais, que devem ser a maioria dos requisitos de memória extra.
Além disso, duvido que você perderá um desempenho razoável, exceto talvez uma vez em mil vezes uma única busca adicional na cabeça.
Curiosamente, o uso do zswap em conjunto com um arquivo de swap em expansão dinâmica resulta em uma velocidade impressionante nas operações de swap a um custo muito baixo enquanto não é utilizado.
fonte