Como alocar mais memória para Python? Mac OS

0

Estou gerando um dicionário de força bruta em Python no meu Mac para um torneio CTF. Fiquei me perguntando se há uma maneira de dedicar mais RAM para esse processo. O meu objetivo é tornar isso mais rápido, por isso, se houver uma abordagem diferente, estou aberto! Obrigado!!

Harry qwerty
fonte
pode ser mais adequado para a engenharia de software ou site semelhante
Albin
Você ficou sem memória ao executar o processo?
Aulis Ronkainen
Aulis ronkainen não, eu não fiz. Só quero fazer isso ir mais rápido. Eu tenho um tempo limitado. Estou criando um dicionário que está gerando todas as letras e números. Por exemplo, aa ab ... aA aB ... A1 A2 ...
Harry qwerty 17/11
4
A RAM @Harryqwerty é alocada dinamicamente com base no uso do processo. Se o processo não estiver sendo alocado para muita memória, é provável que ele simplesmente não esteja usando muita memória, e adicionar mais não acelera (apenas há muita memória não utilizada por aí).
Gordon Davisson
@GordonDavisson, obrigado! Era exatamente para isso que eu estava indo.
Aulis Ronkainen

Respostas:

0

Se a conta do usuário não estiver limitada ulimit, ela consumirá a quantidade de memória necessária da RAM física livre (mesmo se você a limitar, ulimitainda poderá usar a memória virtual).

O problema ocorrerá se o seu programa tentar preencher a RAM com caracteres gerados. Em algum momento, você preencherá toda a RAM disponível e seu processo começará a trocar para a memória virtual (ou basicamente para um arquivo) que diminui a velocidade de todo o PC, já que o sistema operacional também precisa de um pouco de fôlego e a alternância prejudica o desempenho de toda a máquina.

A abordagem correta para essas tarefas é alocar um pequeno buffer na memória (por exemplo, de 4 a 8 Mb) e despejar periodicamente o buffer (no modo de acréscimo) em um arquivo. Essa seria a solução mais rápida no seu caso, sem colocar o sistema operacional em risco.

Alex
fonte