Gostaria de aumentar (ou diminuir) a quantidade de memória disponível para R. Quais são os métodos para conseguir isso?
Gostaria de aumentar (ou diminuir) a quantidade de memória disponível para R. Quais são os métodos para conseguir isso?
Respostas:
De:
http://gking.harvard.edu/zelig/docs/How_do_I2.html ( espelho )
Os usuários do Windows podem receber o erro que o R ficou sem memória.
Se você já possui o R instalado e posteriormente instala mais RAM, pode ser necessário reinstalar o R para aproveitar a capacidade adicional.
Você também pode definir a quantidade de memória disponível manualmente. Feche R e clique com o botão direito do mouse no ícone do programa R (o ícone na área de trabalho ou no diretório de programas). Selecione `` Propriedades '' e selecione a guia `` Atalho ''. Procure o campo `` Target '' e, após as aspas finais ao redor do local do executável R, adicione
--max-mem-size = 500M
conforme mostrado na figura abaixo. Você pode aumentar esse valor em até 2 GB ou a quantidade máxima de RAM física instalada.
Se você receber o erro de que R não pode alocar um vetor de comprimento x, feche R e adicione a seguinte linha ao campo `` Destino '':
--max-vsize = 500M
ou conforme apropriado. Você sempre pode verificar a quantidade de memória que R tem disponível, digitando no prompt R
memory.limit()
que fornece a quantidade de memória disponível em MB. Nas versões anteriores do R você precisava usar: round(memory.limit()/2^20, 2)
.
Use memory.limit()
. Você pode aumentar o padrão usando este comando memory.limit(size=2500)
, em que o tamanho está em MB. Você precisa usar 64 bits para tirar proveito real disso.
Uma outra sugestão é usar objetos com eficiência de memória sempre que possível: por exemplo, use uma matriz em vez de um data.frame.
O Microsoft Windows aceita qualquer solicitação de memória dos processos, se possível.
Não há limite para a memória que pode ser fornecida a um processo, exceto o Tamanho da Memória Virtual.
O tamanho da memória virtual é de 4 GB em sistemas de 32 bits para qualquer processo, não importa quantos aplicativos você esteja executando. Qualquer processo pode alocar até 4 GB de memória em sistemas de 32 bits.
Na prática, o Windows aloca automaticamente algumas partes da memória alocada da RAM ou do arquivo de paginação, dependendo das solicitações de processos e do mecanismo do arquivo de paginação.
Mas outro limite é o tamanho do arquivo de paginação. Se você tiver um pequeno arquivo de paginação, não poderá alocar grandes memórias. Você pode aumentar o tamanho do arquivo de paginação de acordo com a Microsoft para ter mais espaço de memória.
Para aumentar a quantidade de memória alocada para R, você pode usar memory.limit
memory.limit(size = ...)
Ou
memory.size(max = ...)
Sobre os argumentos