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

11

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

rockr101
fonte
Duvido que você notará uma diferença, mesmo que isso ocorra.
Zoke 30/01/12
Algo que está sendo mais rápido é subjetivo, mais rápido do que o que? Estou usando os kernels genéricos do Ubuntu e meu PC é rápido. Para melhorar o desempenho, obtenha um hardware melhor, não há como evitar isso.
precisa saber é o seguinte

Respostas:

10

Em geral, não.

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

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

Nota: O kernel do 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.

Vejo:

Kernel de compilação do wiki do Ubuntu

Pantera
fonte
7

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

Compilei vinte e seis núcleos entre duas máquinas no último mês, tentando ajustar o desempenho. O que eu encontrei:

  1. Alterar o tipo de cpu no .config para a arquitetura nativa e remover as opções que suportam outras arquiteturas melhoraram a taxa de transferência de E / S de arquivos em mais de 10% nos benchmarks (o suficiente para "sentir a melhora") e reduzimos o atraso após a entrada do usuário no XFCE no Xubuntu 12.04 -32bit no meu laptop Mobile Sempron 512MB RAM de 1,8 GHz (K8). As mesmas alterações não tiveram impacto quantificável ou perceptível no meu laptop Core2 Duo de 2GB e RAM de 1,73GHz no Ubuntu 12.04 de 64 bits, mas fizeram com que um aplicativo anteriormente estável se tornasse propenso a falhas.
  2. Alterar HZ em .config para 1000 melhorou drasticamente a capacidade de resposta à entrada do usuário quando sob alta carga de CPU nos dois sistemas. Ele também fez alterações no foco da janela em X instantaneamente em todas as condições.
  3. O patch BFS aumentou a vida da bateria nos dois sistemas em alguns minutos. Apenas o suficiente para ser mensurável e consistente, mas não o suficiente para importar muito. Os benchmarks não revelaram alterações de desempenho estatisticamente significativas, mas ambos os sistemas "parecem" mais rapidamente. Suspeito que isso tenha a ver com prioridade de agendamento, sendo mais benéfico para as cargas de trabalho típicas nessas máquinas específicas.
  4. Todas as outras combinações .config tentadas resultaram em menor desempenho nos dois sistemas.

Passei um tempo ridículo compilando e testando diferentes configurações. Por tudo isso, apenas cinco grãos produziram um resultado desejável, de 26 tentativas. Sete kernels nem eram operáveis ​​(não inicializáveis ​​ou falharam ao iniciar o X). Recentemente, instalei o kernel do Liquorix a partir do repositório e consegui todas as melhorias acima, além de um aumento de aproximadamente 50% na taxa de quadros nos dois jogos do Windows que joguei através do WINE no sistema Core2. Isso levou apenas alguns minutos e nada quebrou.

Meu sistema operacional é melhor porque eu compilei meu próprio kernel? Bem, sim um pouco. Até encontrar algo que corra mais devagar / quebre, porque não consegui encontrá-lo durante o teste. Meu sistema operacional é mais rápido? Não.

OCDtech
fonte
3

Na minha experiência sim. Mas os benefícios advê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 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 há outros benefícios. Os tempos de inicialização também foram aprimorados.

No entanto, é muito demorado selecionar apenas as opções necessárias.

Kevin Guerra
fonte
0

Eu não sei o que é o kernel, mas, em geral, compilar aplicativos da fonte geralmente os faz trabalhar mais rápido (eu costumo fazê-lo com bibliotecas de desenvolvimento como CGAL ou aplicativos como ParaView). Obviamente, quando o processo de compilação é otimizado para a arquitetura e assim por diante.

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

Miséria
fonte
0

Compilei um kernel para um EeePC 900A apenas para remover drivers e recursos desnecessários, para inicializar sem initrd extra, para definir o agendador de E / S padrão, para otimizar o Atom e desativar a depuração e alguns recursos que degradam o desempenho e a capacidade de resposta recursos de economia. (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 antes, mas o Chromium só mostrava páginas da Web em branco - com links clicáveis ​​...

pucgenie
fonte