Optimisation des performances du système
Ajuster les fichiers de configuration de réglage
Réglage du système
Les administrateurs peuvent ajuster les paramètres de l'appareil pour optimiser les performances du système en fonction de plusieurs charges de travail de cas d'utilisation. Le démon réglé est réglé de manière dynamique/statique à l'aide de profils de réglage qui reflètent les exigences spécifiques de la charge de travail.
Configurer le réglage statique
Le démon réglé applique les paramètres système lorsque le service démarre ou lorsqu'un nouveau profil de réglage est sélectionné. Le réglage statique configure les paramètres de noyau prédéfinis dans le fichier de configuration qui sont appliqués lors de l'exécution.
Configurer le réglage dynamique
Tuned surveille l'activité du système et ajuste les paramètres en fonction des changements de comportement de fonctionnement.
[root@workstation ~]# yum install tuned -y
[root@workstation ~]# systemctl enable --now tuned
[root@workstation ~]# systemctl status tuned
● tuned.service - Dynamic System Tuning Daemon
Loaded: loaded (/usr/lib/systemd/system/tuned.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2023-07-19 10:03:01 EDT; 1min 0s ago
Docs: man:tuned(8)
man:tuned.conf(5)
man:tuned-adm(8)
Main PID: 7507 (tuned)
CGroup: /system.slice/tuned.service
└─7507 /usr/bin/python2 -Es /usr/sbin/tuned -l -P
Jul 19 10:03:00 workstation systemd[1]: Starting Dynamic System Tuning Daemon...
Jul 19 10:03:01 workstation systemd[1]: Started Dynamic System Tuning Daemon.
Sélectionnez un profil de réglage
Tuned fournit des fichiers de configuration pour :
- A faible consommation
- Performance
Fichiers de configuration améliorant les performances :
- Faible latence de stockage/réseau
- Stockage/réseau haut débit
- Performances des machines virtuelles
tuned-adm est utilisé pour modifier les paramètres du démon réglé.
#确定当前活动调优的配置文件
[root@workstation ~]# tuned-adm active
Current active profile: virtual-guest
#列出可用配置文件
[root@workstation ~]# tuned-adm list
Available profiles:
- balanced - General non-specialized tuned profile
- desktop - Optimize for the desktop use-case
- hpc-compute - Optimize for HPC compute workloads
- 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
- 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
#切换活动配置文件为更符合系统调优要求的其他配置文件
[root@workstation ~]# tuned-adm profile throughput-performance
[root@workstation ~]# tuned-adm active
Current active profile: throughput-performance
#为系统推荐调优配置文件
[root@workstation ~]# tuned-adm recommend
virtual-guest
#回复当前配置文件所作设置更改
[root@workstation ~]# tuned-adm off
[root@workstation ~]# tuned-adm active
No current active profile.
Affecter la progression du processus
priorité relative
Différents processus ont une importance différente. Le planificateur de processus peut être configuré pour utiliser différentes politiques de planification pour différents processus. La politique de planification pour la plupart des processus exécutés sur des systèmes conventionnels est appelée SCHED_OTHER.
Étant donné que tous les processus n’ont pas la même importance, la priorité peut être définie par le biais de politiques appelées « bonnes valeurs de processus ». Pour tout processus, il peut être organisé en 40 niveaux différents de belles valeurs.
Les valeurs de niveau Nice vont de -20 (la plus élevée) à 19 (la plus basse). Par défaut, le processus héritera du niveau de Nice du processus parent, qui est généralement 0. Plus le niveau de Nice est élevé, plus la priorité est faible.
Définir un bon niveau et des autorisations
Définir un niveau de Nice inférieur pour un processus gourmand en CPU peut avoir un impact négatif sur les performances des autres processus exécutés sur le même système. Seul l'utilisateur root peut baisser le niveau de Nice.
Tasks: 101 total, 1 running, 100 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.3 us, 0.3 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 995896 total, 605916 free, 134648 used, 255332 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 678000 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
7893 root 20 0 161880 2192 1556 R 0.7 0.2 0:00.11 top
7703 root 20 0 0 0 0 S 0.3 0.0 0:02.34 kworker/0:0
1 root 20 0 128152 6708 4176 S 0.0 0.7 0:01.66 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.20 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
6 root 20 0 0 0 0 S 0.0 0.0 0:00.42 kworker/u256:0
La commande top peut afficher et gérer les processus de manière interactive. La configuration par défaut affiche deux colonnes : niveau de Nice et priorité. NI affiche la valeur de Nice du processus et PR affiche la priorité de planification.
Afficher une belle valeur
[root@workstation ~]# ps axo pid,comm,nice,cls --sort=-nice
PID COMMAND NI CLS
32 khugepaged 19 TS
31 ksmd 5 TS
1 systemd 0 TS
2 kthreadd 0 TS
3 ksoftirqd/0 0 TS
6 kworker/u256:0 0 TS
7 migration/0 - FF
8 rcu_bh 0 TS
9 rcu_sched 0 TS
11 watchdog/0 - FF
13 kdevtmpfs 0 TS
15 khungtaskd 0 TS
Démarrez des processus avec différents niveaux sympas
#开启一个后台作业
[root@workstation ~]# sha1sum /dev/zero &
[1] 7897
#新进程nice值从0继承(shell进程ni值为0,是作业的父进程)
[root@workstation ~]# ps -o pid,comm,nice 7897
PID COMMAND NI
7897 sha1sum 0
[root@workstation ~]# nice -n 15 top&
[1] 7940
#更改nice值
[root@workstation ~]# ps -o pid,comm,nice 7940
PID COMMAND NI
7940 top 15
[root@workstation ~]# renice -n 19 7940
7940 (process ID) old priority 15, new priority 19