J'écris ce guide pour sauver mes progrès et laisser les autres contribuer à augmenter encore les performances de Linux; Après tout, beaucoup valent mieux qu'un. Vous pouvez les utiliser tous ou juste quelques-uns d'entre eux. Lisez complètement un sujet avant de commencer .
Je suis actuellement sur Nobara, donc certaines étapes peuvent varier d'une distribution à l'autre.
Remarque: Ce guide n'est pas pour les débutants qui sont nouveaux à Linux, mais quelques-uns d'entre eux peuvent être utilisés en toute sécurité par eux.
À ce jour, tout le monde convient que la compilation de votre noyau est l'une des meilleures options pour obtenir la vitesse la plus rapide possible. Vous voudrez peut-être Google How to make custom kernel in <distro> pour obtenir les packages requis pour compiler le noyau.
Téléchargez le dernier noyau ou ce que vous voulez. Extraire; Je vais assumer un nom générique à partir de maintenant sur linux-xxx .
L'étape suivante consiste à trouver le fichier config . La plupart du temps, vous pouvez courir:
cp -v /boot/config- $( uname -r ) .config De l'intérieur linux-xxx , qui devrait donner une sortie comme:
' /boot/config-y.y.y-generic ' - > ' .config ' S'il échoue, vous pouvez trouver la configuration dans /proc/config.gz ou Simple Run make listnewconfig ou make oldconfig (il démarre généralement un processus long; essayez également de trouver votre configuration dans votre code source de distribution).
Modifiez Makefile et changez EXTRAVERSION pour ajouter quelque chose. Par exemple, "Extraversion = <YourName>".
(Vous voudrez peut-être voir le prochain sous-topique avant de le faire) Maintenant, exécutez make xconfig . Maintenant, de nombreuses optimisations sont possibles ici, de nombreux codes et modules morts peuvent être supprimés et activés. Allons sur la route sûre pour le moment.
- Processor type and features
- Processor family
- [ x ] Core2/newer XeonGeneric-x86-64 par défaut.Maintenant, vous voudrez peut-être courir:
dmesg --level=err
dmesg --level=warn Pour voir si vous pouvez activer quelques drapeaux supplémentaires pour des fonctionnalités supplémentaires. Par exemple, psmouse serio1: elantech: The touchpad can support a better bus than the old PS/2 protocol. Make sure MOUSE_PS2_ELANTECH_SMBUS and MOUSE_ELAN_I2C_SMBUS are enabled to get a better touchpad experience. peut être résolu en les permettant les deux.
Enfin, compilant le noyau:
# sed -ri '/CONFIG_SYSTEM_TRUSTED_KEYS/s/=.+/=""/g' .config
make -j N CFLAGS= ' -march=native -O3 -flto -pipe ' CXXFLAGS= ' -march=native -O3 -flto -pipe '
make -j N CFLAGS= ' -march=native -O3 -flto -pipe ' CXXFLAGS= ' -march=native -O3 -flto -pipe ' modules
sudo make modules_install
sudo make install Où N est le nombre de cores que vous avez, utilisez également $(getconf _NPROCESSORS_ONLN) .
Si des étapes échouent, exécutez- make clean et recommencez.
Le faisant par défaut dans GRUB (j'utilise Grub2, votre processus peut varier):
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
sudo grubby --set-default /boot/vmlinuz-x.x.x-x Vous pouvez trouver le vôtre vmlinuz-xxx-x dans /boot/
Maintenant, redémarrez et exécutez uname -r pour voir votre noyau.
Il existe plusieurs correctifs que vous pouvez utiliser pour augmenter les performances ou pour simplifier la vie.
Il y a beaucoup de correctifs disponibles, et vous devrez trouver ceux qui vous conviennent le mieux. J'utiliserai ici le patch de noyau Graysky2. Téléchargez l'intégralité du dépôt ou simplement le fichier dont vous avez besoin. Dans mon cas, j'ai GCC 10 et le dernier noyau, donc je l'utiliserai.
Copiez le fichier de patch souhaité dans la racine du dictionnaire Linux extrait; Même endroit que .config .
patch -p1 < enable_additional_cpu_optimizations_for_gcc_v10.1+_kernel_v5.8+.patch
Vous devriez voir une sortie comme ceci:
patching file arch/x86/Kconfig.cpu
patching file arch/x86/Makefile
patching file arch/x86/Makefile_32.cpu
patching file arch/x86/include/asm/vermagic.hMaintenant, vous pouvez commencer à partir de l'étape 4 de la configuration précédente et verrez:
- Processor type and features
- Processor family
- [x] Native optimizations autodetected by GCCIl existe d'autres correctifs tels que la planification liée auquel vous pouvez postuler. Encore une fois, essayez de trouver vos correctifs qui conviennent à votre système.
Essayez de conserver le dernier noyau de travail, c'est-à-dire, ayez un minimum de deux noyaux (celui que vous utilisez et le précédent). Remarque: La suppression du noyau en cours d'exécution (déterminé par uname -r ) rendra votre système non bootable.
Ces entrées doivent être supprimées:
/boot/vmlinuz-x.x.x-x
/boot/initrd-x.x.x-x
/boot/System-map-x.x.x-x
/boot/config-x.x.x-x
/lib/modules/x.x.x-x/
/var/lib/initramfs/x.x.x-x/
/boot/loader/entries/ * x.x.x-x sudo grub2-mkconfig -o /boot/grub2/grub.cfg ou sudo update-grub2
sudo gedit /etc/fstab , changez-le pour ressembler à quelque chose comme ça (c'est sur fedora, le vôtre peut varier):
UUID= < do-not-change > / btrfs subvol=root,x-systemd.device-timeout=0,ssd,noatime,space_cache,commit=120,compress=zstd,discard=async,lazytime 0 0
UUID= < do-not-change > /boot ext4 defaults 1 2
UUID= < do-not-change > /boot/efi vfat umask=0077,shortname=winnt 0 2
UUID= < do-not-change > /home btrfs subvol=home,x-systemd.device-timeout=0,ssd,noatime,space_cache,commit=120,compress=zstd,discard=async,lazytime 0 0Facultatif:
nobarrier
L'option nobarrier est sûre car vous ne vous attendiez pas à ce que la puissance soudaine se produit ou a soutenu la batterie.
Sur un appareil avec un cache d'écriture à dos volatil à soutenir la batterie, l'option Nobarrier ne mènera pas à la corruption du système de fichiers car les blocs en attente sont censés se rendre au stockage permanent. homme 5 btrfs
sudo systemctl daemon-reload
sudo systemctl enable fstrim.timer
Important: j'aime généralement désactiver mitigations , mais là encore, je suis sur le processeur basé sur AMD et je n'ai pas Meltdown seulement Spectre , je n'exécute pas de script inconnu, et même si je le dois, j'utilise des conteneurs et Firefox avec noscript et quelques autres modules de sécurité. Néanmoins, si vous comprenez les problèmes de sécurité, vous pouvez le désactiver et voir une augmentation substantielle des performances.
sudo grubby --args "mitigations=off nowatchdog processor.ignore_ppc=1 amdgpu.ppfeaturemask=0xffffffff ec_sys.write_support=1 split_lock_detect=off" --update-kernel=ALLOU
sudo gedit /etc/default/grub
Vous trouverez une ligne GRUB_CMDLINE_LINUX=" ... rhgb quiet Change It en ( ... signifie d'autres paramètres):
GRUB_CMDLINE_LINUX= " ... rhgb quiet mitigations=off nowatchdog processor.ignore_ppc=1 split_lock_detect=off " De plus, modifiez GRUB_TIMEOUT=5 à GRUB_TIMEOUT=1.
sudo grub2-mkconfig -o /etc/grub2-efi.cfg
OU
sudo grub2-mkconfig -o /etc/grub2.cfg
Après avoir redémarré, vous pouvez exécuter cat /proc/cmdline pour voir vos options de démarrage.
Notre dernier ajustement l'a un peu amélioré, mais essayons quelque chose de plus.
Supprimer les applications de démarrage; J'utilise gnome-tweaks pour une expérience de GUI.
Exécutez ce qui suit pour trouver quel service prend le plus de temps:
systemd-analyze
systemd-analyze blame
systemd-analyze critical-chain Ceux-ci peuvent varier d'un système à l'autre et de la distribution à la distribution; Dans mon cas (Fedora), j'ai désactivé dnf-makecache.service. qui a pris environ 32s . Pour ce faire:
sudo systemctl disable NetworkManager-wait-online.service
sudo systemctl disable dnf-makecache.service
sudo systemctl disable dnf-makecache.timer
sudo gsettings set org.gnome.software download-updates falseVous voudrez peut-être Google à chaque service que vous pensez à la désactivation et à ce qu'il fait; Dans mon cas, il met à jour le cache DNF, ce que j'aime habituellement faire manuellement.
Si vous avez 8 Go ou plus de RAM, vous pourriez en bénéficier; Sinon, laissez-le tel quel.
Pour voir le swappacité actuelle, entrez cat /proc/sys/vm/swappiness ; il devrait imprimer 60 ; Nous voulons en faire 10.
sudo gedit /etc/sysctl.conf
Entrez vm.swappiness=10 et redémarrage; Maintenant, l'étape 1 devrait imprimer 10.
scaling_governor en performance Ne le modifiez pas en performance sur des processeurs basés sur Ryzen car il pourrait (je semble obtenir de meilleures performances sur AC, mais encore une fois, performance ne semblent pas permettre le turbo boost dans certains cas) nuisent à leurs performances, en utilisant ondemand . ou schedutil est meilleur (plus penché vers schedutil dès qu'il est réparé).
Exécutez cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor pour voir votre gouverneur actuel.
echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
Ce paramètre ne persistera probablement pas lors du prochain démarrage; J'aime le changer manuellement plutôt que de faire un service Systemd (je suis un ordinateur portable, et il devient chaud). Vous voudrez peut-être Google comment le faire persister pour votre distribution si vous le souhaitez ou:
echo ' GOVERNOR="performance" ' | sudo tee /etc/default/cpufrequtils
sudo systemctl disable schedutil La valeur par défaut est schedutil ; Vous pouvez en voir d'autres ici.
Remarque : vous pouvez également modifier la valeur par défaut pendant la compilation du noyau.
Vous pouvez trouver des outils d'overclocking spécifiques à vos GPU, mais pour vous assurer que votre carte graphique n'est pas supprimée par le système d'exploitation (en particulier AMD):
Vérifier si c'est auto :
cat /sys/class/drm/card0/device/power_dpm_force_performance_level
cat /sys/class/drm/card1/device/power_dpm_force_performance_levelVérifiez les paramètres de GPU par:
sudo cat /sys/kernel/debug/dri/0/amdgpu_pm_info
sudo cat /sys/kernel/debug/dri/1/amdgpu_pm_infoMaintenant, définissez tout sur haut:
sudo su
echo high > /sys/class/drm/card0/device/power_dpm_force_performance_level
echo high > /sys/class/drm/card1/device/power_dpm_force_performance_level Vous pouvez les changer en auto si votre système surchauffe.
Archwiki / Amélioration des performances
Désactivation Cool'n'Quiet ou speedstep ou PowerNow! du bios (provoquera du chauffage sur les ordinateurs portables, ne l'activera que pendant les jeux)
Vérifiez également les autres fonctionnalités du BIOS; Ils varient d'un système à l'autre mais devraient avoir une augmentation significative des performances
Utiliser X au lieu de Wayland (peut varier le jeu au jeu)
Utilisation du backend Opengl dans les jeux au lieu de Vulkun (peut varier le jeu au jeu)
N'hésitez pas à ouvrir un problème ou à modifier vous-même le réadme.
Licencié sous l'un ou l'autre: