/ proc / sys / fs / file-max host linux host nombre de fichiers ouverts

/ proc / sys / fs / file-max host linux host nombre de fichiers ouverts
Le fichier-max contient les poignées de fichiers maximales pour un hôte Linux, représentant le nombre maximum de fichiers que l'hôte peut avoir par session. Il existe différentes recommandations pour les poignées de fichiers maximales. Vous pouvez également définir temporairement ou définitivement un nouveau numéro maximum à partir de la ligne de commande. Ce guide explique les fichiers ouverts dans un hôte Linux, comment afficher le nombre maximum et définir de nouvelles valeurs en permanence ou temporairement.

Montrôles maximum de fichiers dans Linux

Les poignées de fichiers représentent le nombre maximum que les utilisateurs de Linux peuvent avoir pour ouvrir des fichiers par session. Le/ proc / sys / fs / fichier-max définit la limite de fichier. Si vous devez définir une limite temporaire avant un redémarrage, c'est le fichier à modifier.

Pour afficher la limite actuelle du nombre de fichiers ouverts dans un hôte Linux, utilisez la commande suivante:

$ cat / proc / sys / fs / file-max

La valeur maximale des descripteurs de fichiers ouverts répertoriés dans ce cas est pour l'hôte Linux. Différents utilisateurs peuvent avoir des valeurs différentes de l'hôte.

Alternativement, vous pouvez utiliser la commande suivante:

$ sysctl fs.fichier-max

La valeur dans la sortie ci-dessus représente la limite maximale pour un utilisateur normal par session de connexion. Vous pouvez également obtenir les valeurs douces et dures pour les descripteurs en utilisant le ulimit Commande, qui offre plus de contrôle sur les ressources et les processus de shell lancés par celui-ci.

Pour les valeurs dures, utilisez la commande suivante:

$ ulimit -hn

De même, utilisez la commande ci-dessous pour les valeurs souples:

$ ulimit -sn

Modification du fichier / proc / sys / fs / fichier-max

Certaines applications, telles que la base de données Oracle, nécessitent une plage d'exécution plus élevée pour les descripteurs de fichiers. Dans ce cas, vous devrez modifier la limite de courant maximale pour les fichiers ouverts pour augmenter la capacité. La modification de cette limite signifie que vous modifiez la variable du noyau / proc / sys / fs / file-max, et vous pouvez y parvenir de deux manières.

Pour la première méthode, définissez directement la valeur de la ligne de commande. Par exemple, pour définir la gamme sur 324567, La commande serait la suivante:

$ sudo sysctl -w fs.fichier-max = 324567

Notez que vous devez avoir un privilège administrateur pour que cela fonctionne. Vérifiez la nouvelle limite comme nous l'avons fait lors de la vérification de la limite maximale.

Pour la méthode suivante, utilisez-le uniquement si vous souhaitez définir en permanence une nouvelle limite maximale pour les fichiers ouverts de votre système. La première méthode précédemment indiquée sera réinitialisée aux valeurs par défaut après un redémarrage.

Pour procéder à la méthode permanente, vous devez utiliser un éditeur de texte comme nano ou vi et modifier le / etc / sysctl.confli déposer. Pour notre cas, utilisons le VI Edit. La commande sera la suivante:

$ vi / etc / sysctl.confli

Ajouter le FS.fichier-max = 324567 avec la nouvelle valeur de choix. Enregistrer et quitter le fichier. Les nouvelles valeurs persisteront même après un redémarrage.

De plus, vous devrez vous déconnecter de votre système et vous reconnecter pour que les modifications affectent. Alternativement, exécutez la commande suivante:

$ sysctl -p

Enfin, vérifiez que la nouvelle limite est définie à l'aide de la commande précédente ou répertoriez le contenu du / proc / sys / fs / file-max Utiliser la commande CAT.

$ cat / proc / sys / fs / file-max

Définition des limites FD au niveau de l'utilisateur

Les commandes précédentes définissent les descripteurs de fichiers (FD) pour l'ensemble du système hôte. Cependant, vous n'aurez pas toujours besoin de modifier l'ensemble du système. Parfois, vous devrez peut-être spécifier l'utilisateur spécifique, ce qui est possible.

Pour modifier un utilisateur spécifique, vous ajouterez la limite au / etc / sécurité / limites.confli.

Utilisez n'importe quel éditeur pour ouvrir le fichier et effectuer les modifications. Pour notre exemple, nous utilisons VI et définissons les limites Soft FD pour un utilisateur nommé User1.

$ sudo VI / etc / Sécurité / Limites.confli

Vous pouvez vérifier que les limites souples que nous avons ajoutées pour l'utilisateur spécifique ont travaillé en passant à ce compte d'utilisateur à l'aide des commandes suivantes:

$ su user1
$ ulimit -sn

Le -Sn est pour les limites douces. Dans la sortie suivante, nous notons que la valeur est définie sur celle définie dans le fichier de configuration. Impliquant que nous avons réussi à modifier les descripteurs de fichiers pour un utilisateur spécifique.

Conclusion

C'est ça! Nous avons vu comment modifier le / proc / sys / fs / file-max Pour afficher et modifier la limite maximale pour les fichiers ouverts dans un hôte Linux. De plus, nous avons vu comment changer la FD pour un utilisateur spécifique et définir une limite permanente ou temporaire pour les fichiers ouverts dans Linux.