Kernel 2.6.23-ck1 VS Kernel 2.6.22-14 Dúvidas...Vou tentar explicar de uma vez por todas através de perguntas e respostas simples quais são as diferenças de cada kernel.
Depois a decisão é de vcs...
1. Por que o seu kernel é melhor que o padrão do ubuntu???Boa questão...
Vou citar alguns pontos...
CFS
O kernel padrão é o 2.6.22-14 enquanto o meu é o 2.6.23 com patch.
O kernel 2.6.23 por padrão possui o CFS, explicando de forma simples é um agendador de tarefas derivado do agendador de Con Kolivas (não igual), que aumenta a performance do sistema e faz o processamento da máquina diminuir.
O 2.6.22 não tem isso.
http://kerneltrap.org/Linux/DeskOpt_Completely_Unfair_Scheduling2. Existe diferença entre HZ 250 vs HZ 1000???O kernel padrão do Ubuntu possui HZ em 250 enquanto o meu está em HZ 1000.
Mas o que vc ganha com isso???
A performance ideal para desktop...
No kernel no momento da compilação existe uma opção Timer Frequency. Ela é uma das principais responsáveis pela performance para uma máquina desktop.
Ela faz com que sejam usados mais ciclos de processamento na execução de uma tarefa e aumenta a resposta do sistema e a fluidez do mesmo.
Vejam algumas opções usadas em diferentes distribuições
Mandriva One 2008
config-2.6.22.9-desktop586-1mdv
CONFIG_SWAP_PREFETCH=y
CONFIG_DEFAULT_CFQ=y
CONFIG_SMP=y
CONFIG_M586=y
# CONFIG_X86_GENERIC is not set
CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_NOHIGHMEM=y
CONFIG_HZ_1000=y
Fedora 8 Live CD KDE
config-2.6.23.1-42.fc8
CONFIG_DEFAULT_CFQ=y
CONFIG_SMP=y
CONFIG_M686=y
CONFIG_X86_GENERIC=y
CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_HIGHMEM4G=y
CONFIG_HZ_1000=y
Kubuntu e Ubuntu 7.10 kernel 2.6.22 padrão
CONFIG_DEFAULT_CFQ=y
CONFIG_SMP=y
CONFIG_HZ_250=y
CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_X86_GENERIC=y
CONFIG_M586=y
3. Mas isso faz alguma diferença???vamos deixar que a própria ajuda do kernel responda
250 HZ (HZ_250)
type: boolean
prompt: 250 HZ
dep: <choice>
defined at kernel/Kconfig.hz:26
250 Hz is a good compromise choice allowing server performance
while also showing good interactive responsiveness even
on SMP and NUMA systems. If you are going to be using NTSC video
or multimedia, selected 300Hz instead.
1000 HZ (HZ_1000)
type: boolean
prompt: 1000 HZ
dep: <choice>
defined at kernel/Kconfig.hz:42
1000 Hz is the preferred choice for desktop systems and other
systems requiring fast interactive responses to events.
Entenderam pq o Fedora e o Mandriva são rápidos???
Acredito que nesse ponto o Ubuntu tem que melhorar
Vejam aqui uma discussão sobre o kernel do Mandriva que aconteceu em 17 de outubro desse ano sobre isso
http://archives.mandrivalinux.com/kernel-discuss/2007-10/msg00043.phpNote esse ponto...
Turns out that HZ = 100 is too low for interactivity, and on laptops it seems it's not worth the extra economy of energy (for example, with HZ = 100 there are too many audio skips in some applications/games). Reported by Andreas
Hasenack, and Acked by Luiz Capitulino. We could choose HZ = 250, but 300 is a bit better in interactivity/less latency and not much a difference anyway. And note that accordingly to Len Brown et al paper here
E essa...
so we could even start to think of selecting a HZ = 1000 value for laptops where interactivity/less latency is also important (when CONFIG_NO_HZ is also available on x86_64 we can switch)."
Olhem essa discussão também interessante...
https://lists.linux-foundation.org/pipermail/kernel-janitors/2006-August/016150.htmlOlhem esse ponto...
See *TIMESLICE defines at the top of linux/kernel/sched.c Timer tick rate is the CONFIG_HZ setting, usually at HZ=100 (100 timer ticks per second), as used for servers, but other common
values are 250 (moderately bad for desktop and not good for servers, IOW somewhat useless ;-) and 1000 (desktop). So they most likely just set CONFIG_HZ=1000.
Notaram quando é dito que a opção 250 não é boa para servidores e ruim para desktops???
Agora no kernel trap...
http://kerneltrap.org/node/464he timer interrupt is at the heart of the system. Everything lives and dies based on it. Its period is basically the granularity of the system: timers hit on 10ms intervals, timeslices come due at 10ms intervals, etc
Entrevista com Daniel Robbins (criador do Gentoo)
http://www.osnews.com/story.php/1080/Interview-with-Gentoos-Daniel-Robbins/8. Gentoo comes by default with a specially patched kernel. Please tell us about the speed increase users gain with Gentoo when compared to stock kernels that other distros include.
Daniel Robbins: People are finding our kernel to be quite zippy, particularly when it comes to interactive responsiveness -- something I care very much about. It's based on -ac so it has rmap and O(1) as well as some new IDE stuff. We've also added Robert Love's preempt patch, Andrew Morton's low latency code (both can be turned on/off in "make menuconfig" as desired) and bumped the HZ on i386 systems to 1000. Thanks to the efficiency of O(1) and rmap, HZ=1000 works nicely to increase responsiveness without introducing any significant overhead. And of course preempt does amazing things for interactive use -- much more so than low-latency. It's clear that good interactive response isn't *purely* about low-latency -- otherwise Andrew Morton's low latency patches would give much better and crisper interactive response, which isn't the case. Preempt seems to make the timeslicing of the CPU much more uniform (this is an educated guess, not a fact), which in turn appears to make a huge improvement in the "feel" of everything. It makes everything feel much more Amiga-like and presumably more BeOS-like.
E o artigo final...
http://www.enterprisenetworkingplanet.com/netos/article.php/37106413. Porque eu devo usar o seu kernel no lugar do kernel do Ubuntu??Se vc usa drivers restritos... use o kernel do Ubuntu
Se a máquina for usada como servidor baixe o kernel específico para servidor do repositório Ubuntu
Se vc ainda tem dúvidas, use o kernel do Ubuntu
4. Você conseguiu me convencer... mas não notei nenhuma diferença aqui... Pq???Faça o teste... Reinstale o Ubuntu 7.10 e sem ter executado nenhum programa veja o consumo de memória...
Notou que ele é baixo??? se quiser dê o seguinte comando em um terminal
#ps aux e salve esse arquivo...
Isso acontece porque a sua sessão do gnome está limpa...
Agora abra diversos programas e dê um boot...
Notou que sobraram resquícios???
Por padrão no Ubuntu (e no Kubuntu também) ao abrir ou fechar um programa fica um pequeno resquício dele na memória, para que ele ao ser aberto pela segunda vez seja aberto mais rápido.
Aliás esse é um padrão no linux...
Quando vc configura o seu sistema para uma sessão limpa esse resquício é limpo a cada boot e quando a sua sessão é salva esse resquício continua.
Daí depois de um tempo com diversos programas que foram instalados e que foram executados ficam com diversos resquícios salvos na sessão e em pouco tempo o Ubuntu pode no início do sistema já consumir mais de 300 de ram enquanto o normal é menos de 120.
No kde é feita da seguinte forma
É por isso que o Ubuntu perde desempenho com o tempo...
É óbvio também, que o ubuntu inicia diversos serviços durante o boot que são desnecessários para uns e necessários para outros e a única forma é mexendo no sysv-rc-conf mais esse programa não funciona corretamente sobre o kernel padrão, pq a cada boot volta tudo.
Não entendo o pq, mas sob o meu kernel essa "trava" não existe e os serviços podem ser desativados normalmente.
5. Como saber se estou usando o seu kernel???O kernel consiste em dois arquivos
Que devem ser instalados juntos:
Coloque os dois arquivos deb em uma pasta e faça a instalação, clique no primeiro e depois no segundo e instale com o gdebi mesmo...
Automaticamente será colocada uma entrada no grub... Se vc não instalou os dois é obvio que nada aparecerá lá!!!
Faça a escolha no boot
e ao entrar no sistema
digite num terminal
uname -a
e veja o resultado
hqxriven@hqxriven-desktop:~$ uname -a
Linux hqxriven-desktop 2.6.23-ck1 #1 SMP Sat Dec 22 11:07:56 BRST 2007 i686 GNU/Linux
hqxriven@hqxriven-desktop:
Se não der isso: "2.6.23-ck1" vc não está sob o meu kernel...
6. Qual é a máquina ideal para usar o seu kernel???
Ele é compilado para i686, então o mínimo por causa dessa opção e de outras é ter um Celeron com no mínimo 1 Giga de clock com 512 de ram.
Processadores com 1 Giga ou mais de clock conseguem ter um bom ganho de velocidade com HZ 1000 e o CFS.
A máquina recomendada é uma configuração como Atlhon Xp e Pentium 4 para cima.
A ideal é um X2 ou um Pentium 4 com Ht com 512 de ram pois se consegue um grande ganho na performance.
É melhor eu parar por aqui... já escrevi demais...
E rodolfo te mandei mp...
Como vou tirar férias... essa será a minha última contribuição por um bom tempo...
Espero que ajude
Fiquem com Deus e obrigado por tudo!!!
Hqx