我在SAS流程上表现出一些表现,这些流程似乎具有很高的“自愿上下文切换”和“非自愿上下文切换”。我们两次运行相同的SAS流程,
这是第一次
real time 12:14.02
user cpu time 15.11 seconds
system cpu time 1.95 seconds
memory 5412.06k
OS Memory 23716.00k
Timestamp 2018-06-19 04:06:39 PM
Step Count 3 Switch Count 41
Page Faults 0
Page Reclaims 467
Page Swaps 0
Voluntary Context Switches 40966
Involuntary Context Switches 4083
Block Input Operations 0
Block Output Operations 660880`
第二次是
real time 1:05.07
user cpu time 14.02 seconds
system cpu time 1.39 seconds
memory 5325.15k
OS Memory 24484.00k
Timestamp 2018-06-19 04:18:38 PM
Step Count 4 Switch Count 42
Page Faults 0
Page Reclaims 128
Page Swaps 0
Voluntary Context Switches 35877
Involuntary Context Switches 3105
Block Input Operations 0
Block Output Operations 667696`
,运行时间相差10分钟以上。我进行了一些快速研究,似乎“非自愿上下文切换”是由内核迫使进程进入非活动状态引起的,因此我认为我无法从代码中做很多事情,但是,对于“自愿上下文切换”该进程自动释放CPU以服务于另一个进程,是否有办法让我强制该进程在完成该进程之前不释放CPU?