SklPorcent - o programa para o controle da CPU Skylake (e outras com intel_pstate) com porcentagens

1. SklPorcent - o programa para o controle da CPU Skylake (e outras com intel_pstate) com porcentagens

FurretUber
FurretUber

(usa Ubuntu)

Enviado em 04/02/2017 - 01:06h

Boa noite a todos

Após mais de uma hora de sofrimento com o GitHub, finalmente consegui publicá-lo. Ele pode ser encontrado em: https://github.com/FurretUber/SklPorcent

Do README: Esse programa foi feito com o intuito de alterar a frequência dos processadores da Intel que utilizam o intel_pstate para controle (por isso o "Skl", de Skylake). O cpufrequtils não funcionava, então uma alternativa precisava ser criada. "Porcent" vem do fato de o controle ser semelhante a porcentagens (no meu computador, vai de 17% a 100%, mas os passos de frequência mesmo são menos que 83).

Caso o processador do seu computador seja Intel a partir de SandyBridge, ele deve ter o intel_pstate, logo deve funcionar. Se não funcionar, ele fecha depois de um segundo. Ele precisa do cpufrequtils para ler a política e a frequência atual e, obviamente, do Mono e MonoDevelop.

Como está escrito no README, execute primeiro o programa como usuário normal, e só depois que todos os parâmetros parecerem corretos (e se quiserem testar), tentem como superusuário.

Eu o construí utilizando o MonoDevelop, com C# e GTK#. Nada além do que vem por padrão quando se cria um novo projeto foi utilizado.

Eu adoraria que ele fosse testado e espero que o SklPorcent ajude, especialmente a quem tem notebook e quer controlar a temperatura de operação dele.

Obrigado.


  


2. Atualização

FurretUber
FurretUber

(usa Ubuntu)

Enviado em 05/02/2017 - 11:10h

Bom dia

Fiz umas atualizações no SklPorcent, e agora ele está muito mais saudável. Ao invés de, quando rodando como root, permitir que se mude parâmetros que talvez nem existissem no processador, ele agora tem 4 etapas de checagem.

A primeira checa a frequência máxima, a frequência atual e a política do núcleo 0. A segunda checa a frequência atual dos núcleos 1, 2 e 3. A terceira é a essencial, ela checa os parâmetros do intel_pstate, que é o que faz o SklPorcent funcionar. A quarta checa a temperatura, usando a thermal_zone0 caso não seja encontrada a temperatura do processador em si.

Mesmo quando rodando como root, a edição de dados só será permitida se a terceira etapa (checagem do intel_pstate) for feita e retornar valor verdadeiro, além de checar se o programa tem as permissões necessárias.

Como eu tinha o notebook de 2003 que utiliza uma forma diferente de controle, eu tinha como ver como poderia dar errado. Mesmo com uma tecnologia diferente, foi possível ler os dados do núcleo 0 (ele é single core) e a temperatura da thermal_zone0 (não tem uma do processador em si). Não dá para trocar a frequência, mas ainda assim provê informações úteis.

Caso alguém esteja receoso, para ler dados não é necessário ser root, apenas para alterar dados é necessário. Além disso, o código fonte está no GitHub. Ainda preciso ver que licença vou utilizar, isso está sendo complicado.

Se alguém o utilizou, poderia dar retorno para dizer se gostou, se deu problema, ou alguma outra informação?

Obrigado.


3. Re: SklPorcent - o programa para o controle da CPU Skylake (e outras com intel_pstate) com porcentagens

FurretUber
FurretUber

(usa Ubuntu)

Enviado em 31/03/2017 - 18:00h

Boa tarde

Após um bom tempo, consegui fazer um makefile funcional, de forma que não seja necessário ter o MonoDevelop instalado apenas para construí-lo, muito menos para executá-lo.

Configurei o .gitignore de forma decente, e agora há disponível no GitHub o executável pronto. Ele pode ser acessado em: https://github.com/FurretUber/SklPorcent/tree/master/sklporcent/bin/Release É o arquivo .exe.

Para executar nos *buntus, são necessários os pacotes gtk-sharp2 e mono-runtime e, para compilar, o INSTALL possui instruções. O plano é que funcione nos *buntus LTS, e eu posso testar no CentOS 7 mais tarde.

Também escolhi uma licença. A licença escolhida foi a do MIT, a qual é pequena e clara o suficiente, além de dar bastante liberdade a quem vai utilizá-lo.

Sinceramente, acho que a parte mais brilhante do programa é o ícone de notificação xD.


4. Re: SklPorcent - o programa para o controle da CPU Skylake (e outras com intel_pstate) com porcentagens

FurretUber
FurretUber

(usa Ubuntu)

Enviado em 26/07/2017 - 22:17h

Atualizei o SklPorcent e agora ele não trava mais quando há dois processadores. Agora ele tem a capacidade de obter dados de quantos núcleos estiverem disponíveis (ele tinha a ridícula limitação de 1 ou 4 núcleos), também não explode caso não haja modo turbo disponível (i3). Nas minhas três máquinas físicas e em uma virtual, tudo estava funcionando (eu preciso de uma máquina com mais de 2 cores e 4 threads para melhores testes, mas isto é outra história).

Também melhorei o leia-me, porque a dependência que pedia vinha com um monte de coisas desnecessárias. Eu testei em uma máquina virtual e foi possível reduzir muito as dependências. Agora são: mono-runtime, libgtk2.0-cil e libmono-posix4.0-cil (no Ubuntu, agora que instalei o Fedora vou poder avaliar com essa também).

Ainda pretendo torná-lo mais poderoso, então o que eram 15 variáveis diferentes tornou-se uma única lista, com a qual pretendo para permitir a troca de políticas dos processadores eventualmente. Talvez até criar uma janela para permitir a troca individualizada.

Link para o binário construído (é o .exe): https://github.com/FurretUber/SklPorcent/tree/master/sklporcent/bin/Release

Foi bom descobrir que existe algo além de if.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts