Como forçar o gcc & ld (fazer totalmente) usar menos memória?

0

Eu tenho que compilar uma fonte gerada por computador com minhas fontes, que é muito grande e eu não tenho controle sobre isso. Como minha memória não é muito, tenho que forçar a usar menos memória. Caso contrário, ele é morto pelo sistema operacional (preciso). O que posso fazer?

    
por hamidi 11.06.2016 / 18:38

2 respostas

3

Que tal adicionar mais swap à sua máquina como solução? Isso adicionará mais memória virtual e poderá permitir que você construa seu código sem que o OOM killer mate o compilador. Se você não quer mexer em fazer sua partição swap maior, você pode adicionar um arquivo de troca temporário. Por exemplo, adicionando um swap de 4GB baseado em arquivo:

dd if=/dev/zero of=swap.img bs=1M count=4096
mkswap swap.img
chmod 0600 swap.img 
sudo chown root:root swap.img
swapon swap.img
    
por Colin Ian King 11.06.2016 / 20:31
-1

Você já tentou usar nice ? Permite definir uma prioridade personalizada para seus processos. nice varia de -20 a 19, sendo 19 a mais baixa prioridade e -20 a mais alta. Você poderia tentar algo assim:

nice -n 19 command_you_want_to_execute

Exemplo:

nice -n 19 firefox

Editar : elaborando um pouco da minha resposta, se o seu sistema operacional mata o seu processo, é porque está usando os recursos necessários para o funcionamento correto do seu sistema. Se você der ao seu processo uma prioridade menor, esses recursos serão automaticamente alocados para tarefas mais importantes do sistema.

    
por Guillermo Jiménez 11.06.2016 / 19:47