Дабы понять как влияет nice на работу того или иного процесса в Linux-е, надо понимать как работает планировщик процессов. nice влияет только на так называемый статический приоритет процесса. Проблема тут в том, что в Linux-е используется динамическое планирование процессов. То бишь для каждого процесса выделяемый квант времени считается индивидуально. В экстремальных случаях процессы можно разделить на два типа: ограниченные скоростью процессора и ограниченные скоростью ввода-вывода. В зависимости от того, к какой группе планировщик отнёс процесс, ему выдаётся тот или иной квант времени. Если процесс мало чего считает, а больше находится в ожидании ввода-вывода, то он считается интерактивным и ему даётся меньший квант времени, но больший приоритет. Если процесс активно использует процессор, но в ожидании почти не стоит, то он считается ограниченным производительностью процессора, посему ему даётся более низкий приоритет, но большой квант времени. Таким образом параметр nice лишь двигает влево-вправо тот приоритет, который насчитал планировщик (точнее сказать, что результирующий приоритет задачи это функция статического и динамического приоритетов). Очень хорошо работа планировщика расписана у Роберта Лава в книге «Разработка ядра Linux», но в старых редакциях описана работа уже не актуального для современных ядер планировщика. Если действительно интересно, то попробуйте посмотреть вот этот документ:
www.ibm.com/developerworks/ru/library/l-cfs/index.html