Comment modifier les variables du noyau Linux à l'aide de la commande sysctl

Comment modifier les variables du noyau Linux à l'aide de la commande sysctl

Vous pouvez configurer plusieurs paramètres ou tunables de Linux (le noyau) pour contrôler son comportement, soit au démarrage ou à la demande pendant que le système fonctionne. sysctl est un utilitaire de ligne de commande largement utilisé pour modifier ou configurer les paramètres du noyau à l'exécution. Vous pouvez trouver les tunables du noyau répertoriés sous le / proc / sys / annuaire.

Il est alimenté par procfs (Système de fichiers Proc), un système de fichiers pseudo dans Linux et d'autres systèmes d'exploitation de type Unix qui fournit une interface aux structures de données du noyau. Il présente des informations sur les processus et les informations système supplémentaires.

Les éléments suivants sont 10 utiles sysctl Commande des exemples que vous pouvez utiliser lors de l'administration d'un système Linux en cours d'exécution. Notez que vous avez besoin de privilèges racine pour exécuter le sysctl la commande, sinon, utilisez la commande sudo lorsque vous l'appelez.

Table des matières

1
  • Exemples de commande sysctl dans Linux
  • 1. Énumérez tous les paramètres du noyau dans Linux
  • 3. Liste tous les noms de variables du noyau
  • 3. Trouver des variables de noyau spécifiques dans Linux
  • 4. Énumérez toutes les variables du noyau, y compris obsolètes
  • 5. Énumérer la valeur de variable du noyau spécifique
  • 6. Écrivez temporairement la variable du noyau
  • 7. Écrire la variable du noyau permanent
  • 8. Recharger Sysctl.Variables confr dans Linux
  • 9. Recharger les paramètres à partir de fichiers de configuration personnalisés
  • dix. Recharger les paramètres qui correspondent au modèle

Exemples de commande sysctl dans Linux

Dans ce guide, nous expliquerons 10 exemples de commandes pratiques Sysctl que vous pouvez utiliser sur un système Linux.

1. Énumérez tous les paramètres du noyau dans Linux

Pour répertorier tous les paramètres du noyau actuellement disponibles, exécutez la commande sysctl avec le -un ou --tous Flag comme indiqué.

$ sudo sysctl -a ou $ sudo sysctl - tout 

Les variables sont affichées dans ce format:

. =  

Par exemple,

noyau.Ostype = Linux 
Vérifiez les paramètres du noyau dans Linux

3. Liste tous les noms de variables du noyau

Pour imprimer uniquement des noms de variables sans leurs valeurs, utilisez le -N Option comme indiqué.

$ sudo sysctl -a -n 
Vérifiez les noms de variables du noyau dans Linux

3. Trouver des variables de noyau spécifiques dans Linux

Pour trouver une variable spécifique, vous pouvez filtrer la sortie de sysctl via la commande grep, par exemple, pour filtrer toute variable associée à mémoire Gestion, vous pouvez exécuter la commande suivante:

$ sudo sysctl -a | Mémoire Grep ou $ sudo sysctl - tout | mémoire grep 
Vérifiez la variable de mémoire du noyau dans Linux

4. Énumérez toutes les variables du noyau, y compris obsolètes

sysctl La commande affiche également les variables obsolètes ainsi que la liste de toutes les variables disponibles à l'aide du --déprécié Flag comme indiqué.

$ sudo sysctl -a --préféré ou $ sudo sysctl -a --préféré | mémoire grep 

5. Énumérer la valeur de variable du noyau spécifique

Pour lire un sysctl variable et ses valeurs, spécifiez le nom de variable comme argument pour le sysctl Commandes comme suit. Cet exemple montre comment lire le noyau.ostype variable.

$ sudo sysctl noyau.ostype noyau.Ostype = Linux 

6. Écrivez temporairement la variable du noyau

Pour écrire des variables temporairement, spécifiez simplement la variable dans ce format.

.= 

L'exemple suivant montre comment augmenter la taille maximale de la file d'attente de réception, qui stocke les cadres sélectionnés dans le tampon d'anneau du Nic (Carte d'interface de réseau), une fois qu'ils sont reçus du réseau. La taille de la file d'attente peut être modifiée à l'aide du filet.cœur.netdev_max_backlog variable comme indiqué.

$ sudo sysctl net.cœur.netdev_max_backlog $ sudo sysctl net.cœur.netdev_max_backlog = 1200 $ sudo sysctl net.cœur.netdev_max_backlog 
Définir temporairement la variable du noyau

7. Écrire la variable du noyau permanent

sysctl peut également écrire des variables en permanence dans un fichier de configuration. Pour y parvenir, utilisez le -w option, et spécifiez le fichier de configuration la variable et sa valeur sera ajoutée, dans ce cas, il est / etc / sysctl.confli, Le fichier de configuration SYSCTL par défaut:

$ sudo sysctl -w net.cœur.netdev_max_backlog = 1200 >> / etc / sysctl.confli 

Pour écrire des fichiers en permanence dans une personnalité, spécifiez l'emplacement du fichier comme suit. Parfois, vous pouvez ne pas créer un fichier dans des emplacements particuliers même lorsque vous invoquez le sysctl commande en utilisant le commande sudo.

Dans un tel cas, passez au compte racine (si vous avez les privilèges) et exécutez à nouveau la commande comme indiqué.

$ sudo sysctl -w net.cœur.netdev_max_backlog = 1200 >> / etc / sysctl.D / 10-tests-settings.Conf $ sudo su # sysctl -w net.cœur.netdev_max_backlog = 1200 >> / etc / sysctl.D / 10-tests-settings.confli 
Définir la variable du noyau permanent

Alternativement, vous pouvez créer le nouveau fichier de configuration dans / etc / sysctl.d/ Répertoire comme indiqué:

$ sudo vim / etc / sysctl.D / 10-tests-settings.confli 

Puis ajoutez les paramètres du noyau, en elle une par ligne comme indiqué.

filet.cœur.netdev_max_backlog = 1200 utilisateur.Max_net_Namespaces = 63067 VM.overcomit_memory = 0 

Ensuite, enregistrez le fichier et fermez-le. Pour charger les paramètres à partir du fichier personnalisé que vous venez de créer, utilisez le -p ou --charger drapeau.

$ sudo sysctl -p / etc / sysctl.D / 10-tests-settings.conf ou $ sudo sysctl --load = / etc / sysctl.D / 10-tests-settings.confli 

8. Recharger Sysctl.Variables confr dans Linux

Pour recharger les paramètres de tous les fichiers de configuration du système sans redémarrer, émettez la commande suivante.

$ sudo sysctl - système 

La commande ci-dessus lira tous les fichiers de configuration du système à partir de ces répertoires, dans cet ordre:

/ run / sysctl.d/*.conf / etc / sysctl.d/*.conf / usr / local / lib / sysctl.d/*.conf / usr / lib / sysctl.d/*.conf / lib / sysctl.d/*.conf / etc / sysctl.confli 

9. Recharger les paramètres à partir de fichiers de configuration personnalisés

Vous pouvez également recharger les paramètres de variable à partir d'un fichier de configuration SYSCTL personnalisé comme indiqué.

$ sudo sysctl -p / etc / sysctl.D / 10-tests-settings.conf ou $ sudo sysctl --load = / etc / sysctl.D / 10-tests-settings.confli 

dix. Recharger les paramètres qui correspondent au modèle

Pour appliquer uniquement les paramètres qui correspondent à un certain modèle, utilisez le -r ou --modèle comme suit. Notez que le modèle utilise une syntaxe d'expression régulière étendue, voici quelques exemples:

$ sudo syscTl --System --Pattern '^ net.ipv6 '$ sudo sysctl --mystem -r mémoire 
Recharger les paramètres qui correspondent au modèle

Dans ce guide, nous avons expliqué 10 sysctl Exemples de commande que vous pouvez utiliser pour gérer un système Linux en cours d'exécution. Pour plus d'informations, lisez le sysctl Page de l'homme (homme sysctl).