Dostrojone profile dla optymalizacji obciążenia serwerów Linux
16 min czytania - 9 czerwca 2026

Jak wybrać, zastosować i dostosować dostrojone profile dla GPU, baz danych i serwerów Linux o wysokiej przepustowości, z przykładami i wskazówkami dotyczącymi wdrażania 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 i bufory sieciowe do konkretnego obciążenia. W tym poście omówiono, jak działają profile, który z nich wybrać dla typowych ról serwerów oraz jak tworzyć i wdrażać profile niestandardowe w całej flocie.
Jak działają profile dostosowane
Profil to katalog w /usr/lib/tuned/profiles/ (system) lub /etc/tuned/profiles/ (niestandardowy) zawierający plik tuned.conf . Plik conf grupuje parametry według wtyczek: [cpu], [disk], [sysctl], [vm], [bootloader]itd. Po aktywowaniu profilu demon tuned stosuje wszystkie parametry za jednym razem, zamiast uruchamiać dziesiątki sysctl i sysfs polecenia ręcznie.
Profile mogą dziedziczyć po sobie nawzajem dzięki include . Profil throughput-performance , na przykład, może służyć jako podstawa dla niestandardowego profilu bazy danych, który zastępuje tylko vm.swappiness ustawienie Transparent Huge Pages.
tuned działa w dwóch trybach. Strojenie statyczne stosuje profil jednokrotnie podczas aktywacji i nie ingeruje w system, co jest pożądane na serwerach produkcyjnych, gdzie spójność ma większe znaczenie niż oszczędność energii. Strojenie dynamiczne monitoruje wykorzystanie dysku, sieci i obciążenia w czasie rzeczywistym i dostosowuje ustawienia na bieżąco. Profile wydajności domyślnie wyłączają strojenie dynamiczne, aby uniknąć obciążenia związanego z monitorowaniem.
Wybór odpowiedniego profilu dla obciążenia
tuned udostępnia kilkanaście profili obejmujących najczęstsze obciążenia. Wybierz ten, który odpowiada rzeczywistym zadaniom serwera, zamiast pozostawiać domyślny balanced .
| Obciążenie | Obciążenie | Czym się zajmuje |
|---|---|---|
| Szkolenie 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, dostosowuje operacje wejścia/wyjścia dysku i 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 stał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 |
| Klastry HPC i obliczeniowe | hpc-compute | Zwiększa wydajność w zakresie opóźnień 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 na dysku dla parawirtualizowanych operacji wejścia/wyjścia |
| Hosty hiperwizora KVM | virtual-host | Optymalizuje zapis brudnych stron dla obciążeń maszyn wirtualnych |
| Mieszane lub nieznane | balanced | Ustawienia domyślne. Kompromis między wydajnością a energooszczędnością |
Dla konkretnych silników baz danych dostarczane są również dostosowane ustawienia postgresql, mssqloraz oracle profile, które wykraczają poza throughput-performance dzięki dostrojeniu 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óźnienia mają krytyczne 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 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 zamaskować, aby uniknąć konfliktów:
systemctl mask --now power-profiles-daemonWyświetl dostępne profile, 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. 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 standardowe pozwalają osiągnąć 90% zamierzonego celu, należy stworzyć profil niestandardowy, który dziedziczy ustawienia z profilu najbardziej zbliżonego i zastępuje 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 wybory w tym przypadku:
numa_balancing=0powstrzymuje jądro przed migrowaniem pamięci między gniazdami podczas sesji szkoleniowych, co jest częstą przyczyną zacięć w komputerach z dwoma gniazdami GPU.- Opcja
rmem_maxitcp_rmemzwiększają 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 szybkoś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, wymagany do passthrough GPU i karty sieciowej oraz zmniejsza obciążenie przy DMA na sprzęcie bare-metal.
Wszystko poniżej [bootloader] wymaga ponownego uruchomienia. Po aktywacji profilu uruchom tuned-adm verify , aby potwierdzić zastosowanie parametrów środowiska uruchomieniowego, i sprawdź journalctl -u tuned , czy nie ma błędów. Przeprowadź testy porównawcze przed i po za pomocą iostat -xz, numastati odpowiednim narzędziem obciążeniowym (iperf3, fiolub rzeczywistego przebiegu szkolenia).
Warto wyraźnie wspomnieć o jednym kompromisie: wyłączenie zabezpieczeń procesora daje około 3–8% zysku w przypadku obciążeń GPU, ale kosztuje 15–30% w przypadku obciążeń z intensywnymi wzorcami wywołań systemowych. Decyzję należy podjąć w oparciu o model zagrożeń dla danej maszyny. W dedykowanym klastrze szkoleniowym za zaporą ogniową kalkulacja zazwyczaj przemawia za ich wyłączeniem. Na hoście wielodostępnym pozostaw je włączone.
Zarządzanie profilami w całej flocie serwerów
Ręczne stosowanie programu tuned przestaje być opłacalne, gdy liczba serwerów przekracza kilka sztuk. Ansible radzi sobie z tym bez problemów. Pojedynczy playbook instaluje program tuned, umieszcza katalogi profili niestandardowych w /etc/tuned/ poprzez template modułu oraz stosuje odpowiedni profil dla każdej grupy inwentarza.
Mapowanie profili do ról w inwentarzu:
- Węzły GPU i AI:
accelerator-performancelub profil niestandardowy, który z niego dziedziczy - 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 - Goście VPS i 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 inne narzędzie do zarządzania konfiguracją, które wchodzi w konflikt z tuned, spowodują, że ustawienia będą odbiegać od tego, co określa profil. Zaplanuj zadanie Ansible, które będzie uruchamiać tuned-adm active i tuned-adm verify w systemie cron oraz powiadomienia o błędach. Zwracaj uwagę /var/log/tuned/tuned.log na wiersze „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 najbliższy profil standardowy, uruchom
tuned-adm verify, a następnie przeprowadź testy wydajności - Twórz profile niestandardowe, dziedzicząc z profilu standardowego i nadpisując tylko to, co jest potrzebne
- Zwróć szczególną uwagę na równoważenie NUMA, strony ogromne oraz rozmiary buforów sieciowych na maszynach z GPU 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 zbudowanych z myślą o obciążeniach o wysokiej przepustowości i obciążeniach GPU.

Dostrojone profile dla optymalizacji obciążenia serwerów Linux
Jak wybrać, zastosować i dostosować dostrojone profile dla GPU, baz danych i serwerów Linux o wysokiej przepustowości, z przykładami i wskazówkami dotyczącymi wdrażania Ansible.
16 min czytania - 9 czerwca 2026
Linux OOM Killer Tuning dla VPS: Praktyczny przewodnik
12 min czytania - 8 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