当前位置: 首页 > 面试题库 >

如何知道Linux Scheduler时间片?

江宏伟
2023-03-14
问题内容

我正在寻找我的Linux内核的时间片(或量子)的值。

具体问题:

  • 是否存在/proc公开此类信息的文件?
  • (或者)在我的发行版的Linux标头中是否定义明确?
  • (或者)是否存在公开此值的Linux API的C函数(也许是sysinfo)?

问题答案:

分配给特定过程的数量可能有所不同:

您可以通过调整 sched_latency_nssched_min_granularity_ns 来调整“切片”
,但请注意,“切片”不是固定的量。还要注意,CFS抢占决策是基于瞬时状态的。一个任务可能已经收到了完整的(可变)CPU时间“分片”,但是仅当有更多应得的任务可用时,抢占才会被触发,因此“分片”不是您期望的“最大不间断CPU时间”会..但是有点相似。

这是因为完全公平的调度程序(默认的Linux调度程序)将处理器的一部分分配给进程,而不是固定的时间片。这意味着每个进程的时间片与当前负载成比例,并由进程的优先级值加权。

对于特殊用途的实时进程在使用SCHED_RR,默认的时间片是在Linux内核定义为RR_TIMESLICE在在include / linux /排程/
rt.h

/*
 * default timeslice is 100 msecs (used only for SCHED_RR tasks).
 * Timeslices get refilled after they expire.
 */
#define RR_TIMESLICE            (100 * HZ / 1000)

您可以sched_rr_get_interval()用来获取特定SCHED_RR进程的SCHED_RR间隔。



 类似资料:
  • 问题内容: 现在,我使用一个静态布尔值来告诉初始化何时发生。有没有更简单的方法知道我已经调用了initialize? 谢谢!!! 解决了!!!!非常感谢您的评论。您需要在扩展应用程序的类中初始化解析,然后将其作为应用程序(而不是其他活动)添加到清单文件中。 :) 这是我使用Parse的课程: 这是我的android清单文件 问题答案: 创建一个应用程序类,然后在onCreate中初始化解析。 在此

  • 我正在用JAXB解析XML,并创建了一个事件处理程序,如果验证出现问题,它将显示错误。 调用事件处理程序并输出错误;如果调用了事件处理程序(在打印输出之后),如何抛出异常 在代码中,我不知道何时调用事件处理程序,它只是在验证错误时调用;我需要在事件处理程序返回后将文件移动到 /dir的能力。 我的事件处理程序如下所示: 处理时,我的代码如下所示:

  • 问题内容: 我想通过查看算法的运行时性能来测试哪种数据结构是最佳的,我该怎么做? 例如我已经有一个; 假设我有我的,我想知道下面的语句需要多长时间来执行:。 我该如何计时? 谢谢! 问题答案: 首先看一下我对这个问题的回答;它包含一个可移植的(windows/linux)函数,以毫秒为单位获取时间。 接下来,执行以下操作: 全做完了!(请注意,我没有尝试编译它)

  • 问题内容: 由于许多node.js脚本遵循异步执行模式(以下示例),因此它们如何知道何时停止? 在以下代码中,节点如何确定在处理writeFile和适当注册回调之后,在回调运行之前,该进程应保持活动状态? 问题答案: 节点跟踪所有未完成的工作请求。您的fs.writefile()调用为I / O创建工作请求,并将您的回调添加到该请求。节点在启动I / O活动的同时将工作请求保存到其表中。到达函数末

  • 当失去焦点时,我需要捕捉,我搜索了其他问题,但没有找到答案。 我这样使用 但是,这对我不起作用。

  • 我想模拟Gmail关于通知栏通知的应用程序行为,它符合推荐的Android模式:http://developer.Android.com/design/patterns/notifications.html 即特定于单个邮件的通知,点击该通知将显示该特定电子邮件的屏幕。如果我通过刷清或使用“清除所有”清除通知,那么当我得到一个新消息时,我将得到另一个消息特定的通知。但如果我没有清除它,而我又收到另