MFen: r38449 --> r38826+r44296

This commit is contained in:
Marc Fonvieille 2019-05-26 15:39:13 +00:00
parent 7496860b6e
commit 2c2d7547a5
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=53065

View file

@ -4,20 +4,44 @@
The FreeBSD French Documentation Project
$FreeBSD$
Original revision: 38449
Original revision: 38826+44296
-->
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="config-tuning">
<info><title>Configuration et optimisation</title>
<info>
<title>Configuration et optimisation</title>
<authorgroup>
<author><personname><firstname>Chern</firstname><surname>Lee</surname></personname><contrib>Ecrit par </contrib></author>
<author>
<personname>
<firstname>Chern</firstname>
<surname>Lee</surname>
</personname>
<contrib>Ecrit par </contrib>
</author>
</authorgroup>
<authorgroup>
<author><personname><firstname>Mike</firstname><surname>Smith</surname></personname><contrib>Basé sur un guide rédigé
par </contrib></author>
<author>
<personname>
<firstname>Mike</firstname>
<surname>Smith</surname>
</personname>
<contrib>Basé sur un guide rédigé par </contrib>
</author>
</authorgroup>
<authorgroup>
<author><personname><firstname>Matt</firstname><surname>Dillon</surname></personname><contrib>Egalement basé sur la page de manuel tuning(7)
écrite par </contrib></author>
<author>
<personname>
<firstname>Matt</firstname>
<surname>Dillon</surname>
</personname>
<contrib>Egalement basé sur la page de manuel tuning(7) écrite
par </contrib>
</author>
</authorgroup>
</info>
@ -46,11 +70,6 @@
<para>Après la lecture de ce chapitre, vous saurez:</para>
<itemizedlist>
<listitem>
<para>Pourquoi et comment dimensionner, organiser, et
positionner efficacement les partitions des systèmes
de fichiers et de pagination sur votre disque dur.</para>
</listitem>
<listitem>
<para>Les bases de la configuration du fichier
<filename>rc.conf</filename> et des fichiers de démarrage
@ -92,172 +111,6 @@
</itemizedlist>
</sect1>
<sect1 xml:id="configtuning-initial">
<title>Configuration initiale</title>
<sect2>
<title>Organisation des partitions</title>
<indexterm><primary>organisation des partitions</primary></indexterm>
<indexterm>
<primary><filename>/etc</filename></primary>
</indexterm>
<indexterm>
<primary><filename>/var</filename></primary>
</indexterm>
<indexterm>
<primary><filename>/usr</filename></primary>
</indexterm>
<sect3>
<title>Partitions de base</title>
<para>Quand vous organisez votre système de fichiers &agrave;
l'aide de &man.bsdlabel.8; ou &man.sysinstall.8;, il est
important de se rappeler que les disques durs peuvent
transférer des données plus rapidement depuis
les pistes externes que depuis celles &agrave; l'intérieur.
En sachant cela, vous devriez placer vos systèmes de
fichiers les plus petits, auxquels on accède le plus
souvent, comme la racine et l'espace de pagination, proche
de la partie externe du disque, alors que les grandes
partitions, comme <filename>/usr</filename>, devraient être
plus &agrave; l'intérieur. Pour faire cela, c'est une bonne
idée de créer les partitions dans l'ordre
suivant: racine, pagination, <filename>/var</filename>,
<filename>/usr</filename>.</para>
<para>La taille de votre partition <filename>/var</filename>
reflète l'utilisation prévue de votre machine.
<filename>/var</filename> est principalement utilisée pour
héberger les boîtes aux lettres, les fichiers journaux,
les queues d'impression. Les boîtes aux lettres et les fichiers
journaux, en particulier, peuvent croître vers des tailles
inattendues en fonction du nombre d'utilisateurs de votre
système et de combien de temps sont conservés ces
fichiers. Si vous avez l'intention de faire fonctionner un
serveur de courrier électronique, une partition
La plupart des utilisateurs n'auront jamais besoin de plus d'un
gigaoctet, mais rappelez-vous que
<filename>/var/tmp</filename> doit être
assez grand pour contenir tout logiciel pré-compilé que
vous pourrez vouloir ajouter.</para>
<para>La partition <filename>/usr</filename> contient la
majeure partie des fichiers nécessaires au système,
le catalogue des logiciels portés (recommandé)
et le code source du système (optionnel). Les deux
étant optionnels &agrave; l'installation. Utiliser
au moins 2 gigaoctets pour cette partition est
recommandé.</para>
<para>Quand vous dimensionnez vos partitions, gardez &agrave;
l'esprit les besoins en espace pour permettre &agrave; votre
système de se développer. Manquer d'espace sur une
partition alors qu'il y en a plein sur les autres peut être
très frustrant.</para>
<note><para>Certains utilisateurs qui ont employé
l'option <literal>Auto-defaults</literal> de l'outil de
partitionnement de &man.sysinstall.8; ont trouvé plus
tard que leurs partitions racine et
<filename>/var</filename> étaient trop petites.
Partitionnez généreusement et avec
sagesse.</para></note>
</sect3>
<sect3 xml:id="swap-design">
<title>Partition de pagination</title>
<indexterm><primary>dimensionnement de l'espace de
pagination</primary></indexterm>
<indexterm><primary>partition de pagination</primary></indexterm>
<para>Par principe, votre espace de pagination devrait
typiquement avoir une taille double de la quantité de
mémoire principale. Par exemple, si la machine
possède 128 mégaoctets de mémoire, le
fichier de pagination devrait être de 256 mégaoctets.
Les systèmes avec peu de mémoire pourront avoir
de meilleures performances avec beaucoup plus d'espace de
pagination. Il n'est pas recommandé d'avoir moins
de 256 mégaoctets d'espace de pagination sur un
système et vous devriez garder &agrave; l'esprit les futures
extensions de mémoire quand vous dimensionnez votre
partition de pagination. Les algorithmes de pagination du
noyau sont optimisés pour une meilleure efficacité
avec une partition de pagination d'au moins deux fois la
taille de la mémoire principale. Configurer trop peu
d'espace de pagination peut conduire &agrave; une certaine
inefficacité du code de pagination de la mémoire virtuelle
comme &agrave; l'apparition de problèmes
ultérieurement si vous ajoutez plus de
mémoire &agrave; votre machine.</para>
<para>Et enfin, sur des systèmes importants avec de
multiples disques SCSI (ou de multiples disques IDE
fonctionnant sur différents contrôleurs), il est
vivement recommandé que vous configuriez un espace de
pagination sur chaque disque (jusqu'&agrave; quatre disques).
Les partitions de pagination sur les différents disques
devront avoir approximativement la même taille. Le
noyau peut gérer des tailles arbitraires mais les
structures de données internes sont dimensionnées pour 4
fois la taille de la plus grande partition de pagination.
Garder la taille des partitions de pagination proche
permettra au noyau de répartir de manière
optimale l'espace de pagination entre les disques. Ne vous
inquiétez pas trop si vous les surdimensionnez, l'espace de
pagination est un des avantages d'Unix. Même si vous
n'utilisez normalement pas beaucoup de cet espace, il peut
vous permettre d'avoir plus temps pour récupérer
face &agrave; programme incontrôlable avant
d'être forcé &agrave; relancer la machine.</para>
</sect3>
<sect3>
<title>Pourquoi des Partitions?</title>
<para>Pourquoi des partitions? Pourquoi ne pas créer une
seule grande partition racine? Ainsi je n'aurais pas &agrave;
me soucier d'avoir sous-dimensionné certaines choses!</para>
<para>Pour plusieurs raisons cela n'est pas une bonne idée.
Tout d'abord, chaque partition a différentes
caractéristiques d'utilisation et les séparer autorise
le système de fichiers &agrave; s'optimiser lui-même
pour ces caractéristiques. Par exemple, les partitions
racine et <filename>/usr</filename> sont surtout lues, et
rarement utilisées en écriture, alors que de nombreuses
opérations de lecture et écriture pourront avoir lieu
sur <filename>/var</filename> et
<filename>/var/tmp</filename>.</para>
<para>En partitionnant correctement votre système,
la fragmentation introduite sur les partitions plus petites et
plus chargées en écriture ne s'étendra pas sur
les partitions principalement utilisées en lecture.
De plus, avoir les partitions principalement utilisées
en écriture proche du bord du disque, par exemple avant la
grande partition au lieu qu'après dans la table des
partitions, augmentera les performances d'E/S sur les
partitions qui le demandent le plus. Maintenant il est
également vrai que vous avez besoin de performances d'E/S
sur les grandes partitions, mais elles sont si grandes que
les déplacer plus vers l'extérieur du disque ne
donnera pas lieu &agrave; une augmentation significative des
performances alors que le déplacement de
<filename>/var</filename> vers le bord peut avoir un sérieux
impact. Et enfin, il y a également des raisons de
sécurité. Avoir une partition racine petite et
ordonnée qui est essentiellement en lecture seule lui
donne plus de chance de rester intacte après un crash
sévère.</para>
</sect3>
</sect2>
</sect1>
<sect1 xml:id="configtuning-core-configuration">
<title>Configuration principale</title>
@ -531,38 +384,37 @@ run_rc_command "$1"</programlisting>
<para>L'utilitaire <command>cron</command> utilise deux types
différents de fichiers de configuration, le fichier
<filename>crontab</filename> système et les
<filename>crontab</filename>s des utilisateurs. La seule
différence entre ces deux formats est le sixième
champ. Dans le fichier <filename>crontab</filename>
système, le sixième champ est le nom de
l'utilisateur sous lequel doit être exécutée
la commande. Cela donne la possibilité au fichier
<filename>crontab</filename> système d'exécuter les
commandes sous n'importe quel utilisateur. Dans le fichier
<filename>crontab</filename> d'un utilisateur, le sixième
champ est la commande a exécuter et toutes les commandes
sont exécutées sous l'utilisateur qui a
créé le fichier <filename>crontab</filename>; c'est
un aspect sécurité important.</para>
<filename>crontab</filename>s des utilisateurs. Ces deux
formats diffèrent à partir du sixième champ. Dans le fichier
<filename>crontab</filename> système, <command>cron</command>
exécutera la commande en tant que l'utilisateur indiqué dans le
sixième champ. Dans le fichier <filename>crontab</filename>
d'un utilisateur, toutes les commandes sont exécutées sous
l'utilisateur qui a créé ce fichier
<filename>crontab</filename>, aussi le sixième champ est le
dernier champ; c'est un aspect sécurité important. Le dernier
champ est toujours la commande à exécuter.</para>
<note>
<para>Les fichiers <filename>crontab</filename> utilisateur
permettent aux utilisateurs de planifier l'exécution de
tâches sans avoir besoin des privilèges du
super-utilisateur <systemitem class="username">root</systemitem>. Les commandes
permettent aux utilisateurs de planifier l'exécution de tâches
sans avoir besoin des privilèges du super-utilisateur
<systemitem class="username">root</systemitem>. Les commandes
contenues dans le fichier <filename>crontab</filename> d'un
utilisateur s'exécutent avec les privilèges de
l'utilisateur auquel appartient ce fichier.</para>
utilisateur s'exécutent avec les privilèges de l'utilisateur
auquel appartient ce fichier.</para>
<para>Le super-utilisateur <systemitem class="username">root</systemitem> peut
posséder un fichier <filename>crontab</filename>
utilisateur comme tout autre utilisateur. Ce fichier est
différent de <filename>/etc/crontab</filename> (le
<filename>crontab</filename> système). En raison de
l'existence du fichier <filename>crontab</filename>
système, il n'y a généralement pas besoin
d'un fichier <filename>crontab</filename> utilisateur pour
<systemitem class="username">root</systemitem>.</para>
<para>Le super-utilisateur <systemitem
class="username">root</systemitem> peut posséder un fichier
<filename>crontab</filename> utilisateur comme tout autre
utilisateur. Ce fichier est différent de
<filename>/etc/crontab</filename> (le
<filename>crontab</filename> système). Etant donné que le
fichier <filename>crontab</filename> système invoque les
commandes spécifiées en tant que <systemitem
class="username">root</systemitem>, il n'y a généralement pas
besoin d'un fichier <filename>crontab</filename> utilisateur
pour <systemitem class="username">root</systemitem>.</para>
</note>
<para>Examinons le fichier
@ -638,12 +490,8 @@ HOME=/var/log
<literal>utilisateur</literal> est spécial, et n'existe
que dans le fichier <filename>/etc/crontab</filename>. Ce
champ précise sous quel utilisateur sera
exécutée la commande. Quand un utilisateur
installe son fichier <filename>crontab</filename>, il n'aura
pas cette option. Pour finir, l'option
<literal>commande</literal> est listée. C'est le
dernier champ, qui naturellement devrait désigner la
commande &agrave; exécuter.</para>
exécutée la commande. Le dernier champ désigne la commande
à exécuter.</para>
</callout>
<callout arearefs="co-main">
@ -683,8 +531,8 @@ HOME=/var/log
<title>Installer un fichier crontab</title>
<important>
<para>Vous ne devez pas utiliser la procédure
décrite ci-dessous pour éditer/installer le
<para>Ne pas utiliser la procédure
décrite ci-dessous pour éditer et installer le
fichier <filename>crontab</filename> système. Utilisez
directement votre éditeur: l'utilitaire
<command>cron</command> remarquera le changement au niveau de ce
@ -721,15 +569,15 @@ HOME=/var/log
il sera automatiquement installé par la commande
<command>crontab</command>.</para>
<para>Si vous désirez plus tard effacer votre
<para>Afin d'effacer le fichier
<filename>crontab</filename> utilisateur complètement,
utilisez la commande <command>crontab</command> avec l'option
utiliser la commande <command>crontab</command> avec l'option
<option>-r</option>.</para>
</sect2>
</sect1>
<sect1 xml:id="configtuning-rcd">
<info><title>Utilisation du système rc sous &os;</title>
<info><title>Utilisation du système &man.rc.8; sous &os;</title>
<authorgroup>
<author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Contribution de </contrib></author>
</authorgroup>
@ -1053,18 +901,12 @@ linuxemu/chapter.xml -->
pilote binaire réseau &windows; et lui fait penser
qu'il est en train de tourner sous &windows;. Etant
donné que le pilote &man.ndis.4; utilise un binaire
&windows;, il n'est utilisable que sur les systèmes
&i386; et amd64.</para>
&windows;, il ne fonctionne que sur les systèmes
&i386; et amd64. Les périphériques PCI, CardBus, PCMCIA
(PC-Card), et USB sont supportés.</para>
<note>
<para>Le pilote &man.ndis.4; est conçu pour supporter
principalement les périphériques PCI,
CardBus et PCMCIA, les périphériques USB ne
sont pas encore supportés.</para>
</note>
<para>Pour utiliser le NDISulator, vous avez besoin de trois
choses:</para>
<para>Pour utiliser le NDISulator, trois choses sont
nécessaires:</para>
<orderedlist>
<listitem>
@ -1088,25 +930,23 @@ linuxemu/chapter.xml -->
<filename>W32DRIVER.SYS</filename> et
<filename>W32DRIVER.INF</filename>.</para>
<note>
<para>Vous ne pouvez pas utiliser un pilote &windows;/i386
avec &os;/amd64, vous devez récupérer un
pilote &windows;/amd64 pour que cela fonctionne
correctement.</para>
</note>
<para>Le type de pilote doit correspondre à la version de
&os;. Pour &os;/i386, utiliser un pilote &windows; 32bits.
Pour &os;/amd64, un pilote &windows; 64bits est
nécessaire.</para>
<para>L'étape suivante est de compiler le pilote
binaire dans un module chargeable du noyau. Pour effectuer
cela, en tant que <systemitem class="username">root</systemitem>, utilisez
&man.ndisgen.8;:</para>
binaire dans un module chargeable du noyau.
En tant que <systemitem class="username">root</systemitem>,
utilisez &man.ndisgen.8;:</para>
<screen>&prompt.root; <userinput>ndisgen /path/to/W32DRIVER.INF /path/to/W32DRIVER.SYS</userinput></screen>
<para>L'utilitaire &man.ndisgen.8; est interactif et vous
sollicitera pour d'éventuelles informations
complémentaires si nécessaire; il produira un
module noyau dans le répertoire courant qui pourra
être chargé de cette manière:</para>
<para>L'utilitaire &man.ndisgen.8; est interactif, il
sollicitera l'utilisateur pour d'éventuelles informations
complémentaires si nécessaire. Un nouveau module noyau est
créé dans le répertoire courant. Utiliser &man.kldload.8;
pour charger le nouveau module:</para>
<screen>&prompt.root; <userinput>kldload ./W32DRIVER_SYS.ko</userinput></screen>
@ -1893,7 +1733,7 @@ security.bsd.see_other_uids=0</programlisting>
</sect1>
<sect1 xml:id="configtuning-sysctl">
<title>Optimisation avec sysctl</title>
<title>Optimisation avec &man.sysctl.8;</title>
<indexterm><primary>sysctl</primary></indexterm>
<indexterm>
@ -2833,15 +2673,44 @@ kern.maxvnodes: 100000</screen>
du Manuel.</para>
<sect2 xml:id="new-drive-swap">
<title>Espace de pagination sur un nouveau disque dur</title>
<title>Espace de pagination sur un nouveau disque dur ou une
partition existante</title>
<para>La meilleur façon d'ajouter de l'espace de pagination,
bien sûr, est d'utiliser ceci comme excuse pour ajouter un
autre disque dur. Vous pouvez toujours utiliser un autre
disque après tout. Si vous pouvez faire cela, allez relire la
discussion sur l'espace de pagination dans la <xref linkend="configtuning-initial"/>
du Manuel pour des suggestions sur la meilleure façon
d'arranger votre espace de pagination.</para>
<para>Ajouter un nouveau disque pour l'espace de pagination
donne de meilleures performances qu'utiliser une partition sur
un disque existant. La configuration des partitions et des
disques durs est expliquée dans la <xref
linkend="disks-adding"/> tandis que la <xref
linkend="configtuning-initial"/> aborde l'organisation des
partitions et les problèmes relatifs à la taille de la
partition de l'espace de pagination.</para>
<para>Utiliser la commande <command>swapon</command> pour
ajouter une partition de pagination au système. Par
exemple:</para>
<screen>&prompt.root; <userinput>swapon <replaceable>/dev/ada1s1b</replaceable></userinput></screen>
<warning>
<para>Il est possible d'utiliser n'importe quelle partition
actuellement non-montée, même si cette dernière contient des
données. Utiliser <command>swapon</command> sur une
partition contenant des données écrasera et effacera ces
données. Assurez-vous que la partition à utiliser comme
espace de pagination est bien celle prévue à cet effet avant
d'exécuter <command>swapon</command>.</para>
</warning>
<para>Pour ajouter cette partition de pagination automatiquement
au démarrage, ajouter une entrée au fichier
<filename>/etc/fstab</filename>:</para>
<programlisting><replaceable>/dev/ada1s1b</replaceable> none swap sw 0 0</programlisting>
<para>Consulter &man.fstab.5; pour plus d'explications sur les
entrées du fichier <filename>/etc/fstab</filename>. Plus
d'informations sur <command>swapon</command> sont disponibles
dans &man.swapon.8;.</para>
</sect2>
<sect2 xml:id="nfs-swap">