A compilação de um kernel do Linux torna o sistema operacional mais rápido?

10

A compilação de um kernel Linux baixado (por exemplo, 3.2) torna o sistema operacional (por exemplo, Ubuntu) mais rápido nessa máquina específica?

    
por rockr101 30.01.2012 / 03:54

5 respostas

9

Em geral, não.

Existem, no entanto, algumas exceções ao "não". Por exemplo, o kernel liquorix ou Flavors do kernel do Ubuntu . Geralmente, são ajustes de desempenho e podem fazer a diferença (o kernel do servidor é mais rápido para servidores e não melhora o desempenho da área de trabalho).

Com o Ubuntu, se você estiver executando o sabor correto do kernel, você deve estar pronto.

Nota: O kernel Liquorix também possui alguns patches (além do ajuste de desempenho).

A outra exceção seria se você tiver algum hardware incomum.

Mas na grande maioria dos casos, o desempenho não é um motivo "padrão" para compilar um kernel.

Veja:

Kernel de compilação do wiki do Ubuntu

    
por Panther 30.01.2012 / 05:32
5

A resposta mais precisa é, como disse bodhi.zazen, geralmente não, mas com algumas exceções. A maioria dessas exceções é relacionada a hardware, mas algumas são apenas problemas de configuração. A justificativa para minha resposta segue.

Eu compilei vinte e seis kernels entre duas máquinas no último mês tentando ajustar o desempenho. O que eu encontrei:

  1. Alterar o tipo de CPU em .config para a arquitetura nativa e remover opções que suportam outras arquiteturas melhoraram a taxa de transferência de I / O em mais de 10% nos benchmarks (o suficiente para "sentir o aprimoramento") e redução do atraso após a entrada do usuário XFCE no Xubuntu 12.04 -32bit no meu 1.8GHz (K8) Mobile Sempron 512MB de RAM portátil. As mesmas alterações não tiveram impacto quantificável ou perceptível no meu laptop Core 2 Duo de 2GB RAM de 1.73GHz no Ubuntu 12.04 64 bits, mas fez com que um aplicativo anteriormente estável se tornasse propenso a falhas.
  2. A alteração do HZ no .config para 1000 melhorou drasticamente a capacidade de resposta à entrada do usuário quando sob alta carga de CPU em ambos os sistemas. Também fez mudanças de foco da janela em X instantâneo em todas as condições.
  3. O patch BFS aumentou a duração da bateria em ambos os sistemas em poucos minutos. Apenas o suficiente para ser mensurável e consistir, mas não o suficiente para importar muito. As referências não revelaram mudanças de desempenho estatisticamente significativas, mas ambos os sistemas "sentem" mais rápido. Eu suspeito que isso tenha a ver com a prioridade de agendamento sendo mais benéfica para as cargas de trabalho típicas nessas máquinas específicas.
  4. Todas as outras combinações de .config tentaram reduzir o desempenho em ambos os sistemas.

Eu gastei quantias ridículas de tempo compilando e testando diferentes configurações. Por tudo isso, apenas cinco grãos produziram um resultado desejável, de vinte e seis tentativas. Sete kernels não estavam nem operáveis (não inicializáveis ou falha ao iniciar o X). Recentemente, instalei o kernel Liquorix do repositório e obtive todas as melhorias acima, além de um aumento de aproximadamente 50% na taxa de quadros em ambos os jogos do Windows que reproduzo no WINE no sistema Core2. Isso levou apenas alguns minutos e nada quebrou.

O meu SO é melhor porque eu compilei meu próprio kernel? Bem, sim um pouco. Até que eu encontre algo que corre mais lento / quebras, porque eu não consegui encontrá-lo durante o teste. Meu sistema operacional é mais rápido? Não.

    
por OCDtech 13.02.2013 / 17:58
2

Na minha experiência, sim. Mas os benefícios vêm principalmente da eliminação de recursos desnecessários e da seleção de alguns outros, como o tipo de processador. Além disso, torne-a uma latência ultra baixa para uso em desktop. Eu tenho compilado o kernel há anos e para mim a diferença é sempre perceptível. Mas existem outros benefícios. Os tempos de inicialização também foram aprimorados.

No entanto, é muito demorado selecionar apenas as opções de que você precisa.

    
por Kevin Guerra 22.03.2016 / 23:44
0

Eu não sei como é o kernel, mas em geral compilar aplicativos a partir do código-fonte geralmente faz com que trabalhem mais rápido (eu costumo fazê-lo com dev libs como o CGAL, ou aplicativos como o ParaView). É claro que quando o processo de compilação é otimizado para a arquitetura e assim por diante.

No entanto, eu não acho que compilar um kernel torne isso mais rápido do que ter uma influência visível no desempenho. Na minha opinião, isso só seria visível nos contadores de desempenho.

    
por Misery 30.01.2012 / 07:56
0

Eu compilei um kernel para um EeePC 900A apenas para remover drivers e recursos desnecessários, para inicializar sem initrd extra, para definir o planejador de E / S padrão, otimizar para Atom e desativar a depuração e algum desempenho e capacidade de resposta. degradando recursos de economia de energia. (está sendo usado como servidor para várias pequenas coisas). Menos tempo de inicialização necessário ^^ Cerca de um ano atrás eu tentei isso antes, mas o Chromium mostrou apenas páginas da Web em branco - com links clicáveis ...

    
por pucgenie 26.06.2013 / 08:22