多久的上下文切换需要在Linux呢?
-
21-08-2019 - |
题
我很好奇,它需要多少个周期来改变上下文中的Linux。我专门用E5405至强(x64)的,但我很想看看它是如何比较其他平台以及。
解决方案
可以去看一个免费的应用程序称为通过的LMBench拉里·麦沃伊和朋友写的。它提供了一堆OS&HW基准 其中一个测试被称为lat_ctx和它的措施CONTEX开关延迟。 对于谷歌和的LMBench检查自己对自己的硬件。它的唯一的方式得到了一些有意义的给你。
吉拉德
其他提示
运行的vmstat你的机器上,而这样做的东西,需要大量的上下文切换。它不告诉你实际的开关需要多长时间,但它会告诉你,你每秒多少交换机做。
然后,你必须估计多少时间片每花费相比切换上下文中执行实际的代码。也许100:1还是什么?我不知道。 1000:1
我的一个机器现在做每秒大约3000开关,每时间片即0.3毫秒。以100:1的比例,这将意味着实际开关需要0.003毫秒
。但是,具有多个核,线程得到执行,等等等等,我难道不从这样的猜测得出任何结论:)
我已经写代码这是能够以每秒200K分组呼应(小)UDP数据包。
这表明,它是可能的上下文切换在不超过2.5微秒,与实际的上下文切换可能采取比稍差。
不隶属于 StackOverflow