• O Linux possui um ótimo recurso para melhorar o tempo de resposta do sistema, porém para utilizá-la é necessário recompilar o Kernel, pois por padrão as distribuições (a maioria) não vem com esta opção habilitada, e possuir um processador dual core.

    Esta opção é chamada preemption, mas o que ela faz? Imagine que o processador de seu computador é uma estrada e os processos ativos são os carros.  Exemplificando, um kernel com preemption desativado é uma estrada com 10 pistas com velocidade limitada à 40km/h. Neste caso temos vários carros trafegando ao mesmo tempo porém demorando mais para chegar ao destino. Já um kernel com preemption ativado (preemptible) é uma estrada com 5 pistas mas com velocidade limitada à 100km/h, ou seja, trafegam menos carros num mesmo trecho mas chegam ao destino mais rápido.

    A utilização (ou não) desta opção no kernel tem lados positivos e negativos, geralmente um kernel preemptible (com preemption ativado) é mais útil em um desktop (interface gráfica) enquanto sem esta opção (no preemption) é mais indicado para servidores:

    Preemptible

    O processador dá maior prioridade de execução a processos novos, independente do que os outros estão fazendo, assim os programas sendo utilizados no momento respondem de forma mais rápida e com menos demora nas operações. Porém, isto é feito independente da importância das tarefas dos outros processos antigos, ou seja, se você está vendo um vídeo e depois começa a compilar o kernel, o vídeo terá uma perda grande de performance. Esta forma é mais indicada na utilização de um desktop, pois é usado em grande parte para programas que não consomem muito processamento mas precisam de respostas rápidas como janelas de diálogos, mudança de desktops, etc.

    No Preemption

    Esta é a opção padrão do kernel, quando utilizado todos os processos do sistema rodam com a mesma prioridade, de forma que um não interfere na prioridade de processamento do outro. Porém, como consequência o tempo de resposta do sistema pode ser mais lento, pois o processador está “trabalhando” com mais processos ao mesmo tempo. Por isso sua utilização é mais indicada para servidores, pois possuem processos críticos que não podem ter a prioridade diminuida sem critério e não dependem de respostas extremamente rápidas.

    Como utilizar?

    Para ativar a opção Preemptible do kernel é necessário recompilá-lo. De forma resumida:

    1) Instalar o pacote com o código fonte do kernel (ex.: kernel-source, linux-source, linux-devel)
    2) Entrar no diretório do código fonte (ex.: /usr/src/linux)
    3) Digitar: make menuconfig
    4) Entrar em “Processor type and features” -> “Preemption Model” -> selecionar “Preemptible Kernel (Low-Latency Desktop)”
    5) Sair do config “exit” e salvar as configurações
    6) Digitar: make install && make modules_install
    7) Reiniciar

    Esta é uma explicação básica e pode variar dependendo da distribuição usada.

    Por André Arruda

    Tags: , , ,

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.