[FUG-BR] HZ no Kernel
Samuel Peres
samuelperes em migtelecom.com.br
Quinta Janeiro 27 21:36:25 BRST 2011
On 01/27/2011 03:48 PM, Eduardo Schoedler wrote:
> Pessoal,
>
> Como não vou usar polling nesses servers, estou diminuindo o HZ=2000 para
> HZ=1000.
> Apesar de eu ter recompilado e reiniciado, aparentemente ele continua
> rodando com o valor antigo:
>
> # vmstat -i | egrep '^cpu.:'
> cpu0: timer 19533478 1990
> cpu1: timer 19533398 1990
> cpu2: timer 19577677 1995
> cpu5: timer 19498908 1987
> cpu3: timer 19577677 1995
> cpu6: timer 19565494 1994
> cpu4: timer 19498908 1987
> cpu7: timer 19565495 1994
>
> # cat /usr/src/sys/amd64/conf/BORDER-RTR | grep HZ
> options HZ=1000
>
> Já tentei até colocar no /boot/loader.conf:
> kern.hz=1000
>
> E mesmo assim continua rodando com valores antigos...
>
> # uname -a
> FreeBSD servidor 8.2-PRERELEASE FreeBSD 8.2-PRERELEASE #1: Thu Jan 27
> 12:09:04 BRST 2011
> root em servidor:/usr/obj/usr/src/sys/BORDER-RTR amd64
>
> Alguma sugestão ?
>
>
> Obrigado,
>
> --
> Eduardo Schoedler
>
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Boa noite Eduardo,
Talvez eu esteja enganado, mas acredito que os valores
de frequência do timer não dependem apenas da constante de frequência de
interrupções do kernel, provavelmente existem outros fatores ai. Veja a
saida do comando vmstat -i de dois servidores que tenho aqui, o primeiro
com HZ=2000 e o outro com HZ=1000:
# vmstat -i | egrep '^cpu.:'
cpu0: timer 8866242443 1992
cpu1: timer 8866242178 1992
cpu8: timer 8866242177 1992
cpu6: timer 8866242178 1992
cpu2: timer 8866242178 1992
cpu3: timer 8866242177 1992
cpu9: timer 8866242178 1992
cpu7: timer 8866242177 1992
cpu4: timer 8866242178 1992
cpu5: timer 8866242178 1992
# sysctl kern.clockrate kern.hz
kern.clockrate: { hz = 2000, tick = 500, profhz = 2000, stathz = 133 }
kern.hz: 2000
# vmstat -i | egrep '^cpu.:'
cpu0: timer 5192789599 1996
cpu1: timer 5192789486 1996
cpu3: timer 5192789486 1996
cpu2: timer 5192789486 1996
# sysctl kern.clockrate kern.hz
kern.clockrate: { hz = 1000, tick = 1000, profhz = 2000, stathz = 133 }
kern.hz: 1000
Infelizmente eu não tenho uma explicação, talvez outros da lista possam
nos esclarecer essa questão, mas acredito que os valores que estão
sendo exibidos no seu sistema pelo vmstat estão corretos.
Samuel Peres
Mais detalhes sobre a lista de discussão freebsd