在调试了我公司产品BIOS的不稳定tsc问题后,我怀疑当唯一的其他时钟源是jiffies时,tsc可能总是不稳定。
我得到了这样的错误
Clocksource tsc unstable (delta = -531266231 ns). 然后内核选择了 tsc 之外的 jiffies。
仅有的两个时钟源是 tsc 和 jiffies。
我用 i386 和 x64 尝试了 Linux 内核 2.6 和 3.2。内核说CPU其实支持constant tsc和invariant tsc。
查看Linux源码后,发现tsc有CLOCKSOURCE_MUST_VERIFY标志,而jiffies没有。我想如果只有两个时钟源,jiffies 和 tsc,jiffies 将成为时钟源看门狗。
然而,与 tsc 相比,jiffies 是一个非常差的时钟源,因此我怀疑在这种情况下 tsc 将始终“不稳定”,因为有一个坏的看门狗来验证它。
我还检查了其他一些运行良好的 tsc 系统,发现它们还有其他时钟源,例如 Hpet 或 acpi_pm。
因此,我如何判断 tsc 不稳定是由 jiffies 还是其他地方的某些错误引起的?
最佳答案
今天我用最小安装测试了 CentOS 6.6 i386 镜像。内核默认有三个时钟源:tsc acpi_pm jiffies。使用的是 Clocksource tsc。
然后我尝试了acpi=off选项,发现只有两个时钟源,tsc jiffies。但是,tsc 并不不稳定,仍然用作主要时钟源。因此看门狗 jiffies 不会总是拒绝 tsc。
我在戴尔台式机上做了上述实验。然而,在另一台计算机上使用完全相同的硬盘驱动器,但使用我公司的 BIOS,tsc 仍然不稳定(也只有两个时钟源:tsc 和 jiffies,但使用了 jiffies)。我怀疑 BIOS 有问题。我知道我的 BIOS 还不支持 acpi,但我不确定是不是这个原因。
因此它跳转到另一个问题:BIOS 中是否有某些配置会导致 tsc 不稳定?我的 BIOS 支持 Intel CPU 并已禁用 CPU 电源管理。
关于linux - 当唯一的其他时钟源是 jiffies 时,时钟源 tsc 是否总是不稳定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30008501/
我试图在一个项目中使用rake,如果我把所有东西都放到Rakefile中,它会很大并且很难读取/找到东西,所以我试着将每个命名空间放在lib/rake中它自己的文件中,我添加了这个到我的rake文件的顶部:Dir['#{File.dirname(__FILE__)}/lib/rake/*.rake'].map{|f|requiref}它加载文件没问题,但没有任务。我现在只有一个.rake文件作为测试,名为“servers.rake”,它看起来像这样:namespace:serverdotask:testdoputs"test"endend所以当我运行rakeserver:testid时
给定这段代码defcreate@upgrades=User.update_all(["role=?","upgraded"],:id=>params[:upgrade])redirect_toadmin_upgrades_path,:notice=>"Successfullyupgradeduser."end我如何在该操作中实际验证它们是否已保存或未重定向到适当的页面和消息? 最佳答案 在Rails3中,update_all不返回任何有意义的信息,除了已更新的记录数(这可能取决于您的DBMS是否返回该信息)。http://ar.ru
我正在寻找执行以下操作的正确语法(在Perl、Shell或Ruby中):#variabletoaccessthedatalinesappendedasafileEND_OF_SCRIPT_MARKERrawdatastartshereanditcontinues. 最佳答案 Perl用__DATA__做这个:#!/usr/bin/perlusestrict;usewarnings;while(){print;}__DATA__Texttoprintgoeshere 关于ruby-如何将脚
这个问题在这里已经有了答案:Checktoseeifanarrayisalreadysorted?(8个答案)关闭9年前。我只是想知道是否有办法检查数组是否在增加?这是我的解决方案,但我正在寻找更漂亮的方法:n=-1@arr.flatten.each{|e|returnfalseife
关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion为什么SecureRandom.uuid创建一个唯一的字符串?SecureRandom.uuid#=>"35cb4e30-54e1-49f9-b5ce-4134799eb2c0"SecureRandom.uuid方法创建的字符串从不重复?
我正在学习Rails,并阅读了关于乐观锁的内容。我已将类型为integer的lock_version列添加到我的articles表中。但现在每当我第一次尝试更新记录时,我都会收到StaleObjectError异常。这是我的迁移:classAddLockVersionToArticle当我尝试通过Rails控制台更新文章时:article=Article.first=>#我这样做:article.title="newtitle"article.save我明白了:(0.3ms)begintransaction(0.3ms)UPDATE"articles"SET"title"='dwdwd
我有一个包含多个键的散列和一个字符串,该字符串不包含散列中的任何键或包含一个键。h={"k1"=>"v1","k2"=>"v2","k3"=>"v3"}s="thisisanexamplestringthatmightoccurwithakeysomewhereinthestringk1(withspecialcharacterslike(^&*$#@!^&&*))"检查s是否包含h中的任何键的最佳方法是什么,如果包含,则返回它包含的键的值?例如,对于上面的h和s的例子,输出应该是v1。编辑:只有字符串是用户定义的。哈希将始终相同。 最佳答案
我需要检查DateTime是否采用有效的ISO8601格式。喜欢:#iso8601?我检查了ruby是否有特定方法,但没有找到。目前我正在使用date.iso8601==date来检查这个。有什么好的方法吗?编辑解释我的环境,并改变问题的范围。因此,我的项目将使用jsapiFullCalendar,这就是我需要iso8601字符串格式的原因。我想知道更好或正确的方法是什么,以正确的格式将日期保存在数据库中,或者让ActiveRecord完成它们的工作并在我需要时间信息时对其进行操作。 最佳答案 我不太明白你的问题。我假设您想检查
我的日期格式如下:"%d-%m-%Y"(例如,今天的日期为07-09-2015),我想看看是不是在过去的七天内。谁能推荐一种方法? 最佳答案 你可以这样做:require"date"Date.today-7 关于ruby-检查日期是否在过去7天内,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/32438063/
这里有一个很好的答案解释了如何在Ruby中下载文件而不将其加载到内存中:https://stackoverflow.com/a/29743394/4852737require'open-uri'download=open('http://example.com/image.png')IO.copy_stream(download,'~/image.png')我如何验证下载文件的IO.copy_stream调用是否真的成功——这意味着下载的文件与我打算下载的文件完全相同,而不是下载一半的损坏文件?documentation说IO.copy_stream返回它复制的字节数,但是当我还没有下