Como foi dito no título do artigo, um escalonador de CPU (
CPU Scalling) é um recurso do kernel
Linux que visa adequar o uso da CPU em relação à demanda de uso do sistema e levando em conta também o consumo de energia. Basicamente cada interface gráfica tem o seu sistema de escolha mas, no Gnome, não há nativamente um modo de escolha direta do que usar, ficando no padrão "schedutil" de escalonador. Para saber os escalonadores disponíveis, digite no
Terminal:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
Deverá aparecer algo assim:
conservative ondemand userspace powersave performance schedutil
Cada um dessas opções tem uma funcionalidade e podem impactar no desempenho geral da máquina. Vamos às explicações:
1. Conservative
Descrição: Ajusta a frequência da CPU gradualmente em pequenos passos.
Comportamento: Aumenta ou diminui a frequência lentamente, o que é útil para economizar energia quando as mudanças de carga não são súbitas.
Uso: Bom para laptops e dispositivos móveis onde a eficiência energética é importante, mas ainda se deseja desempenho razoável.
2. Ondemand
Descrição: Ajusta a frequência da CPU rapidamente com base na carga atual.
Comportamento: Aumenta a frequência da CPU para o máximo quando a carga ultrapassa um certo limite e reduz a frequência quando a carga diminui.
Uso: Adequado para servidores e desktops onde é necessário um bom equilíbrio entre desempenho e economia de energia.
3. Userspace
Descrição: Permite que programas no espaço do usuário definam a frequência da CPU.
Comportamento: Oferece controle total ao usuário ou a programas para definir a frequência da CPU conforme necessário.
Uso: Utilizado principalmente em sistemas embarcados ou em configurações específicas onde um programa personalizado controla o desempenho da CPU.
4. Powersave
Descrição: Define a frequência da CPU para o mínimo permitido.
Comportamento: Mantém a CPU na frequência mais baixa possível, priorizando a economia de energia em detrimento do desempenho.
Uso: Ideal para laptops e dispositivos móveis quando a conservação de energia é crucial, como em situações de bateria baixa.
5. Performance
Descrição: Define a frequência da CPU para o máximo permitido.
Comportamento: Mantém a CPU na frequência mais alta possível para maximizar o desempenho.
Uso: Usado em desktops e servidores onde o desempenho é prioritário, e a economia de energia é menos importante.
6. Schedutil
Descrição: Ajusta a frequência da CPU com base nas informações do escalonador (scheduler) do kernel.
Comportamento: Utiliza o scheduler do kernel para ajustar dinamicamente a frequência da CPU de acordo com a carga de trabalho atual, proporcionando um equilíbrio eficiente entre desempenho e economia de energia.
Uso: Moderno e eficiente, adequado para uma ampla gama de dispositivos, proporcionando um bom equilíbrio entre economia de energia e desempenho responsivo.
Cada modo de energia tem o seu funcionamento mais adequado de acordo com a demanda do sistema. Abaixo o uso mais adequado de acordo com o dispositivo.
No geral em termos de uso, a opção "schedutil" é a adequada para a maioria das situações, onde o kernel aumenta e diminui constantemente a velocidade do processador frente às demandas de desempenho do sistema. Para saber qual o modo ativo da sua máquina, digite o comando abaixo:
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
Se estiver no modo "schedutil" deverá aparecer algo assim:
schedutil
schedutil
schedutil
schedutil
O número de linhas vai depender de quantos núcleos o seu processador tem. Nesse exemplo, são 4 núcleos.