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. simplemodal — jquery弹出窗体插件

    方式一:使用jquery-1.7.1.min.js(1.9.1的版本我试过了,不行) + jquery_modal.js的方式 文件:        testModel.css: /* Overlay ...

  2. 基于Qt5.x的QCA加解密开源项目的编译过程

    记录一下Qt5.x下的QCA的编译过程 需要注意的几点 针对windows环境 1.编译QCA源码前,必须先安装openssl二进制文件 2.需要安装好vs2008等 ( 64-bit Visual ...

  3. 屏幕尺寸,屏幕分辨率,屏幕密度,各种长宽单位(px,sp,dp,in.pt,mm)

    常见长宽单位表 名称 单位缩写 单位全拼 介绍 屏幕尺寸 '' 或 in inch 屏幕的大小,通常用屏幕对角线的长度表示.单位是寸 屏幕分辨率 px pixels 整个屏幕的像素数,一般用屏幕的像素 ...

  4. Samba ‘dcerpc_read_ncacn_packet_done’函数缓冲区溢出漏洞

    漏洞名称: Samba ‘dcerpc_read_ncacn_packet_done’函数缓冲区溢出漏洞 CNNVD编号: CNNVD-201312-169 发布时间: 2013-12-12 更新时间 ...

  5. mysql备份脚本

    [root@AY130828161048465847Z ~]# vi mysqlbak.sh #!/bin/bash USERNAME=rootPASSWORD=mysqlDBNAME=test DA ...

  6. JS模块化规范CommonJS,AMD,CMD

    模块化是软件系统的属性,这个系统被分解为一组高内聚,低耦合的模块.理想状态下我们只需要完成自己部分的核心业务逻辑代码,其他方面的依赖可以通过直接加载被人已经写好模块进行使用即可.一个模块化系统所必须的 ...

  7. MsoShapeType /InlineShape枚举

    指定形状的类型或形状范围. 名称 值 说明 msoAutoShape 1 自选图形. msoCallout 2 标注. msoCanvas 20 画布. msoChart 3 图. msoCommen ...

  8. MVC3系列~Html.BeginForm与Ajax.BeginForm

    Html.BeginForm与Ajax.BeginForm都是MVC架构中的表单元素,它们从字面上可以看到区别,即Html.BeginForm是普通的表单提交,而Ajax.BeginForm是支持异步 ...

  9. mysql 资料总结 长期更新

    http://blog.csdn.net/ww1982_0_0_0/article/details/9169613  引入employess

  10. HDOJ-ACM1018(JAVA)

    题意: 求n!的位数,0<n<10^7 思路:log10(1)+log10(2)+···+log10(n) = log10(n!)   [题目的考点就在这吧] 解题: import jav ...