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负载均衡

RHCA学习笔记:RH442-Unit9内核定时与进程延时的更多相关文章

  1. Linux内核分析第六周学习笔记——分析Linux内核创建一个新进程的过程

    Linux内核分析第六周学习笔记--分析Linux内核创建一个新进程的过程 zl + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/U ...

  2. Python Web学习笔记之并发编程的孤儿进程与僵尸进程

    1.前言 之前在看<unix环境高级编程>第八章进程时候,提到孤儿进程和僵尸进程,一直对这两个概念比较模糊.今天被人问到什么是孤儿进程和僵尸进程,会带来什么问题,怎么解决,我只停留在概念上 ...

  3. Linux学习笔记(16)Linux前后台进程切换(fg/bg/jobs/ctrl+z)

    关键词:Linux前后台进程切换,linux进程切换 fg.bg.jobs.&.ctrl + z都是跟系统任务有关的,虽然现在基本上不怎么需要用到这些命令,但学会了也是很实用的一.& ...

  4. RHCA学习笔记:RH442-Unit8进程与调度

      UNIT 8  Processes and the Scheduler 进程与调度 学习目标 A. CPU cache 与Service time之间的关系 B. 分析应用程序使用CPU cach ...

  5. RHCA学习笔记:RH442-Unit6 磁盘性能调整

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://alansky.blog.51cto.com/634963/654451 UNIT ...

  6. 学习笔记之Linux内核编译过程

    准备工作 物理主机:win8(32位) 虚拟机工具:VirtualBox_4.3.16_Win32 虚拟主机:xubuntu-12.04.4 安装virtualBox功能增强包 设置好虚拟机与主机的共 ...

  7. RHCA学习笔记:RH442-Unit5 队列原理

    NIT 5 Queuing Theory 队列原理 目标: 1.明白性能调优的关键术语       2. 应用队列技术解决性能问题       3.明白性能调优的复杂性   5.1    Introd ...

  8. Linux内核学习笔记2——Linux内核源码结构

    一 内核组成部分 内核是一个操作系统的核心,主要由五个部分组成:进程调度,内存管理,虚拟文件系统,网络结构,进程间通信. 1.进程调度(SCHED) 控制进程对CPU的访问.当需要选择下一个进程运行时 ...

  9. FreeRTOS学习笔记3:内核控制及开启调度器

    内核控制函数API 应用层中不会用到taskYIELD() //任务切换.会自动切换当前就绪表里优先级最高的任务 临界区 //不能被打断的代码段任务中进入临界区任务中退出临界区中断服务进入临界区中断服 ...

随机推荐

  1. 解决VC++6.0 无法打开、无法添加工程文件

    在windows系统下,经常会遇到这样的问题:点击VC++6.0 的[文件]下的[打开]无法操作,并且无法向工程添加文件,下面详细介绍一下解决方案? 工具/原料 VC++6.0 修复工具:FileTo ...

  2. Item Import: What Does "Sync" Items Do? (Doc ID 417887.1)

    In this Document Goal Solution APPLIES TO: Oracle Item Master - Version 11.5.10.0 to 11.5.10.0 [Rele ...

  3. Java 异常类层次结构

    在Java中,异常分为受检查的异常,与运行时异常. 两者都在异常类层次结构中. 下面的图展示了Java异常类的继承关系. 图1 粉红色的是受检查的异常(checked exceptions),其必须被 ...

  4. ruby2.2.2 源代码阅读笔记

    这是win32下的结构 从ruby_setup开始阅读 Ruby对象内存结构 RVALUE是一个union,内含ruby所有结构体(RBasic RObject RClass RFloat RStri ...

  5. android之handler obtainmessge与New message区别

    obtainmessage()是从消息池中拿来一个msg 不需要另开辟空间new new需要重新申请,效率低,obtianmessage可以循环利用: //use Handler.obtainMess ...

  6. linux 开机自动挂载ntfs盘

    1) 查看盘符UUID vellbibi@vell001:~$ sudo blkid [sudo] password for vellbibi: /dev/sda1: UUID="bce9e ...

  7. 《Genesis-3D开源游戏引擎--横版格斗游戏制作教程01: 资源导入》

    1. 资源导入 概述: 制作一款游戏需要用到很多资源,比如:模型.纹理.声音和脚本等.通常都是用其它相关制作资源软件,完成前期资源的收集工作.比如通常用的三维美术资源,会在Max.MAYA等相应软件中 ...

  8. HW5.6

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...

  9. HDU3695 - Computer Virus on Planet Pandora(AC自动机)

    题目大意 给定一个文本串T,然后给定n个模式串,问有多少个模式串在文本串中出现,正反都可以 题解 建立好自动机后.把文本串T正反各匹配一次,刚开始一直TLE...后面找到原因是重复的子串很多以及有模式 ...

  10. Select the best path in a matrix

    Amazon interview question: Given a 2-dimensional array with arbitrary sizes and contains random posi ...