RHCA学习笔记:RH442-Unit9内核定时与进程延时

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

时间: 2024-10-12 14:13:15

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

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

UNIT 8  Processes and the Scheduler 进程与调度 学习目标 A. CPU cache 与Service time之间的关系 B. 分析应用程序使用CPU cache时的情况(CPU使用率与CPU cache命中率) C. 抢占 (根据优先级抢占) D 根据进程优先级顺序进行调度与排序 E. 监控内核和进程的性能 8.1    Characterizing prosess states 进程状态  查看进程状态: ps axo pid,comm,stat –sor

iptables学习笔记之编译内核和iptables及安装l7proto

            编译内核和iptables及安装l7proto 一.环境介绍 操作系统:Redhat5.8_64bit 需要软件包: linux-2.6.28.10.tar.gz netfilter-layer7-v2.22.tar.gz l7-protocols-2009-05-28.tar.gz iptables-1.4.6.tar.bz2 安装步骤: 1).给内核打补丁,并重新编译内核 2).给iptables源码打补丁,并重新编译iptables 3).安装l7proto 1.给

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

NIT 5 Queuing Theory 队列原理 目标: 1.明白性能调优的关键术语 2. 应用队列技术解决性能问题 3.明白性能调优的复杂性 5.1    Introduction to queuing theory 队列原理简介 A.      Little’s Law 给出了队列原理的基础 John Little于1961年用数学证明了这个原理. B.      带来的好处: a.       可以用工程学方法来进行性能管理. b.       量化系统未来的性能 c.       说明

AT&T学习笔记汇编之内核

内核组成: 内存管理 设备管理 文件系统管理 进程管理 内存管理: 虚拟内存 交换空间 页面(块) cat    /proc/meminfo ipcs    -m 设备管理: 硬件管理  内核模块(kernel module) unix文件:字符,块,网络 设备文件被创建为节点,内核唯一数字标识.(主次设备号).相似设备的 主设备号相同,次设备号用于标识主设备号相同的设备. 文件系统 进程管理 init第一个进程. 系统调用  /usr/include/asm/unistd.h ebx    第

Linux学习笔记<十八>——内核编译

内核由核心和内核模块两部分组成 核心:/boot/vmlinuz-version 内核模块(ko):/lib/modules/version/ 查看内核版本 uname -r 主版本号.次版本号(偶数表示稳定版本,奇数表示测试版本).修订版本号(修订的次数) 用户空间访问.监控内核是通过访问修改/proc,/sys目录下的文件(即设定内核的参数值)实现的 /proc/sys:此目录中的文件很多是可读写的 /sys:某些文件可写 设定内核参数值的方法: 1.echo VALUE > /proc/s

STM32学习笔记(五)——通用定时器计数延时

STM32定时器概述 STM32F40x系列总共最多有14个定时器,定时器分为三类:基本定时器.通用定时器和高级定时器.它们的都是通过计数来达到定时的目的,和51的定时器差不多,基本原理都是一样的,就是功能多了一些,这些计数器都是自动重新装载初值的,使用起来非常方便,而且计数时钟频率可以通过分频系数来设置.本文章将介绍使用定时器中断来控制LED间隔1s闪烁. 计数的时钟来源主要有四个: 内部时钟CK_INT 外部时钟模式1:外部输入脚TIx 外部时钟模式2:外部触发输入ETR,仅适用于 TIM2

Docker学习笔记(5-2)Docker守护进程的配置和操作

学习目标:  查看Docker守护进程的运行状态 启动.停止.重启Docker守护进程 Docker守护进程的启动选项 修改和查看Docker守护进程的启动选项 1.# 查看docker运行状态  方法一:ps -ef | grep java 方法二:sudo status docker 返回:docker start/running, process 18479 返回当前已经启动,并且正在运行,同时返回了进程编号 2.# 启动.停止.重启docker守护进程 sudo service dock

apue学习笔记(第十三章 守护进程)

本章将说明守护进程结构,以及如何编写守护进程程序. 守护进程,也就是通常说的Daemon进程,是Unix中的后台服务进程.它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件. 编程规则 在编写守护进程程序时需遵循一些基本规则,以防止产生不必要的交互作用.下面将说明这些规则. 1.调用umask将文件模式创建屏蔽字设置为一个已知值(通常是0) 2.调用fork,然后使父进程exit,保证了子进程不是进程组的组长进程,是下面进行setsid调用的先决条件 3

python学习笔记-(十三)线程、进程、多线程&多进程

为了方便大家理解下面的知识,可以先看一篇文章:http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html 线程 1.什么是线程? 线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务. 2.python GIL全局解释器锁(仅需了解) 无论你启多少个线程,你有多少个cpu, Python在执行的时