
Profile wydajności w Enterprise Linux 8 (tuned-adm)

W systemie EuroLinux 8 domyślnie zainstalowany i aktywny jest program tuned, który pozwala w prosty sposób dostroić system do najlepszej wydajności, w zależności od wybranego scenariusza użytkowania. W tym artykule pokażemy, jak go używać.
W rodzinie systemów Enterprise Linux 8 domyślnie zainstalowany i aktywny jest program tuned, który pozwala w prosty sposób dostroić system do najlepszej wydajności, w zależności od wybranego scenariusza użytkowania. Dziś pokażemy, jak go używać.
Poleceniem tuned-adm
możemy przełączyć się na jeden z dostępnych profili wydajności, np. na profil zbalansowany, oszczędzający energię, desktopowy, na profile przeznaczone dla maszyn wirtualnych i hostów maszyn wirtualnych, profile zwiększające wydajność z naciskiem na niskie opóźnienia, wysoką przepustowość pamięci masowej lub sieci czy profile przygotowane specjalnie pod bazy Oracle lub MS SQL Server.
Listę domyślnie dostępnych profili w Enterprise Linux 8 (Rocky Linux, AlmaLinux, Oracle Linux, RHEL…), wyświetlimy poleceniem tuned-adm
z parametrem list
:
[eurolinux@el84 ~]$ tuned-adm list
Available profiles:
- accelerator-performance - Throughput performance based tuning with disabled higher latency STOP states
- balanced - General non-specialized tuned profile
- desktop - Optimize for the desktop use-case
- hpc-compute - Optimize for HPC compute workloads
- intel-sst - Configure for Intel Speed Select Base Frequency
- latency-performance - Optimize for deterministic performance at the cost of increased power consumption
- network-latency - Optimize for deterministic performance at the cost of increased power consumption, focused on low latency network performance
- network-throughput - Optimize for streaming network throughput, generally only necessary on older CPUs or 40G+ networks
- optimize-serial-console - Optimize for serial console use.
- powersave - Optimize for low power consumption
- throughput-performance - Broadly applicable tuning that provides excellent performance across a variety of common server workloads
- virtual-guest - Optimize for running inside a virtual guest
- virtual-host - Optimize for running KVM guests
Current active profile: virtual-guest
Dodatkowe, dostępne do pobrania paczki z profilami tuned, można wyszukać za pomocą poleceń dnf search tuned-profiles-*
lub dnf list tuned-profiles-*
:
[eurolinux@el84 ~]$ dnf search tuned-profiles-*
Last metadata expiration check: 0:07:00 ago on Thu 16 Nov 2021 12:02:48 AM CET.
========================= Name Matched: tuned-profiles-* ==========================
tuned-profiles-atomic.noarch : Additional tuned profile(s) targeted to Atomic
tuned-profiles-compat.noarch : Additional tuned profiles mainly for backward
: compatibility with tuned 1.0
tuned-profiles-cpu-partitioning.noarch : Additional tuned profile(s) optimized for
: CPU partitioning
tuned-profiles-mssql.noarch : Additional tuned profile(s) for MS SQL Server
tuned-profiles-oracle.noarch : Additional tuned profile(s) targeted to Oracle loads
Aktywny w systemie profil wyświetlimy poleceniem tuned-adm
z parametrem active
:
[eurolinux@el84 ~]$ tuned-adm active
Current active profile: virtual-guest
Przełączenie między profilami uzyskamy, podając w pierwszym parametrze zwrot profile
, a w drugim nazwę nowego, wybranego profilu:
[eurolinux@el84 ~]$ sudo tuned-adm profile network-latency
[eurolinux@el84 ~]$ tuned-adm active
Current active profile: network-latency
Możemy też przełączyć się na rekomendowany dla naszego systemu profil, korzystając z parametru recommend
. Rekomendacja jest oparta na różnych charakterystykach systemu, m.in. na informacji, czy system jest maszyną wirtualną oraz na opcjach wybranych podczas instalacji systemu:
[eurolinux@el84 ~]$ sudo tuned-adm profile $(tuned-adm recommend)
[eurolinux@el84 ~]$ tuned-adm active
Current active profile: virtual-guest
Cockpit
Procedury zmiany profilu możemy również dokonać w sposób wizualny w webowej aplikacji cockpit. W tym celu w pierwszej kolejności musimy aktywować tę aplikację poleceniem:
sudo systemctl enable --now cockpit.socket
Następnie możemy otworzyć okno przeglądarki. W pasku adresu, po https, należy podać IP maszyny, na której zainstalowany jest system oraz port 9090. Po wprowadzeniu tych danych do przeglądarki ujrzymy stronę z oknem logowania do systemu:
Zmian w profilach mogą dokonywać tylko użytkownicy uprzywilejowani – należy o tym pamiętać na etapie logowania się do cockpitu. Po zalogowaniu wyświetli się ekran przeglądu informacji o systemie wraz z aktualnie wykorzystywanym profilem wydajności:
Możemy teraz kliknąć nazwę aktywnego profilu i w nowym oknie wybrać dowolny profil, zatwierdzając zmianę przyciskiem Zmień profil:
Podsumowanie
Po dodatkowej konfiguracji tuned potrafi dynamicznie zmieniać profile w zależności od obciążenia systemu, reagując na aktualną sytuację na serwerze. Profile dostarczane przez dystrybucję są przechowywane w podkatalogu /usr/lib/tuned
, a profile zdefiniowane przez użytkownika w podkatalogu /etc/tuned
. Jeżeli w obu miejscach znajdują się profile o tej samej nazwie, to profile zdefiniowane przez użytkownika mają pierwszeństwo przed systemowymi. Tworzenie własnych profili opisane jest w manualu tuned.conf(5).
Tym prostym sposobem zmiany profilu wydajności, według wymaganego i narzuconego scenariusza użytkowania maszyny, może dokonać użytkownik bez szczegółowej wiedzy na temat dostrajania systemu. Jest to jedna z wielu zalet systemów klasy Enterprise Linux.