内核资料收集
1.
nice()
改变当前进程的基本优先级
getpriority()
返回20减去给定组中所有进程之中最低nice字段的值;
setpriority()
将给定组中所有进程的基本优先级设置为一个给定值.
sched_getaffinity()/sched_setaffinity()
返回和设置CPU进程亲和力掩码, 也就是允许执行进程的CPU的位掩码(进程描述符的cpus_allowed字段中).
2.实时进程相关系统调用
sched_getscheduler()
查询由pid参数所表示的进程当前所用的调度策略(进程描述符policy字段的值).
sched_setscheduler()
设置调度策略, 也设置由参数pid所表示进程的相关参数. 如果pid等于0, 调用进程的调度程序参数将被设置.
sched_getparam()
检索调度参数
sched_setparam()
类似sched_setscheduler(), 不同者在于不让调用者设置policy字段值.
sched_yield()
允许进程在不被挂起的情况下自愿放弃CPU, 进程仍然处于TASK_RUNNING状态, 但调度程序把它放在运行队列的
过期进程集中, 或放在运行队列链表的末尾. 在此情景下, 具有相同动态优先级的其它进程将有机会运行.
sched_FIFO实时进程使用
sched_get_priority_min()sched_get_priority_max()
返回最大和最小实时静态优先级的值
sched_rr_get_interval()
把参数pid表示的实时进程的轮转时间片写入用户态地址空间的一个结构中. 如果pid等于0, 系统调用就写当前进程的时间片.
阅读(659) | 评论(0) | 转发(0) |