Vous pouvez configurer plusieurs paramètres ou réglages de Linux (le noyau) pour contrôler son comportement, soit au démarrage, soit à la demande pendant que le système est en cours d’exécution. sysctl est un utilitaire de ligne de commande largement utilisé pour modifier ou configurer les paramètres du noyau lors de l’exécution. Vous pouvez trouver les paramètres de noyau répertoriés sous le /proc/sys/ annuaire.
Il est alimenté par procfs (système de fichiers proc), un pseudo système de fichiers sous 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 des informations système supplémentaires.
En voici 10 utiles sysctl exemples de commandes que vous pouvez utiliser lors de l’administration d’un système Linux en cours d’exécution. Notez que vous avez besoin des privilèges root pour exécuter le sysctl commande, sinon, utilisez la commande sudo lors de son invocation.
Exemples de commandes sysctl sous Linux
Dans ce guide, nous expliquerons 10 exemples de commandes pratiques sysctl que vous pouvez utiliser sur un système Linux.
1. Lister tous les paramètres du noyau sous Linux
Pour répertorier tous les paramètres de noyau actuellement disponibles, exécutez la commande sysctl avec le -a
ou --all
drapeau comme indiqué.
$ sudo sysctl -a OR $ sudo sysctl --all
Les variables sont affichées dans ce format :
<tunable class>.<tunable> = <value>
Par exemple,
kernel.ostype = Linux
3. Lister tous les noms de variables du noyau
Pour n’imprimer que les noms de variables sans leurs valeurs, utilisez la -N
comme indiqué.
$ sudo sysctl -a -N
3. Trouver des variables de noyau spécifiques sous 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 | grep memory OR $ sudo sysctl --all | grep memory
4. Lister toutes les variables du noyau, y compris les obsolètes
sysctl La commande affiche également les variables obsolètes ainsi que la liste de toutes les variables disponibles à l’aide de la --deprecated
drapeau comme indiqué.
$ sudo sysctl -a --deprecated OR $ sudo sysctl -a --deprecated | grep memory
5. Répertorier la valeur de la variable de noyau spécifique
Pour lire un sysctl variable et ses valeurs, spécifiez le nom de la variable comme argument pour la sysctl commandes comme suit. Cet exemple montre comment lire le kernel.ostype
variable.
$ sudo sysctl kernel.ostype kernel.ostype = Linux
6. Écrire temporairement la variable du noyau
Pour écrire temporairement des variables, spécifiez simplement la variable dans ce format.
<tunable class>.<tunable>=<value>
L’exemple suivant montre comment augmenter la taille maximale de la file d’attente de réception, qui stocke les trames extraites du tampon circulaire 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 de la net.core.netdev_max_backlog
variable comme indiqué.
$ sudo sysctl net.core.netdev_max_backlog $ sudo sysctl net.core.netdev_max_backlog=1200 $ sudo sysctl net.core.netdev_max_backlog
7. Écrire la variable du noyau en permanence
sysctl peut également écrire des variables de manière permanente dans un fichier de configuration. Pour y parvenir, utilisez le -w
option, et spécifiez le fichier de configuration auquel la variable et sa valeur seront ajoutées, dans ce cas, il s’agit /etc/sysctl.confle fichier de configuration sysctl par défaut :
$ sudo sysctl -w net.core.netdev_max_backlog=1200 >> /etc/sysctl.conf
Pour écrire des fichiers de manière permanente dans une personnalisation, spécifiez l’emplacement du fichier comme suit. Parfois, vous pouvez échouer à créer un fichier à des emplacements particuliers même lorsque vous appelez le sysctl commande à l’aide de la commande sudo.
Dans ce cas, passez au compte root (si vous avez les privilèges) et exécutez à nouveau la commande comme indiqué.
$ sudo sysctl -w net.core.netdev_max_backlog=1200 >> /etc/sysctl.d/10-test-settings.conf $ sudo su # sysctl -w net.core.netdev_max_backlog=1200 >> /etc/sysctl.d/10-test-settings.conf
Alternativement, vous pouvez créer le nouveau fichier de configuration dans /etc/sysctl.d/ répertoire comme indiqué :
$ sudo vim /etc/sysctl.d/10-test-settings.conf
Ajoutez ensuite les paramètres du noyau, un par ligne, comme indiqué.
net.core.netdev_max_backlog = 1200 user.max_net_namespaces = 63067 vm.overcommit_memory = 0
Enregistrez ensuite le fichier et fermez-le. Pour charger les paramètres du fichier personnalisé que vous venez de créer, utilisez le -p
ou --load
drapeau.
$ sudo sysctl -p /etc/sysctl.d/10-test-settings.conf OR $ sudo sysctl --load= /etc/sysctl.d/10-test-settings.conf
8. Recharger les variables sysctl.conf sous Linux
Pour recharger les paramètres de tous les fichiers de configuration système sans redémarrer, exécutez la commande suivante.
$ sudo sysctl --system
La commande ci-dessus lira tous les fichiers de configuration système 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.conf
9. Recharger les paramètres à partir des 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-test-settings.conf OR $ sudo sysctl --load= /etc/sysctl.d/10-test-settings.conf
10. 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 --pattern
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 --system -r memory
Dans ce guide, nous avons expliqué 10 sysctl exemples de commandes 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 manuel (homme sysctl).
Si vous appréciez ce que nous faisons ici sur TecMint, vous devriez considérer :
TecMint est le site communautaire à la croissance la plus rapide et le plus fiable pour tout type d’articles, de guides et de livres Linux sur le Web. Des millions de personnes visitent TecMint ! pour rechercher ou parcourir les milliers d’articles publiés accessibles GRATUITEMENT à tous.
Si vous aimez ce que vous lisez, pensez à nous acheter un café (ou 2) en signe d’appréciation.
Nous sommes reconnaissants pour votre soutien sans fin.