Cette rubrique explique comment afficher ou modifier les paramètres système ou du noyau, activer ou désactiver kdump, ainsi qu'installer les packages Debuginfo, les packages de code source et les packages logiciels expérimentaux sur les systèmes d'exploitation Alibaba Cloud Linux 2.
Afficher ou modifier les paramètres
-
Afficher ou modifier les paramètres système
Exécutez la commande sysctl pour afficher ou modifier les paramètres système en cours d'exécution d'Alibaba Cloud Linux 2. Alibaba Cloud Linux 2 met à jour les paramètres système liés à la configuration du noyau suivants dans le fichier /etc/sysctl.d/50-aliyun.conf.
Paramètre système
Description
kernel.hung_task_timeout_secs = 240Augmente le délai d'expiration hung_task du noyau (en secondes) afin d'éviter des alertes hung_task fréquentes.
kernel.panic_on_oops = 1Déclenche une exception kernel panic lorsqu'une erreur Oops survient dans le noyau. Si kdump est activé, les détails de la défaillance système sont automatiquement capturés.
kernel.watchdog_thresh = 50Définit les seuils pour des événements tels que le minuteur haute résolution (hrtimer), l'interruption non masquable (NMI), le blocage logiciel (soft lockup) et le blocage matériel (hard lockup) afin de prévenir les faux positifs potentiels du noyau.
kernel.hardlockup_panic = 1Déclenche une exception kernel panic lorsqu'une erreur hard lockup survient dans le noyau. Si kdump est activé, les détails de la défaillance système sont automatiquement capturés.
-
Afficher les paramètres du noyau
Exécutez la commande
cat /proc/cmdlinepour afficher les paramètres du noyau en cours d'exécution d'Alibaba Cloud Linux 2. Alibaba Cloud Linux 2 met à jour les paramètres du noyau suivants.Paramètre du noyau
Description
crashkernel=0M-2G:0M,2G-8G:192M,8G-:256MRéserve de l'espace mémoire pour kdump.
cryptomgr.notestsDésactive l'auto-vérification cryptographique lors du démarrage du noyau pour accélérer le démarrage du système.
cgroup.memory=nokmemDésactive la fonctionnalité de statistiques de mémoire du noyau du groupe de contrôle de la mémoire (memory cgroup) afin de prévenir une instabilité potentielle du noyau.
rcupdate.rcu_cpu_stall_timeout=300Augmente le seuil de délai d'expiration du détecteur de blocage RCU CPU (RCU CPU Stall Detector) à 300 secondes afin de prévenir les faux positifs du noyau.
Activer ou désactiver kdump
Alibaba Cloud Linux 2 fournit le service kdump. Une fois ce service activé, les erreurs du noyau peuvent être capturées pour vous aider à analyser les défaillances du noyau.
Si la mémoire du type d'instance sélectionné ne dépasse pas 2 Go, le service kdump ne peut pas être utilisé.
-
Exécutez les commandes suivantes dans l'ordre pour activer le service kdump :
# Enable the kdump service. sudo systemctl enable kdump.service # Restart the kdump service. sudo systemctl restart kdump.service -
Exécutez les commandes suivantes dans l'ordre pour restituer l'espace d'adressage mémoire réservé par le service kdump au système d'exploitation et désactiver le service kdump :
# Change the configurations in the /sys/kernel/kexec_crash_size file. sudo sh -c 'echo 0 > /sys/kernel/kexec_crash_size' # Disable the kdump service. sudo systemctl disable kdump.service # Stop the kdump service. sudo systemctl stop kdump.serviceRemarqueAprès avoir restitué l'espace d'adressage mémoire réservé par le service kdump au système d'exploitation, vous devez redémarrer le système d'exploitation avant de pouvoir réactiver le service kdump.
Installer le package Debuginfo et le package de code source
-
Exécutez les commandes suivantes dans l'ordre pour installer le package Debuginfo :
# Install yum-utils. sudo yum install -y yum-utils # Install the Debuginfo package. In the command, packageName specifies the name of the package that you want to install. sudo debuginfo-install -y <packageName> -
Exécutez les commandes suivantes dans l'ordre pour installer le package de code source :
# Install the source code. sudo yum install -y alinux-release-source # Install yum-utils. sudo yum install -y yum-utils # Install the source code package. In the command, sourcePackageName specifies the name of the package that you want to install. sudo yumdownloader --source <sourcePackageName>
Utiliser les packages logiciels expérimentaux
Les packages logiciels expérimentaux sont fournis par Alibaba Cloud, mais n'ont pas été entièrement testés. Alibaba Cloud ne garantit pas la qualité de ces packages. Alibaba Cloud Linux 2 propose les types de packages expérimentaux suivants :
-
Packages logiciels expérimentaux à usage général
Golang 1.12Golang 1.13
Exécutez les commandes suivantes dans l'ordre pour installer un package logiciel expérimental :
# Enable support for Yellowdog Updater Modified (YUM) repositories. sudo yum install -y alinux-release-experimentals # Install an experimental software package that serves regular purposes. In the command, packageName specifies the name of the software package that you want to install. sudo yum install -y <packageName> -
Kits de développement prenant en charge les plug-ins SCL
Kit de développement basé sur
GCC-7.3.1: devtoolset-7Kit de développement basé sur
GCC-8.2.1: devtoolset-8Kit de développement basé sur
GCC-9.1.1: devtoolset-9
Exécutez les commandes suivantes dans l'ordre pour installer un package logiciel expérimental :
# Install scl-utils. sudo yum install -y scl-utils # Enable support for the YUM repository. sudo yum install -y alinux-release-experimentals # Install the software packages that you require from the YUM repository. The following sample commands are run to install all development kits that support SCL plug-ins: sudo yum install -y devtoolset-7-gcc devtoolset-7-gdb devtoolset-7-binutils devtoolset-7-make sudo yum install -y devtoolset-8-gcc devtoolset-8-gdb devtoolset-8-binutils devtoolset-8-make sudo yum install -y devtoolset-9-gcc devtoolset-9-gdb devtoolset-9-binutils devtoolset-9-makeUne fois les packages installés, vous pouvez utiliser les versions ultérieures de GNU Compiler Collection (GCC) et des outils associés. Exemples de commandes :
# Specify a repository name to view an existing SCL. In this example, the devtoolset-7 repository is used. scl -l devtoolset-7 # Run the related SCL software. scl enable devtoolset-7 'gcc --version'
FAQ
Que faire si l'installation du package Debuginfo échoue ?
Si vous ne parvenez pas à installer le package Debuginfo en exécutant la commande sudo debuginfo-install -y <packageName> comme décrit dans la section Installer le package Debuginfo et le package de code source de cette rubrique, exécutez la commande suivante pour installer le package Debuginfo.
Remplacez <packageName> par le nom du package que vous souhaitez installer. Exemple : kernel-debuginfo.
sudo yum install --enablerepo=*-debug <packageName>