Processes requiring Real-Time Scheduling fail with "sched_setscheduler: Operation not permitted" error or similar

Solution Verified - Updated -

Issue

  • Services trying to acquire real-time scheduling fail to start, strace on the service executable shows a EPERM (Operation not permitted) error when calling the sched_setscheduler syscall with SCHED_RR parameter:

    # strace <program> 2>&1 >/dev/null | grep sched_setscheduler
    sched_setscheduler(0, SCHED_RR, { 99 }) = -1 EPERM (Operation not permitted)
    
  • Services acquiring real-time scheduling start normally at boot, but fail to be restarted, and usually show the error message shown above

Environment

  • Red Hat Enterprise Linux (RHEL) 7
    • systemd

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In