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

具体问题:

  • 是否有/proc个文件公开了此类信息?
  • (或者)它在我的发行版的Linux标题中定义得好吗?
  • (或者)Linux API的C函数(可能是sysinfo)是否公开了这个值?

推荐答案

分配给特定进程的量may vary:

你可以通过调整sched_latency_nssched_latency_ns来调整"切片"

这是因为默认的Linux调度程序Completely Fair Schedulerassigns a proportion of the processor分配给进程,而不是固定的时间片.这意味着每个进程的时间片是proportional to the current load and weighted by the process' priority value.

对于使用SCHED_RR的特殊用途实时进程,默认时间片在Linux内核中定义为RR_TIMESLICE:include/linux/sched/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间隔.

Linux相关问答推荐

仅使用Find搜索32字符长的目录

如何在Linux上获取clang中的模板实例化统计?

将十六进制文件名转换为十进制

如何在我的 PC 上配置 GitLab 和 GitHub ssh 密钥

有没有办法确定什么代码使 linux 共享对象inflating ?

c++进程状态中的+是什么意思

从 curl 命令输出中获取值

使用具有特定值的字段对文件进行排序

Linux time 命令输出中 real、user 和 sys 的含义

我在哪里放置第三方库来设置 C++ Linux 开发环境?

为什么在 Linux 中使用 select

KDE 桌面效果中的 OpenGL 和 XRender 有什么区别?

在 Linux 上的进程之间传递消息的最快技术?

Mac OS X 中的 ldconfig 等效项?

从线程内Forking 是否安全?

如何关闭被杀死的程序打开的套接字?

linux中netstat和ss的区别?

如何更改 tmux 会话的起始目录?

以 qsub 开头的 shell 脚本的参数

在linux中根据内容拆分文件