Tamanho máximo do arquivo de permuta

1

Estou fazendo um processamento de arquivos que parece exigir um enorme arquivo de troca: mesmo 20Gb não é suficiente. Qual é o máximo teórico? A execução de swapon em um arquivo de 1 TB resultou em:

swapon: /mnt/big/swap.swap: swapon failed: Invalid argument

O sistema em questão é uma VM do Ubuntu em execução no OpenStack e a unidade é montada em NFS. Respostas que são mais amplas do que isso são boas também.

    
por Steve Bennett 14.06.2012 / 01:46

2 respostas

2

A mensagem de erro aqui provavelmente não vem do tamanho do arquivo de troca em si, mas de sua localização em uma montagem NFS. Não há nada errado, acredito em um arquivo de troca de 1 TB. Imagine que tipo de troca estará lá em um multiprocessador SMP com 4TB de RAM!

Para trocar em um arquivo remoto, você pode fazer o seguinte:

  # losetup /dev/loop0 /mnt/big/swap.swap
  # mkswap /dev/loop0
  # swapon /dev/loop0
    
por 14.06.2012 / 20:23
0

A Microsoft sugere que "é quatro vezes a RAM física no computador, arredondada para os próximos 4 megabytes (MB)".

Mas eu tenho que concordar com psusi. Deve haver uma maneira melhor de processar esse arquivo. Por exemplo, se você pode pegar pedaços dele de cada vez. Consegui analisar um arquivo XML muito grande dessa maneira. E para arquivos em que você só acessa uma linha por vez, usa menos memória do que carregar todo o arquivo na memória e depois analisá-lo.

    
por 14.06.2012 / 04:42

Tags