Como eu permito que um programa use mais CPU em máquinas virtuais rodando Debian?

0

Eu faço processamento de áudio no Debian Linux, e descubro que uma máquina virtual com apenas um núcleo codifica áudio como OGG ou AAC quase tão rápido quanto oito núcleos de CPU.

Como não tenho uma educação sistemática em ciências da computação, perdi o papel de alocar recursos de CPU, e o que tentei até agora no Linux parece ser um beco sem saída, por isso vou poupá-lo.

Em suma, existe uma maneira de eu lançar um codificador, como fdkaac (não-livre) ou oggenc de modo que use tanto CPU quanto o sistema tem disponível?

    
por Realo 20.08.2016 / 22:02

1 resposta

2

Para se beneficiar de vários núcleos de CPU, o programa de codificador que você está usando deve ser escrito de maneira especial (com threads). Este não é o caso de oggenc . Você pode tentar usar codificadores que suportem threads, como mencoder . mencoder tem um parâmetro threads que você deve definir como 8 (seu valor padrão é 1, significando sem threads).

Outra possibilidade (que geralmente é preferida) é codificar vários arquivos ao mesmo tempo, com várias instâncias do codificador sendo executadas em paralelo. Neste caso, não é necessário suporte a threads do próprio codificador, pois o SO cuidará do agendamento dos processos do codificador para os núcleos de CPU disponíveis.

    
por 24.08.2016 / 13:59