Текущий ответ от levif (рекомендует SCHED_BATCH) неверен для текущей реализации потока NPTL в Linux (вы можете проверить, какая реализация у вашего ядра, запустив 'getconf GNU_LIBPTHREAD_VERSION').
В сегодняшнем ядре только политики планирования в реальном времени допускают настройку sched_priority - для политик, не относящихся к RT, это всегда 0 (SCHED_OTHER, SCHED_BATCH и SCHED_IDLE). Ваш единственный выбор для политик без RT - установить «хорошие» значения, например, по setpriority (). Тем не менее, нет хороших спецификаций точного поведения, которые можно ожидать, устанавливая «nice», и, по крайней мере, теоретически оно может варьироваться от версии ядра к версии ядра. В современных ядрах Linux «хороший» эффект очень похож на приоритет, поэтому вы можете использовать его почти взаимозаменяемо. Чтобы увеличить частоту планирования вашей темы, вы хотите понизить ваше значение 'nice'. Для этого требуется возможность CAP_SYS_NICE (обычно root, но не обязательно, см. http://man7.org/linux/man-pages/man7/capabilities.7.html и http://man7.org/linux/man-pages/man3/cap_set_proc.3.html).
Фактически SCHED_BATCH разработан для случая , противоположного тому, что запрашивал спрашивающий: он предназначен для длительных работ с интенсивным использованием процессора, которые могут жить с более низким приоритетом . Он говорит планировщику слегка оштрафовать приоритет пробуждения для потоков.
Также, чтобы ответить на один из предыдущих комментариев (у меня пока нет достаточной репутации, чтобы комментировать в ответ - некоторые отклики на этот ответ помогут :)). Да, плохая новость заключается в том, что спецификация POSIX.1 говорит, что «nice» влияет на процессы, а не на отдельные потоки. Хорошей новостью является то, что реализации потоков Linux (как NPTL, так и оригинальные потоки Linux) нарушают спецификацию и позволяют ей влиять на отдельные потоки. Я нахожу забавным, что это часто вызывается в разделе «ОШИБКИ» на страницах руководства. Я бы сказал, что ошибка была в спецификации POSIX.1, которая должна была допускать такое поведение, а не в реализациях, которые были вынуждены предоставлять ее, несмотря на спецификацию, и делали это сознательно и преднамеренно. Другими словами - не ошибка.
Большая часть этого подробно описана на справочной странице sched (7) (которая по некоторым причинам не поставляется в моей системе Fedora 20):
http://man7.org/linux/man-pages/man7/sched.7.html
Если вы действительно хотите повлиять на sched_priority, вы можете посмотреть на политики в реальном времени, такие как SCHED_RR).