20.3.6. Mudando a prioridade dos serviços durante o processo de inicialização


Usando o serviço systemd, é possível estabelecer prioridades em tempo real para os serviços lançados durante o processo de inicialização. O unit configuration directives é usado para alterar a prioridade de um serviço durante o processo de inicialização.

A mudança de prioridade do processo de inicialização é feita utilizando as seguintes diretrizes na seção de serviços:

CPUSchedulingPolicy=
Define a política de programação da CPU para os processos executados. É utilizada para definir as políticas other, fifo e rr.
CPUSchedulingPriority=
Define a prioridade de programação da CPU para os processos executados. A faixa de prioridade disponível depende da política de agendamento de CPU selecionada. Para políticas de programação em tempo real, um número inteiro entre 1 (prioridade mais baixa) e 99 (prioridade mais alta) pode ser usado.

O procedimento seguinte descreve como alterar a prioridade de um serviço, durante o processo de inicialização, utilizando o serviço mcelog.

Pré-requisitos

  1. Instale o pacote sintonizado:

    # yum instalar afinado
    Copy to Clipboard Toggle word wrap
  2. Habilitar e iniciar o serviço sintonizado:

    # systemctl habilitado --agora sintonizado
    Copy to Clipboard Toggle word wrap

Procedimento

  1. Veja as prioridades de agendamento dos fios em execução:

    # tuna --show_threads
                          thread       ctxt_switches
        pid SCHED_ rtpri affinity voluntary nonvoluntary             cmd
      1      OTHER     0     0xff      3181          292         systemd
      2      OTHER     0     0xff       254            0        kthreadd
      3      OTHER     0     0xff         2            0          rcu_gp
      4      OTHER     0     0xff         2            0      rcu_par_gp
      6      OTHER     0        0         9            0 kworker/0:0H-kblockd
      7      OTHER     0     0xff      1301            1 kworker/u16:0-events_unbound
      8      OTHER     0     0xff         2            0    mm_percpu_wq
      9      OTHER     0        0       266            0     ksoftirqd/0
    [...]
    Copy to Clipboard Toggle word wrap
  2. Criar um arquivo de diretório de configuração de serviços suplementar mcelog e inserir o nome e a prioridade da política neste arquivo:

    # cat <<-EOF > /etc/systemd/system/mcelog.system.d/priority.conf
    
    >
    [SERVICE]
    CPUSchedulingPolicy=_fifo_
    CPUSchedulingPriority=_20_
    EOF
    Copy to Clipboard Toggle word wrap
  3. Recarregar a configuração dos scripts do sistema:

    # systemctl daemon-reload
    Copy to Clipboard Toggle word wrap
  4. Reinicie o serviço de mcelog:

    # systemctl restart mcelog
    Copy to Clipboard Toggle word wrap

Etapas de verificação

  • Exibir a prioridade mcelog definida pela edição systemd:

    # tuna -t mcelog -P
    thread       ctxt_switches
      pid SCHED_ rtpri affinity voluntary nonvoluntary             cmd
    826     FIFO    20  0,1,2,3        13            0          mcelog
    Copy to Clipboard Toggle word wrap

Recursos adicionais

  • Para mais informações, consulte as páginas de homem de systemd e tuna.
  • Para obter mais informações sobre a faixa de prioridade, consulte Descrição da faixa de prioridade.
Voltar ao topo
Red Hat logoGithubredditYoutubeTwitter

Aprender

Experimente, compre e venda

Comunidades

Sobre a documentação da Red Hat

Ajudamos os usuários da Red Hat a inovar e atingir seus objetivos com nossos produtos e serviços com conteúdo em que podem confiar. Explore nossas atualizações recentes.

Tornando o open source mais inclusivo

A Red Hat está comprometida em substituir a linguagem problemática em nosso código, documentação e propriedades da web. Para mais detalhes veja o Blog da Red Hat.

Sobre a Red Hat

Fornecemos soluções robustas que facilitam o trabalho das empresas em plataformas e ambientes, desde o data center principal até a borda da rede.

Theme

© 2025 Red Hat