O Linux tenta automaticamente distribuir cada processo pelas CPUs disponíveis, desde que o Multiprocessamento Simétrico esteja ativado no kernel nível
veja em / boot / config- (preencha a versão do kernel aqui) para o seguinte:
CONFIG_SMP=y
Então, pelo menos no nível do kernel, os processos são tentados para serem distribuídos uniformemente.
Infelizmente, a situação é um pouco mais complicada no nível do usuário. A menos que um programa tenha suporte a Multithread , ele pode ser executado somente em um núcleo. Muitos programas intensivos em processos têm isso, mas você pode precisar ativá-lo com uma opção específica.
Por exemplo, o ffmpeg tem a opção -threads
Existe um programa intensivo de processamento específico que você deseja distribuir pelos núcleos?
Outra coisa que pode ser um problema é a idade do kernel em 10.04 (dois anos de idade). Com um processador mais novo, é possível que nem todos os ganchos estejam lá. Você pode tentar atualizar seu kernel para o versão mais recente ou considere atualizar para uma distribuição do linux com o kernel versão 3.0+. Parece que ainda existem revisões significativas de como o kernel do Linux lida com a arquitetura da ponte arenosa .