Я думаю, що проблема гикавки не обов’язково викликана свопом. Якщо програма щось відтворює, 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`