[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