11.11. Optimisation avec sysctl
Précédent | Chapitre 11. Configuration et optimisation | Suivant

## 11.11. Optimisation avec sysctl

sysctl(8) est une interface qui vous permet d'effectuer des changements de paramétrage sur un système FreeBSD en fonctionnement. Cela comprend de nombreuses options avancées de la pile TCP/IP et du système de mémoire virtuelle qui peuvent améliorer dramatiquement les performances pour un administrateur système expérimenté. Plus de cinq cent variables système peuvent être lues et modifiées grâce à sysctl(8).

sysctl(8) remplit deux fonctions: lire et modifier les paramétrages du système.

Pour afficher toutes les variables lisibles:

`%` `sysctl -a`

Pour lire une variable particulière, par exemple, `kern.maxproc`:

`%` `sysctl kern.maxproc` kern.maxproc: 1044

Pour fixer une variable particulière, utilisez la syntaxe intuitive `variable`=`valeur` :

`#` `sysctl kern.maxfiles=5000` kern.maxfiles: 2088 -> 5000

Les valeurs des variables sysctl sont généralement des chaînes de caractères, des nombres, ou des booléens (un variable booléenne étant `1` pour oui ou un `0` pour non).

Si vous voulez fixer automatiquement certaines variables à chaque démarrage de la machine, ajoutez-les au fichier `/etc/sysctl.conf`. Pour plus d'information consultez la page de manuel sysctl.conf(5) et la Section 11.10.4, « `sysctl.conf` ».

### 11.11.1. Variables sysctl(8) en lecture seule

Contribution de Tom Rhodes.

Dans certains cas, il peut être nécessaire de modifier des variables sysctl(8) en lecture seule. Bien que cela soit parfois inévitable, cela ne peut être fait qu'au (re)démarrage de la machine.

Par exemple sur certains modèles d'ordinateurs portables le périphérique cardbus(4) ne sondera pas le système à la recherche des zones mémoires, et échouera avec des erreurs du type:

cbb0: Could not map register memory device_probe_and_attach: cbb0 attach returned 12

Des cas comme le précédent demandent généralement la modification de paramètres sysctl(8) par défaut qui sont en lecture seule. Pour palier à ces situations un utilisateur peut placer un paramétrage (“OID”—Object IDentifier) sysctl(8) dans le fichier local `/boot/loader.conf.local`. Les paramétrages par défaut se trouvent dans le fichier `/boot/defaults/loader.conf`.

Pour corriger le problème précédent, il faudrait que l'utilisateur ajoute la ligne `hw.pci.allow_unsupported_io_range=1` dans le fichier précédemment indiqué. Désormais le périphérique cardbus(4) devrait fonctionner normalement.

Précédent | Niveau supérieur | Suivant
11.10. Fichiers de configuration | Sommaire | 11.12. Optimiser les disques

Ce document, ainsi que d'autres peut être téléchargé sur ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/

Pour toutes questions à propos de FreeBSD, lisez la documentation avant de contacter <questions@FreeBSD.org>.
Pour les questions sur cette documentation, contactez <doc@FreeBSD.org>.