Clocksource tsc unstable
内核在启动过程中会根据既定的优先级选择时钟源。优先级的排序根据时钟的精度与访问速度。
其中CPU中的TSC寄存器是精度最高(与CPU最高主频等同),访问速度最快(只需一条指令,一个时钟周期)的时钟源,因此内核优选TSC作为计时的时钟源。其它的时钟源,如HPET, ACPI-PM,PIT等则作为备选。
但是,TSC不同与HPET等时钟,它的频率不是预知的。因此,内核必须在初始化过程中,利用HPET,PIT等始终来校准TSC的频率。如果两次校准结果偏差较大,则认为TSC是不稳定的,则使用其它时钟源。并打印内核日志:Clocksource tsc unstable.
正常来说,TSC的频率很稳定且不受CPU调频的影响(如果CPU支持constant-tsc)。内核不应该侦测到它是unstable的。但是,计算机系统中存在一种名为SMI(System Management Interrupt)的中断,该中断不可被操作系统感知和屏蔽。如果内核校准TSC频率的计算过程quick_ pit_ calibrate ()被SMI中断干扰,就会导致计算结果偏差较大(超过1%),结果是tsc基准频率不准确。最后导致机器上的时间戳信息都不准确,可能偏慢或者偏快。
当内核认为TSC unstable时,切换到HPET等时钟,不会给你的系统带来过大的影响。当然,时钟精度或访问时钟的速度会受到影响。通过实验测试,访问HPET的时间开销为访问TSC时间开销的7倍左右。如果您的系统无法忍受这些,可以尝试以下解决方法: 在内核启动时,加入启动参数:tsc=reliable
转载于:https://www.cnblogs.com/muahao/p/6641264.html
Clocksource tsc unstable相关推荐
- tsc HPET kvm-clock
Clocksource tsc unstable 1.查看时钟源无tsc选项 cat /sys/devices/system/clocksource/clocksource0/available_cl ...
- 时钟源为什么会影响性能
前几天帮同事看问题时,意外的发现了时钟源影响性能的 case, 比较典型,记录一下.网上也有人遇到过,参考虾皮的[Go] Time.Now函数CPU使用率异常[1] 和 Two frequently ...
- NMI watchdog: BUG: soft lockup - CPU#2 stuck for 23s!
<NMI watchdog: BUG: soft lockup> <kernel:NMI watchdog: BUG: soft lockup - CPU#6 stuck for 2 ...
- 搭建《深入Linux内核架构》的Linux环境
搭建<深入Linux内核架构>的Linux环境 阅读目录(Content) 作者 软件 概述 正文 一.安装GCC 二.编译Linux内核 三.制作跟文件系统 四.运行qemu 五.启动l ...
- gettimeofday飞快的根因:vdso
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可. 本作品 (李兆龙 博文, 由 李兆龙 创作),由 李兆龙 确认,转载请注明版权. 内核版本 5.4.119 引言 众 ...
- Linux内核深入理解定时器和时间管理(2):clocksource 框架
Linux内核深入理解定时器和时间管理 clocksource 框架 rtoax 2021年3月 在原文基础上,增加5.10.13内核源码相关内容. 全局部变量 ------------------- ...
- Linux内核深入理解定时器和时间管理(6):x86_64 相关的时钟源(kvm-clock,tsc,acpi_pm,hpet)
Linux内核深入理解定时器和时间管理 x86_64 相关的时钟源(kvm-clock,tsc,acpi_pm,hpet) rtoax 2021年3月 在原文基础上,增加5.10.13内核源码相关内容 ...
- 慢慢欣赏linux qemu编译和启动
安装和启动qemu编译 rlk@ubuntu:rlk_basic$ cp runninglinuxkernel_4.0 runninglinuxkernel_4.0_x86 -R cp: cannot ...
- Linux源码研究-用户管理员手册-内核命令行参数
下面的列表是__setup(), core_param()和module_param()宏实现的内核参数,内核从命令-开始解析参数,如果参数不被识别,也不包含".",参数会被用来启 ...
最新文章
- Debian 6.0 安装过程 及中文乱码
- 一阶系统单位阶跃响应的特点_第八讲 系统的时域响应
- left join 不重复_R语言ETL工程:连接(join)
- 【转】Android BroadcastReceiver介绍
- jtoken判断是否包含键_Redis列表键(linkedlist/ziplist)的介绍
- uboot mkimage使用详解
- Linux下部署ASP.NET服务连接oracle遇到的问题记录
- 关于企业应用SAP成本管理模式与方法的一些思考
- H5 FormData 表单数据对象详解 与 Json 对象相互转换
- EXCEL数组公式,群里求助的问题,按条件查最大值,中位数等, 可用数组公式解决
- Barrett reduction算法
- PRTR论文代码解读
- matlab筛选excel数据统计,MATLAB读取Excel筛选符合条件的数据进行求均值等处理 程序......
- python value iteration算法玩倒立摆(inverted pendulum)
- 耳部穴位取穴 耳朵对应身体各部位反射图
- C语言:字母金字塔(输入一个大写字母,输出从A到这个字母的金字塔
- java8(三)Stream API
- SpringBoot + Excel 读写技术与实际问题解决
- C++中cout的格式使用
- amcap测试软件,AMCap摄像头测试软件使用说明