é possível executar o processo que usa apenas 2 CPU de 16 CPU na minha máquina linux

1

é possível executar processos que usam apenas 2 CPUs de 16 CPUs na minha máquina linux

temos a versão 6 da máquina de chapéu vermelho e nós temos 16 CPUs

mas porque a licença custa dinheiro e se limitarmos o script que será executado apenas em 2 CPUs, poderemos economizar o dinheiro

    
por yael 02.04.2017 / 16:54

1 resposta

1

Você pode restringir a execução de um processo em um núcleo específico (conjunto de) com taskset .

taskset 3 mycommand

( 3 é uma máscara de bits, o que significa que mycommand será executado apenas nos núcleos 0 e 1.)

No entanto, isso não alterará quantas CPUs o processo acha que você tem. É apenas uma instrução para o kernel não programar o processo em CPUs além daquelas listadas na máscara de bits. Portanto, se o programa fizer uma verificação de licença com base no número de CPUs, isso provavelmente não ajudará.

Uma solução que definitivamente funcionaria é executar o processo em uma máquina virtual com apenas 2 núcleos (virtuais). No entanto, isso pode custar desempenho.

O Cgroups oferece uma maneira intermediária de limitar os recursos que um processo pode usar. Eu não sei se ele pode efetivamente esconder CPUs do processo ou se ele age apenas como taskset .

    
por 03.04.2017 / 02:58