Como executar o aplicativo em tempo real no Linux?

2

Tentando trabalhar LinuxCNC no Debian Jessie, eu fiz:

  • Instalado o kernel 4.9 RT através do backport do Jessie usando o apt-get / aptitude.
  • Reiniciei meu computador e verifiquei uname -a contain PREEMPT RT
  • LinuxCNC instalado adicionando o repositório e usando apt-get

Depois disso, iniciando o assistente do linuxCNC (através de cliques normais nos menus) há um teste de jitter. Meus resultados atuais são absolutamente ruins, em torno de 140us.

Gostaria de saber se existe alguma configuração PREEMPTION para ativar ou uma maneira específica de executar um aplicativo para obter um tempo real mais preciso?

Além disso, como eu poderia verificar se o processo está sendo executado em tempo real ?

Nota: Meu computador é um intel E6600

    
por Adrian Maire 07.07.2017 / 08:22

1 resposta

2

I wonder if there is any PREEMPTION configuration to enable, or specific way to run an application to get more precise real-time?

Veja o seguinte:

link

links para isso:

link

(da página acima:)

Linux related changes:

  • edit /etc/default/grub and add the kernel options: "isolcpus=1 acpi_irq_nobalance noirqbalance" (call update-grub afterwards)
  • make sure that the software "irqbalance" is NOT installed, remove if it is there (Ubuntu software center -> installed software -> search for irqbalance -> remove)
  • add the upstart script "irq-affinity.conf" to /etc/init (see attachments, it will move the irq-handling to the first core)
  • add the sh scripts set-irq-affinity and watchirqs to /usr/local/sbin (first allows to set the affinity mask manually, second opens a console window that shows live how the irqs are scheduled to the different cores -> all numeric irqs but 0 should be handled by cpu0)

Você pode ter que adaptar o roteiro para o Système D, embora ...

Uma coisa rápida para testar: Você também pode aumentar a prioridade com nice -n <x> , em que <x> é a prioridade desejada.

Also, how could I check that the process is running real-time?

Veja esta pergunta: Processamento de processos em tempo real no Linux

Espero que ajude; -)

    
por 07.07.2017 / 12:32