Συντονισμένα προφίλ για βελτιστοποίηση του φόρτου εργασίας διακομιστών Linux

16 λεπτά ανάγνωσης - 9 Ιουνίου 2026

hero section cover
Πίνακας περιεχομένων
  • προσαρμοσμένα προφίλ για βελτιστοποίηση του φόρτου εργασίας του διακομιστή
  • Πώς λειτουργούν τα προσαρμοσμένα προφίλ
  • Επιλέγοντας το σωστό προφίλ για το φορτίο εργασίας σας
  • Εγκατάσταση και εφαρμογή προφίλ
  • Δημιουργία προσαρμοσμένου προφίλ για AI, ML και φόρτο εργασίας υψηλού εύρους ζώνης
  • Διαχείριση προφίλ σε ένα στόλο διακομιστών
  • Συμπέρασμα
Κοινοποίηση

Πώς να επιλέγετε, να εφαρμόζετε και να προσαρμόζετε συντονισμένα προφίλ για διακομιστές GPU, βάσεων δεδομένων και Linux με υψηλό εύρος ζώνης, με παραδείγματα και συμβουλές ανάπτυξης του Ansible.

προσαρμοσμένα προφίλ για βελτιστοποίηση του φόρτου εργασίας του διακομιστή

Οι προεπιλεγμένες ρυθμίσεις του Linux είναι προσαρμοσμένες για συμβατότητα, όχι για απόδοση. Το daemon tuned παρέχει προκαθορισμένα προφίλ που ρυθμίζουν τους ρυθμιστές CPU, τους προγραμματιστές I/O, τις παραμέτρους του πυρήνα και τα buffer δικτύου ώστε να ταιριάζουν με ένα συγκεκριμένο φόρτο εργασίας. Αυτή η ανάρτηση καλύπτει τον τρόπο λειτουργίας των προφίλ, ποιο να επιλέξετε για συνήθεις ρόλους διακομιστών και πώς να δημιουργήσετε και να αναπτύξετε προσαρμοσμένα προφίλ σε έναν στόλο.


 

Πώς λειτουργούν τα προσαρμοσμένα προφίλ

Ένα προφίλ είναι ένας κατάλογος κάτω από /usr/lib/tuned/profiles/ (system) ή /etc/tuned/profiles/ (custom) που περιέχει ένα tuned.conf αρχείο. Το αρχείο conf ομαδοποιεί τις παραμέτρους ανά plugin: [cpu], [disk], [sysctl], [vm], [bootloader], και ούτω καθεξής. Ενεργοποιήστε ένα προφίλ και το δαίμονα του tuned εφαρμόζει κάθε παράμετρο με μία κίνηση, αντί να εκτελεί δεκάδες sysctl και sysfs εντολές με το χέρι.

Τα προφίλ μπορούν να κληρονομούν το ένα από το άλλο με την include οδηγία. Το throughput-performance προφίλ, για παράδειγμα, μπορεί να χρησιμεύσει ως βάση για ένα προσαρμοσμένο προφίλ βάσης δεδομένων που αντικαθιστά μόνο vm.swappiness και τη ρύθμιση Transparent Huge Pages.

Το tuned λειτουργεί σε δύο τρόπους. Η στατική ρύθμιση εφαρμόζει το προφίλ μία φορά κατά την ενεργοποίηση και αφήνει το σύστημα ως έχει, κάτι που είναι επιθυμητό σε διακομιστές παραγωγής όπου η συνέπεια έχει μεγαλύτερη σημασία από την εξοικονόμηση ενέργειας. Η δυναμική ρύθμιση παρακολουθεί τη χρήση του δίσκου, του δικτύου και του φορτίου σε πραγματικό χρόνο και προσαρμόζει τις ρυθμίσεις εν κινήσει. Τα προφίλ απόδοσης απενεργοποιούν τη δυναμική ρύθμιση από προεπιλογή για να αποφευχθεί το επιπλέον κόστος παρακολούθησης.

Επιλέγοντας το σωστό προφίλ για το φορτίο εργασίας σας

Το tuned παρέχει δώδεκα προφίλ που καλύπτουν τους πιο συνηθισμένους φόρτους εργασίας. Επιλέξτε αυτό που ταιριάζει με το τι κάνει πραγματικά ο διακομιστής, αντί να αφήσετε το προεπιλεγμένο balanced .

Φόρτος εργασίαςΦόρτος εργασίαςΤι κάνει
Εκπαίδευση και εξαγωγή συμπερασμάτων GPUaccelerator-performanceΚλειδώνει την CPU σε χαμηλές καταστάσεις C, διατηρώντας την καθυστέρηση CPU-GPU κάτω από 100µs
Βάσεις δεδομένων (Postgres, MySQL, Redis)throughput-performanceΑπενεργοποιεί την εξοικονόμηση ενέργειας, ρυθμίζει τις εισόδους/εξόδους δίσκου και δικτύου, απενεργοποιεί τις Transparent Huge Pages
Δικτύωση υψηλού εύρους ζώνης (CDN, αναπαραγωγή, αγωγοί δεδομένων)network-throughputΜεγαλώνει τα buffer δικτύου του πυρήνα για μεταφορές με σταθερά υψηλό εύρος ζώνης
Υπηρεσίες ευαίσθητες στην καθυστέρησηnetwork-latency ή latency-performanceΚλειδώνει τον ρυθμιστή της CPU στο performance, απενεργοποιεί τις βαθιές καταστάσεις C
HPC και υπολογιστικά clustershpc-computeΕπεκτείνει την απόδοση καθυστέρησης με NUMA και ρύθμιση μνήμης
Περιπτώσεις VPS (λειτουργικό σύστημα επισκέπτη)virtual-guestΜειώνει το swappiness, αυξάνει την προανάγνωση δίσκου για παραεικονικοποιημένη είσοδο/έξοδο
Κεντρικοί υπολογιστές υπερ-επιτηρητή KVMvirtual-hostΡυθμίζει την επαναγραφή βρώμικων σελίδων για φορτία εργασίας VM
Μικτή ή άγνωστηbalancedΠροεπιλογή. Ανταλλάσσει την απόδοση με την ενεργειακή απόδοση

Για συγκεκριμένους μηχανισμούς βάσεων δεδομένων, το tuned διατίθεται επίσης postgresql, mssql, καθώς και oracle προφίλ που πηγαίνουν πιο πέρα από throughput-performance με τη ρύθμιση των παραμέτρων της κοινόχρηστης μνήμης και του χρονοπρογραμματιστή πυρήνα για αυτούς τους κινητήρες.

Σε διακομιστές πολλαπλών υποδοχών, η τοπολογία NUMA έχει σημασία. Η πρόσβαση στη μνήμη απομακρυσμένων κόμβων μπορεί να είναι δύο έως τρεις φορές πιο αργή από την τοπική πρόσβαση. Για φόρτους εργασίας κρίσιμους ως προς την καθυστέρηση σε συστήματα διπλής υποδοχής, απενεργοποιήστε την αυτόματη εξισορρόπηση NUMA στο προφίλ και αντιστοιχίστε τις διεργασίες σε συγκεκριμένους κόμβους χειροκίνητα.

Εγκατάσταση και εφαρμογή προφίλ

Εγκατάσταση του tuned σε RHEL, Rocky, AlmaLinux ή Fedora:

dnf install tuned
systemctl enable --now tuned

Στα Debian και Ubuntu, το πακέτο ονομάζεται επίσης tuned και εγκαθίσταται μέσω apt. Εάν power-profiles-daemon το tuned εκτελείται ήδη, αποκρύψτε το για να αποφύγετε συγκρούσεις:

systemctl mask --now power-profiles-daemon

Εμφανίστε τα διαθέσιμα προφίλ, ρωτήστε το tuned τι προτείνει για το υλικό, εφαρμόστε ένα προφίλ και επαληθεύστε το:

tuned-adm list
tuned-adm recommend
tuned-adm profile throughput-performance
tuned-adm verify

Το ενεργό προφίλ αποθηκεύεται στο /etc/tuned/active_profile και παραμένει μετά από επανεκκινήσεις. Για να καταργήσετε εντελώς τη ρύθμιση και να μετρήσετε τη βασική γραμμή, εκτελέστε tuned-adm off.

Δημιουργία προσαρμοσμένου προφίλ για AI, ML και φόρτο εργασίας υψηλού εύρους ζώνης

Όταν τα προκαθορισμένα προφίλ σας καλύπτουν το 90% των αναγκών σας, δημιουργήστε ένα προσαρμοσμένο προφίλ που κληρονομεί από το πιο κοντινό αντίστοιχο και αντικαθιστά τις υπόλοιπες παραμέτρους. Ξεκινήστε με έναν κατάλογο και ένα αρχείο conf:

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-gpu

Οι βασικές επιλογές εδώ:

  • numa_balancing=0 σταματά τη μετεγκατάσταση μνήμης μεταξύ των υποδοχών κατά τη διάρκεια των εκτελέσεων εκπαίδευσης, μια κοινή πηγή καθυστέρησης σε συστήματα GPU με δύο υποδοχές.
  • Το rmem_max και tcp_rmem αυξάνουν το ανώτατο όριο του buffer των socket στα 256MB. Σε διασυνδέσεις 25G, 40G ή 100G μεταξύ κόμβων εκπαίδευσης, τα προεπιλεγμένα μεγέθη buffer περιορίζουν τη διακίνηση δεδομένων σε επίπεδα πολύ κάτω από το line rate.
  • transparent_hugepages=never αφαιρεί την διακύμανση καθυστέρησης που προκαλεί το THP σε frameworks όπως το PyTorch και το TensorFlow που εκχωρούν μεγάλους τανυστές.
  • iommu=pt θέτει το IOMMU σε λειτουργία passthrough, απαραίτητη για το passthrough GPU και NIC, και μειώνει το επιπλέον φορτίο στο bare-metal DMA.

Οτιδήποτε κάτω από [bootloader] απαιτεί επανεκκίνηση. Μετά την ενεργοποίηση του προφίλ, εκτελέστε tuned-adm verify για να επιβεβαιώσετε ότι έχουν εφαρμοστεί οι παράμετροι χρόνου εκτέλεσης και ελέγξτε journalctl -u tuned για σφάλματα. Κάντε benchmark πριν και μετά με το iostat -xz, numastatκαι το σχετικό εργαλείο φόρτου εργασίας (iperf3, fioή την πραγματική εκτέλεση εκπαίδευσης).

Ένα συμβιβασμό που αξίζει να επισημανθεί ρητά: η απενεργοποίηση των μέτρων ασφαλείας της CPU προσφέρει κέρδος περίπου 3-8% σε φόρτους εργασίας GPU, αλλά κοστίζει 15-30% σε φόρτους εργασίας με έντονα μοτίβα κλήσεων συστήματος. Αποφασίστε με βάση το μοντέλο απειλών για το σύστημα. Μέσα σε ένα αποκλειστικό σύμπλεγμα εκπαίδευσης πίσω από τείχος προστασίας, οι υπολογισμοί συνήθως ευνοούν την απενεργοποίησή τους. Σε έναν κεντρικό υπολογιστή πολλαπλών χρηστών, αφήστε τα ενεργοποιημένα.

Διαχείριση προφίλ σε ένα στόλο διακομιστών

Η εφαρμογή του tuned με το χέρι παύει να είναι εφικτή όταν ο αριθμός των διακομιστών ξεπερνά τους λίγους. Το Ansible χειρίζεται αυτό το θέμα με καθαρό τρόπο. Ένα μόνο playbook εγκαθιστά το tuned, τοποθετεί καταλόγους προσαρμοσμένων προφίλ στο /etc/tuned/ μέσω του template module και εφαρμόζει το σωστό προφίλ ανά ομάδα αποθέματος.

Αντιστοίχιση προφίλ με ρόλους στο inventory:

  • Κόμβοι GPU και AI: accelerator-performance, ή ένα προσαρμοσμένο προφίλ που κληρονομεί από αυτό
  • Διακομιστές βάσεων δεδομένων: throughput-performance ή το προφίλ που είναι ειδικό για τον κινητήρα
  • Κόμβοι CDN και edge που μεταφέρουν κίνηση υψηλού εύρους ζώνης: network-throughput
  • Διακομιστές API και web πίσω από έναν εξισορροπητή φορτίου: network-latency
  • VPS και KVM guests: virtual-guest
  • Κεντρικοί υπολογιστές υπερ-επιτηρητών: virtual-host

Η απόκλιση είναι το πραγματικό λειτουργικό πρόβλημα. Οι χειροκίνητες sysctl αλλαγές, αναβαθμίσεις πακέτων που περιλαμβάνουν νέες προεπιλογές ή κάποιο άλλο εργαλείο διαχείρισης διαμόρφωσης που παρεμβαίνει στο tuned θα προκαλέσουν απόκλιση των ρυθμίσεων από αυτές που ορίζει το προφίλ. Προγραμματίστε την εκτέλεση μιας εργασίας Ansible tuned-adm active και tuned-adm verify στο cron και ειδοποίηση σε περίπτωση αποτυχίας. Ελέγξτε /var/log/tuned/tuned.log για γραμμές του τύπου «Verification failed».

Συμπέρασμα

Το tuned εξαλείφει το μεγαλύτερο μέρος της αβεβαιότητας από τη ρύθμιση του πυρήνα και του sysctl. Οι προεπιλογές είναι αρκετά καλές για γενική χρήση, ενώ τα προφίλ που είναι ειδικά για συγκεκριμένα φορτία εργασίας, όπως accelerator-performance, throughput-performance, και network-throughput σας φέρνουν σχεδόν στο σημείο της βελτιστοποίησης χωρίς να χρειαστεί να γράψετε ούτε ένα αρχείο ρυθμίσεων.

  • Επιλέξτε το προφίλ που πλησιάζει περισσότερο τις προεπιλογές, εκτελέστε tuned-adm verifyκαι, στη συνέχεια, εκτελέστε το benchmark
  • Δημιουργήστε προσαρμοσμένα προφίλ κληρονομώντας από ένα προεπιλεγμένο προφίλ και αντικαθιστώντας μόνο ό,τι χρειάζεστε
  • Προσέξτε τη ρύθμιση της ισορροπίας NUMA, των hugepages και των μεγεθών buffer δικτύου σε συστήματα με GPU και υψηλού εύρους ζώνης
  • Εγκαταστήστε με το Ansible και ελέγξτε σύμφωνα με ένα χρονοδιάγραμμα για να εντοπίσετε τυχόν αποκλίσεις

Χρειάζεστε χωρητικότητα bare-metal με περιθώριο εύρους ζώνης για να χρησιμοποιήσετε πραγματικά αυτές τις ρυθμίσεις; Συζητήστε με την FDC σχετικά με αποκλειστικούς διακομιστές που έχουν κατασκευαστεί για φόρτο εργασίας υψηλής απόδοσης και GPU.

Blog

Προτεινόμενα αυτή την εβδομάδα

Περισσότερα άρθρα
Συντονισμένα προφίλ για βελτιστοποίηση του φόρτου εργασίας διακομιστών Linux

Συντονισμένα προφίλ για βελτιστοποίηση του φόρτου εργασίας διακομιστών Linux

Πώς να επιλέγετε, να εφαρμόζετε και να προσαρμόζετε συντονισμένα προφίλ για διακομιστές GPU, βάσεων δεδομένων και Linux με υψηλό εύρος ζώνης, με παραδείγματα και συμβουλές ανάπτυξης του Ansible.

16 λεπτά ανάγνωσης - 9 Ιουνίου 2026

Ρύθμιση του Linux OOM Killer για VPS: Ένας πρακτικός οδηγός

12 λεπτά ανάγνωσης - 8 Ιουνίου 2026

Περισσότερα άρθρα
background image

Έχετε ερωτήσεις ή χρειάζεστε μια προσαρμοσμένη λύση

icon

Ευέλικτες επιλογές

icon

Παγκόσμια εμβέλεια

icon

Άμεση ανάπτυξη

icon

Ευέλικτες επιλογές

icon

Παγκόσμια εμβέλεια

icon

Άμεση ανάπτυξη