HI3518EV100 HZ=100

来源:互联网 发布:如何把域名卖出去 编辑:程序博客网 时间:2024/06/11 11:11
/devinfo # cat /proc/interrupts 
           CPU0       
  1:          0         -  hi_wdt
  3:     501403         -  System Timer Tick, Free Timer
  5:       4699         -  uart-pl011
 12:       9355         -  hieth
 13:          0         -  CI_IRQ
 14:     498850         -  Hisilicon Dmac
 15:        628         -  ehci_hcd:usb1
 16:          1         -  ohci_hcd:usb2
 17:     249140         -  VPSS0
 18:          0         -  hi_mci
 21:          0         -  IVE
 22:     249484         -  ISP, VIU
 24:      78199         -  VEDU_0
 26:         61         -  JPEGU_0
 27:     124632         -  tde_osr_isr
 28:     124534         -  VDA
Err:          0
/devinfo # cat /proc/interrupts | grep Timer && sleep 1 && cat /proc/interrupts 
| grep Timer
  3:     502039         -  System Timer Tick, Free Timer

  3:     502153         -  System Timer Tick, Free Timer

502153        -5020039  =100左右,实际LINUX =100

1.linux HZ 

Linux核心几个重要跟时间有关的名词或变数,以下将介绍HZ、tick与jiffies。

HZ

Linux 核心每隔固定周期会发出timer interrupt (IRQ 0),HZ是用来定义每一秒有几次timer interrupts。举例来说,HZ为1000,代表每秒有1000次timer interrupts。 HZ可在编译核心时设定,如下所示(以核心版本2.6.20-15为例):

 

adrian@adrian-desktop:~$ cd /usr/src/linux

adrian@adrian-desktop:/usr/src/linux$ make menuconfig

Processor type and features ---> Timer frequency (250 HZ) --->

其中HZ可设定100、250、300或1000。

小实验

观察/proc/interrupt的timer中断次数,并于一秒后再次观察其值。理论上,两者应该相差250左右。

adrian@adrian-desktop:~$ cat /proc/interrupts | grep timer && sleep 1 && cat /proc/interrupts | grep timer

0: 9309306 IO-APIC-edge timer

0: 9309562 IO-APIC-edge timer

上面四个栏位分别为中断号码、CPU中断次数、PIC与装置名称。

 

要检查系统上HZ的值是什么,就执行命令

cat kernel/.config | grep '^CONFIG_HZ='


2.Tick 

Tick是HZ的倒数,意即timer interrupt每发生一次中断的时间。如HZ为250时,tick为4毫秒(millisecond)。


0 0
原创粉丝点击