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. [wikioi]装箱问题

    http://wikioi.com/problem/1014/ 01背包问题是最经典的动态规划之一,这道题目甚至是这其中还简单的一种,因为价值就是本身的重量了.本来比如,w是总重量限制,v[]是每个的 ...

  2. SPRING IN ACTION 第4版笔记-第五章BUILDING SPRING WEB APPLICATIONS-002-Controller的requestMapping、model

    一.RequestMapping 1.可以写在方法上或类上,且值可以是数组 package spittr.web; import static org.springframework.web.bind ...

  3. Android 自定义ToggleButton+用SharedPreferences保存用户配置

    布局文件:   <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" androi ...

  4. 内核驱动中常见的miscdevice、platform_device、platform_driver

    最近在看驱动模型,是越看越糊涂,以前接触比较多的都是一些字符驱动,对字符驱动的框架有一定的了解.后来因为想在驱动中实现设备文件的创建,又了解了一下,sysfs文件系统和udev设备文件系统(这两个是两 ...

  5. 【HDOJ】1033 Edge

    题目英文太多,简单翻译了一下:1. For products that are wrapped in small packings it is necessary that the sheet of ...

  6. Java金字塔及变形

    Java金字塔 package com.tfj.test; public class JinZiTa { public static void main(String[] args){ int num ...

  7. VJP1071新年趣事之打牌(背包+输出路径)

    简单的01背包 保存下方案总数 其实就是dp[v]值 输出路径dfs一下 #include <iostream> #include<cstdio> #include<cs ...

  8. [转] 网络流算法--Ford-Fulkerson方法及其多种实现

    网络流 转载自:http://www.cnblogs.com/luweiseu/archive/2012/07/14/2591573.html 在上一章中我们讨论的主题是图中顶点之间的最短路径,例如公 ...

  9. 【转】android JNI编程 一些技巧(整理)

    原文网址:http://blog.csdn.net/linweig/article/details/5203716 本篇将介绍在JNI编程中如何传递参数和返回值. 首先要强调的是,native方法不但 ...

  10. BrnShop开源网上商城第四讲:自定义插件

    重要通知:BrnShop企业版NOSQL设计(基于Redis)已经开源!源码内置于最新版的BrnShop中,感兴趣的园友可以去下载来看看.官网地址:www.brnshop.com. 好了现在进入今天的 ...