Estou tentando executar um monte de scripts relacionados a um servidor de jogos no Terminator. O único problema é que, quando faço isso, o Terminator detecta todos os núcleos da minha CPU e o PC fica atrasado. Existe alguma maneira de iniciá-lo, mas induzi-lo a pensar que só tenho 1 núcleo de CPU?
28
Respostas:
Não é isso
terminator
que está fazendo a "propagação" em toda a CPU de um determinado processo. O próprio Linux (o kernel) está fazendo isso. Uma tarefa (processo) está agendada como disponível para execução em todas as CPUs por padrão; se ele usa threads, pode usar mais de uma CPU por vez.Para restringir um processo a uma CPU específica, você pode usar o comando
taskset
.Este comando força o my_command a ser executado apenas nas CPUs # 1 ou # 2.
Para saber mais, digite
man taskset
ou pesquise "afinidade da CPU do Linux" (primeiro acesso aqui ).fonte
kernel.sched_autogroup_enabled = 0
ao/etc/sysctl.conf
para fazê-lo funcionar. No entanto, também descobri que o 13.10 frequentemente entra em pânico no kernel durante a inicialização, se o grupo automático estiver desabilitado.Embora outra resposta já tenha dado a resposta literal, eu exploraria a possibilidade de que isso não esteja sendo feito da maneira correta. Em vez disso, você deve executar um script que não deseja desacelerar o computador (como scripts não interativos) usando o
nice
comandoPara fazer isso, basta prefixar o comando que você deseja executar com nice, por exemplo:
nice command_to_run
Isso fará com que o programa seja priorizado abaixo de outras tarefas e não diminuirá a velocidade da sua máquina. Costumo usar essa técnica ao fazer uma compilação longa que, caso contrário, atrasaria meu PC para um rastreamento. Isso tem a vantagem de permitir que o programa use todos os núcleos quando a máquina não estiver ocupada, mas interromperá rapidamente o uso quando você executar algo outro.fonte
taskset nice open terminator
para usar os dois. No entanto, isso será um exagero, pois você usará dois programas diferentes para alcançar o efeito de reduzir o uso de recursos do programa.