我有一个守护进程,它调用 pthread_setschedparam() 来设置线程优先级。在使用 systemd (OpenSuse 12.1) 的系统上,此操作失败,因为 sched_setscheduler() 返回 EPERM。
据我所知,systemd 不再使用 /etc/security/limits.conf 中设置的权限,而我以前可以允许这样做。
使用 systemd 时,如何允许守护进程更改 RT 优先级?
答案1
读systemd.exec(5),然后在守护进程服务文件中尝试使用LimitRTPRIO
andLimitRTTIME
或CPUSchedulingPolicy
, CPUSchedulingPriority
。CPUSchedulingResetOnFork