10.2. 抢占调度
实时抢占是一种临时中断执行任务的机制,希望稍后恢复它。当优先级较高的进程中断 CPU 用量时,会发生它。抢占可能会对性能造成负面影响,持续的抢占可导致名为"垃圾箱"的状态。当进程不断抢占且任何进程需要完全运行时,会出现这个问题。更改任务的优先级可帮助减少非自愿抢占。
您可以通过查看 /proc/PID/status 文件的内容(其中 PID 是进程标识符),检查单个进程上发生的 voluntary 和 involuntary 抢占。
以下示例显示了 PID 为 1000 的进程的抢占状态。
# grep voluntary /proc/1000/status
voluntary_ctxt_switches: 194529
nonvoluntary_ctxt_switches: 195338