Я думаю, що проблема гикавки не обов’язково викликана свопом. Якщо програма щось відтворює, Linux повинен помітити це, а не міняти його. Програми, які не роблять багато, - це перші, які поміняються місцями. Ви можете перевірити, чи дійсно програма поміняється, переглянувши RSS/ RESполе з ps або вгорі . RSS- розмір набору резидентів, фізична пам'ять, що не замінюється, що використовується завданням (у кілобайтах).
Я думаю, що ваша проблема, швидше за все, викликана неправильним плануванням процесора та вводу / виводу та трохи неефективністю Rhythmbox, що робить його чутливим до великих навантажень системи. Пріоритет CPU можна змінити за допомогою команд nice та renike . Пріоритет вводу / виводу можна змінити за допомогою команди ionice . Лише суперкористувач може використовувати високі пріоритети. Також слід знати, що хлопці з ядра Linux намагаються покращити чутливість настільних систем за допомогою різних патчів з низькою затримкою, тому ви можете подумати про їх використання. Один з них - це патч ~ 200 рядків, написаний Майком Гальбрайтом, який вразив навіть Лінуса. Альтернативою цьому патчу є трюк групи «Леннарт Поеттерінг» що, на мою думку, буде стандартним у 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. Якщо ви не хочете увійти як корінь просто для того, щоб почати це, ви можете використовувати або suабо sudo.
Що стосується зміни пріоритету після цього, якщо ви ліниві увійти в систему як корінь, щоб змінити його, ви можете спробувати використовувати роботу cron, яка працює кожні 5 хвилин і встановлює пріоритет rhythmboxпроцесу, але я б не рекомендував це робити:
#!/bin/sh
renice -n -10 -p `pidof rhythmbox`
ionice -c 1 -n 1 -p `pidof rhythmbox`