Я думаю, что проблема сбоя не обязательно вызвана обменом. Если программа что-то играет, Linux должен это заметить, а не менять местами. Программы, которые мало что делают - это первые, которые меняются местами. Вы можете проверить, действительно ли программа поменялась местами, посмотрев на поле RSS/ RESиз ps или top . RSSэто размер резидентного набора, не поменяная местами физическая память, используемая задачей (в килобайтах).
Я думаю, что ваша проблема, скорее всего, вызвана неправильным планированием процессора и ввода-вывода и небольшой неэффективностью Rhythmbox, что делает его чувствительным к высоким системным нагрузкам. Приоритет процессора можно изменить с помощью команд nice и renice . Приоритет ввода / вывода можно изменить с помощью команды ionice . Только суперпользователь может использовать высокие приоритеты. Вы также должны знать, что ребята из ядра Linux пытаются улучшить быстродействие настольных систем с помощью различных патчей с низкой задержкой, поэтому вы можете рассмотреть возможность их использования. Одним из них является патч ~ 200 строк, написанный Майком Гэлбрейтом, который поразил даже Линуса. Альтернативой этому патчу является трюк cgroups Леннарта Поэттеринга который я думаю будет по умолчанию в Fedora 15.
В любом случае, без этих патчей есть два варианта: запустить программу с высоким приоритетом или изменить ее впоследствии. Для первого варианта вы можете использовать скрипт-обертку вокруг Rhythmbox:
#!/bin/sh
# Run Rhytmbox with high CPU and I/O priorities
nice -n -10 ionice -c 1 -n 1 su -l -c rhythmbox alexei
Вам нужно будет запустить его как root. Если вы не хотите входить в систему как root, просто чтобы начать это, вы можете использовать либо suили sudo.
Что касается последующего изменения приоритета, если вам лень входить в систему как root, чтобы изменить его, вы можете попробовать использовать задание cron, которое запускается каждые 5 минут и устанавливает приоритет rhythmboxпроцесса, но я бы не рекомендовал делать это:
#!/bin/sh
renice -n -10 -p `pidof rhythmbox`
ionice -c 1 -n 1 -p `pidof rhythmbox`