Dostosowane profile do optymalizacji obciążenia serwerów z systemem Linux
16 min czytania - 9 czerwca 2026

Jak wybierać, stosować i dostosowywać profile zoptymalizowane dla serwerów z procesorami graficznymi (GPU), serwerów bazodanowych oraz serwerów Linux o dużej przepustowości — wraz z przykładami i wskazówkami dotyczącymi wdrażania za pomocą Ansible.
Dostosowane profile do optymalizacji obciążenia serwerów
Domyślne ustawienia systemu Linux są dostosowane pod kątem kompatybilności, a nie wydajności. Demon tuned zawiera predefiniowane profile, które dostosowują regulatory procesora, harmonogramy operacji wejścia/wyjścia, parametry jądra oraz bufory sieciowe do konkretnego obciążenia. W tym wpisie omówiono, jak działają te profile, który z nich wybrać dla typowych ról serwerowych oraz jak tworzyć i wdrażać profile niestandardowe w całej flocie serwerów.
Jak działają profile dostosowane
Profil to katalog w ramach /usr/lib/tuned/profiles/ (system) lub /etc/tuned/profiles/ (niestandardowy), zawierający plik tuned.conf . Plik konfiguracyjny grupuje parametry według wtyczek: [cpu], [disk], [sysctl], [vm], [bootloader]i tak dalej. Po aktywowaniu profilu demon tuned stosuje wszystkie parametry za jednym razem, zamiast uruchamiać dziesiątki sysctl i sysfs polecenia ręcznie.
Profile mogą dziedziczyć ustawienia od siebie nawzajem za pomocą include . Na przykład throughput-performance , na przykład, może służyć jako podstawa dla niestandardowego profilu bazy danych, który zastępuje jedynie vm.swappiness ustawienie Transparent Huge Pages.
Funkcja tuned działa w dwóch trybach. Optymalizacja statyczna stosuje profil jednorazowo podczas aktywacji i nie ingeruje dalej w działanie systemu — jest to pożądane na serwerach produkcyjnych, gdzie spójność ma większe znaczenie niż oszczędność energii. Optymalizacja dynamiczna monitoruje w czasie rzeczywistym wykorzystanie dysków, sieci i obciążenia oraz dostosowuje ustawienia na bieżąco. Profile wydajności domyślnie wyłączają optymalizację dynamiczną, aby uniknąć obciążenia związanego z monitorowaniem.
Wybór odpowiedniego profilu dla danego obciążenia
tuned udostępnia kilkanaście profili obejmujących najczęściej spotykane obciążenia. Należy wybrać ten, który odpowiada faktycznemu przeznaczeniu serwera, zamiast pozostawiać domyślny balanced .
| Obciążenie | Obciążenie | Do czego służy |
|---|---|---|
| Trening i wnioskowanie na GPU | accelerator-performance | Blokuje procesor w stanach C o niskim poborze mocy, utrzymując opóźnienie między procesorem a procesorem graficznym poniżej 100 µs |
| Bazy danych (Postgres, MySQL, Redis) | throughput-performance | Wyłącza tryb oszczędzania energii, optymalizuje operacje wejścia/wyjścia na dysku i w sieci oraz wyłącza funkcję Transparent Huge Pages |
| Sieci o dużej przepustowości (CDN, replikacja, potoki danych) | network-throughput | Zwiększa bufory sieciowe jądra w celu zapewnienia ciągłego transferu o dużej przepustowości |
| Usługi wrażliwe na opóźnienia | network-latency lub latency-performance | Ustawia regulator procesora na performance, wyłącza głębokie stany C |
| HPC i klastry obliczeniowe | hpc-compute | Zwiększa wydajność przy niskim opóźnieniu dzięki NUMA i optymalizacji pamięci |
| Instancje VPS (system operacyjny gościa) | virtual-guest | Obniża współczynnik swappiness, zwiększa odczyt z wyprzedzeniem z dysku dla parawirtualizowanych operacji wejścia/wyjścia |
| Hosty z hiperwizorem KVM | virtual-host | Optymalizuje zapis brudnych stron dla obciążeń maszyn wirtualnych |
| Mieszane lub nieznane | balanced | Ustawienia domyślne. Priorytetem jest oszczędność energii kosztem wydajności |
W przypadku konkretnych silników baz danych dostarczane są również dostosowane ustawienia postgresql, mssqloraz oracle profile, które wykraczają poza throughput-performance poprzez dostosowanie parametrów pamięci współdzielonej i harmonogramu jądra dla tych silników.
Na serwerach wieloprocesorowych istotna jest topologia NUMA. Dostęp do pamięci w węźle zdalnym może być dwa do trzech razy wolniejszy niż dostęp lokalny. W przypadku obciążeń, dla których opóźnienie ma kluczowe znaczenie, na komputerach dwuprocesorowych należy wyłączyć automatyczne równoważenie NUMA w profilu i ręcznie przypisać procesy do konkretnych węzłów.
Instalowanie i stosowanie profili
Zainstaluj tuned na systemach RHEL, Rocky, AlmaLinux lub Fedora:
dnf install tuned
systemctl enable --now tunedW systemach Debian i Ubuntu pakiet nosi również nazwę tuned i instaluje się za pomocą apt. Jeśli power-profiles-daemon jest już uruchomiony, należy go wyłączyć, aby uniknąć konfliktów:
systemctl mask --now power-profiles-daemonWyświetl listę dostępnych profili, zapytaj `tuned`, co zaleca dla danego sprzętu, zastosuj profil i zweryfikuj go:
tuned-adm list
tuned-adm recommend
tuned-adm profile throughput-performance
tuned-adm verifyAktywny profil jest zapisany w /etc/tuned/active_profile i pozostaje zachowany po ponownym uruchomieniu systemu. Aby całkowicie usunąć ustawienia i zmierzyć stan bazowy, uruchom tuned-adm off.
Tworzenie niestandardowego profilu dla obciążeń związanych ze sztuczną inteligencją, uczeniem maszynowym i wysoką przepustowością
Gdy profile domyślne pozwalają osiągnąć 90% zamierzonego efektu, należy utworzyć profil niestandardowy, który dziedziczy ustawienia z profilu najbardziej zbliżonego do potrzeb i nadpisuje pozostałe parametry. Należy zacząć od katalogu i pliku konfiguracyjnego:
mkdir -p /etc/tuned/ai-gpu
cat > /etc/tuned/ai-gpu/tuned.conf <<'EOF'
[main]
summary=Custom profile for GPU training with high-bandwidth networking
include=accelerator-performance
[cpu]
governor=performance
[sysctl]
kernel.numa_balancing=0
net.core.rmem_max=268435456
net.core.wmem_max=268435456
net.ipv4.tcp_rmem=4096 87380 268435456
net.ipv4.tcp_wmem=4096 65536 268435456
[vm]
transparent_hugepages=never
[bootloader]
cmdline=hugepagesz=2M hugepages=16384 <a target="_blank" rel="noopener noreferrer" href="https://en.wikipedia.org/wiki/Input%E2%80%93output_memory_management_unit">iommu</a>=pt
EOF
tuned-adm profile ai-gpuKluczowe opcje w tym przypadku:
numa_balancing=0powstrzymuje jądro przed migrowaniem pamięci między gniazdami podczas sesji szkoleniowych, co jest częstą przyczyną spowolnień w komputerach z dwoma gniazdami GPU.- Opcja
rmem_maxitcp_rmemzwiększają górny limit bufora gniazda do 256 MB. W przypadku połączeń 25G, 40G lub 100G między węzłami szkoleniowymi domyślne rozmiary buforów ograniczają przepustowość znacznie poniżej prędkości łącza. transparent_hugepages=neverusuwa wahania opóźnień powodowane przez THP w frameworkach takich jak PyTorch i TensorFlow, które alokują duże tensory.iommu=ptprzełącza IOMMU w tryb passthrough, niezbędny do passthrough procesorów graficznych i kart sieciowych, oraz zmniejsza obciążenie związane z operacjami DMA na sprzęcie typu bare-metal.
Wszystko poniżej [bootloader] wymaga ponownego uruchomienia systemu. Po aktywacji profilu należy uruchomić polecenie tuned-adm verify , aby potwierdzić zastosowanie parametrów środowiska uruchomieniowego, a następnie sprawdź journalctl -u tuned , czy nie ma błędów. Przeprowadź testy wydajności przed i po zmianie za pomocą iostat -xz, numastatoraz odpowiednim narzędziem do obciążenia (iperf3, fiolub rzeczywistego przebiegu szkolenia).
Warto wyraźnie zaznaczyć jeden kompromis: wyłączenie zabezpieczeń procesora zapewnia wzrost wydajności o około 3–8% w przypadku obciążeń graficznych, ale powoduje spadek wydajności o 15–30% w przypadku obciążeń charakteryzujących się intensywnymi wywołaniami systemowymi. Decyzję należy podjąć w oparciu o model zagrożeń dla danego systemu. W dedykowanym klastrze szkoleniowym chronionym zaporą sieciową kalkulacja zazwyczaj przemawia za ich wyłączeniem. Na hoście wielodostępnym należy pozostawić je włączone.
Zarządzanie profilami w całej flocie serwerów
Ręczne stosowanie narzędzia `tuned` przestaje być opłacalne, gdy liczba serwerów przekracza kilka sztuk. Ansible radzi sobie z tym sprawnie. Pojedynczy playbook instaluje `tuned` i umieszcza katalogi profili niestandardowych w lokalizacji /etc/tuned/ poprzez moduł template modułu, a także stosuje odpowiedni profil dla każdej grupy inwentarza.
Przypisywanie profili do ról w spisie:
- Węzły GPU i AI:
accelerator-performancelub profil niestandardowy, który dziedziczy po nim - Serwery baz danych:
throughput-performancelub profil specyficzny dla silnika - Węzły CDN i brzegowe obsługujące ruch o dużej przepustowości:
network-throughput - Serwery API i serwery WWW za modułem równoważenia obciążenia:
network-latency - Maszyny wirtualne typu VPS i goście KVM:
virtual-guest - Hosty hiperwizora:
virtual-host
Odchylenie to prawdziwy problem operacyjny. Ręczne sysctl zmiany, aktualizacje pakietów wprowadzające nowe ustawienia domyślne lub ingerencja innego narzędzia do zarządzania konfiguracją w działanie tuned – wszystko to spowoduje, że ustawienia będą odbiegać od tego, co określa profil. Zaplanuj zadanie Ansible, które będzie uruchamiać się tuned-adm active i tuned-adm verify w systemie cron oraz skonfiguruj powiadomienia o niepowodzeniach. Zwracaj uwagę /var/log/tuned/tuned.log na wiersze typu „Verification failed”.
Wniosek
tuned eliminuje większość domysłów związanych z dostrajaniem jądra i sysctl. Ustawienia domyślne są wystarczające do ogólnego użytku, a profile dostosowane do konkretnych obciążeń, takie jak accelerator-performance, throughput-performance, oraz network-throughput pozwalają w znacznym stopniu zoptymalizować system bez konieczności pisania ani jednego pliku konfiguracyjnego.
- Wybierz profil fabryczny najbardziej odpowiadający Twoim potrzebom, uruchom polecenie
tuned-adm verify, a następnie przeprowadź testy wydajności - Twórz profile niestandardowe, dziedzicząc z profilu domyślnego i nadpisując tylko te ustawienia, które są Ci potrzebne
- Zwróć szczególną uwagę na równoważenie NUMA, strony typu hugepage oraz rozmiary buforów sieciowych na komputerach z kartami graficznymi i o dużej przepustowości
- Wdrażaj za pomocą Ansible i przeprowadzaj audyty zgodnie z harmonogramem, aby wychwycić odchylenia
Potrzebujesz mocy obliczeniowej typu bare-metal z rezerwą przepustowości, aby faktycznie korzystać z tych ustawień? Porozmawiaj z FDC o serwerach dedykowanych zaprojektowanych z myślą o obciążeniach wymagających wysokiej przepustowości i wykorzystujących procesory graficzne.

Samouczek dotyczący programu iperf3: Testowanie prędkości sieci w systemach Linux i Windows
Zainstaluj iperf3, przeprowadź testy przepustowości i dostosuj bufory TCP, aby uzyskać dokładne wyniki w systemach Linux i Windows. Obejmuje testy UDP, dwukierunkowe oraz testy 10GbE+.
10 min czytania - 7 maja 2026
Dostosowane profile do optymalizacji obciążenia serwerów z systemem Linux
16 min czytania - 9 czerwca 2026

Masz pytania lub potrzebujesz niestandardowego rozwiązania?
Elastyczne opcje
Globalny zasięg
Natychmiastowe wdrożenie
Elastyczne opcje
Globalny zasięg
Natychmiastowe wdrożenie