GNU/Linux >> Tutoriels Linux >  >> Linux

Comment changer la limite de fichiers ouverts sous Linux

Sous Linux, il existe des limites définies par le système pour tout ce qui consomme des ressources. Par exemple, il existe des limites sur le nombre d'arguments pouvant être passés à une certaine commande, le nombre de threads pouvant s'exécuter en même temps, etc.

De même, le nombre de fichiers ouverts est limité. Comme vous le savez peut-être, un fichier ouvert est activement utilisé dans certains des autres programmes et consomme donc de la mémoire.
Vous pouvez afficher et modifier la limite de fichiers ouverts avec la commande "ulimit ‘.

Désormais, deux types de limites sont définis :limite stricte et limite souple .

  • La limite stricte pour les fichiers ouverts est une valeur définie de manière statique et ne peut être modifiée que par la « racine » ' utilisateur de Linux.
  • La limite souple est celui qui peut être modifié dynamiquement par les processus, c'est-à-dire pendant l'exécution, si le processus a besoin de plus de fichiers ouverts que le nombre autorisé par la limite souple.

Inutile de dire qu'une limite souple est quelque chose qui pourrait entraîner des problèmes de sécurité.

Vérifiez les limites d'ouverture de fichiers sous Linux

Pour afficher ou répertorier la limite stricte de fichiers, exécutez :

$ ulimit -Hn

De même, pour afficher la limite souple , exécutez :

$ ulimit -Sn

Ici le 'S' et 'H' représentent respectivement les limites souples et dures, alors que le 'n' indique le nombre de fichiers ouverts.

Modifier les limites d'ouverture de fichiers sous Linux

Essayons maintenant de modifier ces limites en ajoutant simplement un troisième argument pour la nouvelle valeur de la limite après 'Sn' ou 'Hn' .

$ ulimit -Sn 5000
$ ulimit -Hn 5000

Cependant, les limites ainsi modifiées restent modifiées temporairement jusqu'à ce que la session (c'est-à-dire le terminal) soit ouverte. Suivez les étapes ci-dessous pour modifier définitivement les limites.

Définir en permanence les limites d'ouverture des fichiers sous Linux

Ouvrez le fichier ‘/etc/security/limits.conf ' dans 'vim ' ou n'importe quel éditeur de votre choix. Notez qu'il s'agit d'un fichier protégé en écriture et qu'il doit être ouvert avec 'sudo ‘ ou en tant qu'administrateur.

$ sudo vim /etc/security/limits.conf

Notez que les limites peuvent être définies pour tous les utilisateurs ou pour des utilisateurs individuels. La syntaxe pour définir une limite stricte est :

* hard nofile 5000

Le '*' signifie que la limite est pour tous les utilisateurs. La deuxième chaîne sur la ligne est un type de limite, qui est 'hard' dans ce cas.

La troisième chaîne est la limite que nous voulons modifier. Dans notre cas, il s'agit de 'nofile' , c'est-à-dire le nombre de fichiers. Comme cela, d'autres limites peuvent également être définies ici, par exemple. 'noproc' pour un certain nombre de processus. Enfin, la quatrième chaîne est la nouvelle limite à définir pour le nombre de fichiers.

Si vous souhaitez définir la limite uniquement pour un utilisateur particulier, vous pouvez le faire comme suit :

abhi soft nofile 5000

Ici ‘abhi’ est le nom de l'utilisateur.

Maintenant, nous allons ajouter ces lignes au fichier et voir ensuite si la limite a été modifiée.

Enregistrez et quittez le fichier.

Ces limites obligeront l'utilisateur à se déconnecter et à se reconnecter, car les anciennes limites sont toujours prises en compte par les programmes en cours d'exécution. Exécutez ulimit à nouveau pour vérifier si les limites sont effectivement modifiées.

$ ulimit
Conclusion

Dans cet article, nous avons vu comment modifier la limite du nombre de fichiers ouverts sous Linux. Exécutez 'ulimit --help' si vous voulez connaître la commande plus en détail.

Merci d'avoir lu et faites-nous part de vos réflexions ou questions dans les commentaires ci-dessous !


Linux
  1. Comment augmenter la limite du nombre de fichiers ouverts sous Linux

  2. Comment changer de shell sous Linux

  3. Comment renommer un fichier sous Linux ?

  4. Comment changer la limite de délai d'expiration de MySQL sous Linux ?

  5. 5 exemples de commandes tactiles Linux (comment modifier l'horodatage des fichiers)

Comment ouvrir un fichier sous Linux

Commande Chmod - Comment modifier les autorisations de fichiers sous Linux

Comment créer un lien symbolique vers un fichier sous Linux

Comment changer la limite de fichiers ouverts sous Linux

Comment changer d'utilisateur sous Linux

Comment changer l'adresse IP sous Linux