Myślę, że problem z czkawką niekoniecznie jest spowodowany zamianą. Jeśli jakiś program coś odtwarza, Linux powinien to zauważyć i nie zamieniać. Programy, które niewiele robią, są pierwszymi, które ulegają zamianie. Możesz sprawdzić, czy program naprawdę się zamienia, patrząc na pole RSS/ RESod ps lub od góry . RSSto rezydentny rozmiar zestawu, nie wymieniona pamięć fizyczna używana przez zadanie (w kilobajtach).
Myślę, że twój problem jest najprawdopodobniej spowodowany niewłaściwym planowaniem procesora i I / O oraz odrobiną nieefektywności Rhythmbox, co czyni go wrażliwym na duże obciążenia systemu. Priorytet procesora można zmienić poleceniami nice i renice . Priorytet we / wy można zmienić za pomocą polecenia ionice . Tylko superużytkownik może używać wysokich priorytetów. Powinieneś także wiedzieć, że ludzie jądra Linuksa próbują poprawić czas reakcji systemów komputerowych za pomocą różnych łatek o niskim opóźnieniu, więc możesz rozważyć ich użycie. Jednym z nich jest łatka na ~ 200 linii napisana przez Mike'a Galbraitha, która zrobiła wrażenie na Linusie. Alternatywą dla tej łatki jest sztuczka z grupami Lennarta Poetteringa co, jak sądzę, będzie domyślnym w Fedorze 15.
W każdym razie bez tych łatek istnieją dwie opcje: uruchom program z wysokim priorytetem lub zmień go później. W przypadku pierwszej opcji można użyć skryptu opakowania wokół 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
Musisz uruchomić go jako root. Jeśli nie chcesz, aby zalogować się jako root tylko do rozpoczęcia tego, można użyć jednej sulub sudo.
Jeśli chodzi o późniejszą zmianę priorytetu, jeśli jesteś zbyt leniwy, aby zalogować się jako root, aby go zmienić, możesz spróbować użyć zadania cron, które jest uruchamiane co 5 minut i ustawia priorytet rhythmboxprocesu, ale nie polecam tego:
#!/bin/sh
renice -n -10 -p `pidof rhythmbox`
ionice -c 1 -n 1 -p `pidof rhythmbox`