Tuna — zarządzenia priorytetami procesów
23 kwietnia 2008, optimizationkit
Tuna jest narzędziem służącym do zarządzania priorytetami procesów, polityką ich szeregowania oraz przywiązaniem do konkretnych procesorów. Daje również możliwość zmiany przywiązania konkretnego przerwania do procesora jak i możliwość szybkiego włączenia i wyłączenia poszczególnych CPU.
Instalacje zaczynamy od utworzenia katalogu w którym wykonujemy poniższe polecenia (pobieramy tune z repozytorium razem z zależnościami)
git-clone git://git.kernel.org/pub/scm/linux/kernel/git/acme/tuna.git
git-clone git://git.kernel.org/pub/scm/linux/kernel/git/acme/python-ethtool.git
git-clone git://git.kernel.org/pub/scm/linux/kernel/git/acme/python-linux-procfs.git
git-clone git://git.kernel.org/pub/scm/linux/kernel/git/acme/python-schedutils.git
Instalujemy python-ethtool, python-linux-procfs i python-schedutils za pomocą polecenia
python setup.py install
Następnie przechodzimy do katalogu tuna, tworzymy katalog
mkdir /usr/share/tuna
(instalacja programu nie jest jeszcze dopracowana… ;)), kopiujemy potrzebne pliki
cp tuna/* /usr/share/tuna/
i możemy wreszcie uruchomić tuna-cmd.py.
W lewym górnym rogu jest wyświetlane okienko z listą procesorów oraz ich aktualnym obciążeniem - możemy tam wyłączyć niepotrzebne CPU
W prawym górnym rogu są wyświetlane przerwania IRQ - możemy przypisać je do innych procesorów.
W głównym oknie programu wyświetlana jest lista procesów z następującymi informacjami:
- pid procesu
- polityka szeregowania
- priorytet procesu
- przypisanie procesu do procesorów
- informacje o zmianach kontekstu
- cała linia poleceń
Każdemu z procesów możemy zmienić parametry jego szeregowania takie jak:
- polityka szeregowania - SCHED_OTHER, SCHED_FIFO, SCHED_RR, SCHED_BATCH
- priorytet planisty
- przywiązanie procesu do CPU
Liczba komentarzy: 8
W komentarzach możesz używać prostych znaczników HTML. Przykłady:
- Link: <a href="jaklinux.org">Linux dla każdego</a>,
- Wytłuszczenie: <strong>tekst pogrubiony</strong>,
- Kursywa: <em>tekst pochylony</em>,
- Przekreślenie: <strike>
tekst przekreślony</strike>, - Kod: <code>
printf("blok kodu");</code>, - Cytat: <blockquote>cytat</blockquote>







To narzędzie zapowiada się ciekawie.
nie tyle zapowiada sie, co już jest już ciekawe.
Skojarzyło mi się z “You can tune a filesystem, but you can’t tune a fish”
To kolejna produkcja spod klawiatury @optimizationkit? Tak mi się kojarzy planista i to wszystko inne właśnie z Tobą
To produkcja spod klawiatury Arnaldo Carvalho de Melo.
O nowej produkcji spod mojej klawiatury możesz przeczytać na stronie OK - “Defragmentacja linuksowych systemów plików”
…który to artykuł na dniach pojawi się również tu
I czym sie tu podniecac skoro wszystkie te rozwiazania juz od dawna sa dostepne?
# cat /proc/interruptspokazuje aktualnie przydzielone przerwania do konkretnych procesorow, zmian mozemy dokonac w za pomoca# echo 1 > /proc/irq/17/smp_affinityPodobnie ze zmiana klas schedulera, czy zmiana cpu dla konkretnego procesu
# taskset -c 1,3 -p 5123.Do tego istnieja tez narzedzia jak irqbalance, ktore zajmuja sie automatycznym przerzucaniem irq po procesorach.
O czyms tak bardzo podstawowym jak zmiana priorytetu za pomoca nice/renice nawet nie wspominam.
Nie wiem po co do tego narzedzie graficzne skoro ustawien tych uzywa sie przede wszystkim na serwerach bez x11.
Jezeli juz chce ktos tego uzywac na desktopie to o wiele lepsze bylyby skrypty (nawet zbindowane pod klawisze) do zmiany aktualnych ustawien, aby na przyklad przydzielic jakis wielowatkowy program na raz do wszystkich procesorow, a w razie potrzeby go przychamowania i zrobienia czegos innego skrypt ktory cofalby te ustawienia.
Ale ci co mieli to zrobic jzu pewnie to zrobili, a reszta bedzie czekac na Tuna chwile poklikaja i zostawia :p
“I czym sie tu podniecac skoro wszystkie te rozwiazania juz od dawna sa dostepne?”
Czy gdzieś napisałem, że się tym podniecam? Czy gdzieś napisałem, że tego wszystkiego nie możesz zrobić z linii poleceń?