Kernel Compile falhando no Hyper-V devido a problemas de memória

2

IssoestáemumamáquinacomHyper-V.EuconfigureiaRAMmínimapara512eomáximopara2048.AmáquinahosttemRAMsuficiente,então.

OLinuxtemumproblemacomaRAMdinâmicanoHyper-V?Nãoconsigodescobrirporqueestamostendoproblemasdememória.

EDITAR:EutambémdesativeioDynamicRAMeconfigureiomin/startuppara2048MB.Aindatravoucomproblemasdefaltadememória.

EDITAR:

[root@localhost~]#free-mtotalusedfreesharedbufferscachedMem:186912406290271049-/+buffers/cache:1621706Swap:9916985

Issoéduranteacompilação.Euvoupostarsobreofracasso.Aúltimavezquefizisso,osistemaaindatinhaumaboaquantidadedeRAMlivrenoacidente.

PS:Eunoteiqueseeutentarusarmake-jparausarmaisprocessadores(12),acompilaçãoiráfalharquaseinstantaneamente.

Aquiestáumexemplode4GBDedicatedusandoaopçãomake-j.Acompilaçãocaiuumpoucodepoisdemake-j.

EDIT3: Eu era capaz de compilar o kernel, finalmente, sem usar a opção -j, mas porque o Hyper-V está me dando erros de memória como este é estranho. Ainda fazendo algumas depurações.

    
por Jason 27.07.2014 / 19:41

1 resposta

2

make -j (sem argumento para -j ) não possui um limite superior para o número de comandos que são iniciados. Ele paraleliza o máximo possível, não apenas até o número de núcleos (como sugere a pergunta).

make -j 12 (ou talvez menos de 12 dependendo de como a memória está com fome de cada processo) é provavelmente um comando mais sensato na sua situação.

De man 1 make :

   -j [jobs], --jobs[=jobs]
        Specifies the number of jobs (commands) to run simultaneously.  If
        there  is  more than one -j option, the last one is effective.  If
        the -j option is given without an argument, make  will  not  limit
        the number of jobs that can run simultaneously.
    
por 27.07.2014 / 21:30