Unit 9 Kernel Timing and Process Latency 内核定时与进程延时
学习目标:
A.了解CPU 是怎样追踪时间的
B.调整CPU的访问次数
C.调整调度延时
D.虚拟机上的CPU任务调整
9.1How Linux tracks time Linux下的时间追踪
A. 硬件定时器是靠使用时钟来完成计时的。
包括以下时间资源:
a. Real time clock(RTC):实时时钟是用来持久存放系统时间的设备,即便系统关闭后,它也可以靠主板上的微电池提供的电力保持系统定时。
b. Time stamp counter(TSC):时间戳计数器
c. Advanced Programmable Interrupt Controller(APIC)可编程中断控制器
d. Programmable Interrupt counter (PIC)可编程中断计数器
B. 系统上所有的事件都是通过节拍数(Ticks)来控制的
a. 通过内核变量jiffy来记录系统启动后产生的节拍的总数.
b. PIC产生时间中断的频率(Hz/秒):
标准:1000Hz(1节拍=1ms)
Kernel-Xen: 250Hz(1节拍=4ms)
查看实时时钟: cat /proc/driver/rtc
9.2Tuning system ticks 系统节拍数调整
A. 在内核启动参数里调整
tick_divider=value
可使用下列值:
2=500 Hz
4=250 Hz
5=200 Hz
8=125 Hz
10= 100 Hz
只限于X86和X86_64架构,不支持Xen.
B.结论
调整系统节拍数可以:
a. 减少CPU负载
b. 这种调度对交互式进程会不公平.
9.3Tuning processor speed 调整处理器速度
A.系统会自动调整CPU速度
a. 不要使用CPU时钟周期来提升效率
b. 可以在不影响性能的情况下减少cpu速度
c.系统启动时通过/etc/init.d/cpuspeed文件来设置默认值
B. 配置指南
配置文件:/etc/init.d/cpuspeed
参数: MAX_SPEED
MIN_SPEED
C. 结论
a. 不改变IO范围情况下可以减少电源消耗。
b. 调整cpu时钟频率会干扰时间记录。
9.4IRQ balancing负载均衡
A.硬中断会抢占当前进程
a. 中断会产生延时
B. 查看IRQ
procinfo
cat /proc/interrupts
C. IRQ负载均衡