GNU/Linux >> Tutoriels Linux >  >> Linux

Max fichiers ouverts pour le processus de travail

echo -n "Max open files=20:20" > /proc/$pid/limits

... fonctionne dans RHEL5.5 et RHEL6.7.

Notez que le "-n" est obligatoire ; une nouvelle ligne à la fin générera une plainte concernant des arguments non valides.


Une autre option consiste à utiliser la commande prlimit (du paquet util-linux). Par exemple, si vous souhaitez définir le nombre maximum de fichiers ouverts pour un processus en cours d'exécution sur 4 096 :

prlimit -n4096 -p pid_of_process


Vous pouvez utiliser gdb, entrer dans le processus, appeler les appels système susmentionnés pour augmenter la limite qui vous intéresse, puis continuer le travail et quitter gdb. J'ai modifié des choses à la volée de cette façon plusieurs fois.

Votre application ne serait pas en panne, mais juste gelée pour le moment pendant que vous effectuiez l'appel. si vous êtes rapide (ou si vous le scénarisez !), cela ne se remarquera probablement pas.


En tant qu'administrateur système :Le /etc/security/limits.conf file contrôle cela sur la plupart des installations Linux ; il vous permet de définir des limites par utilisateur. Vous voudrez une ligne comme myuser - nofile 1000 .

Dans un processus :Les appels getrlimit et setrlimit contrôlent la plupart des limites d'allocation de ressources par processus. RLIMIT_NOFILE contrôle le nombre maximum de descripteurs de fichiers. Vous aurez besoin des autorisations appropriées pour l'appeler.


Linux
  1. 8 commandes Linux pour une gestion efficace des processus

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

  3. Vérifier le processus si le même est en cours d'exécution ?

  4. Pseudo fichiers pour données temporaires ?

  5. Vérifier la limite FD ouverte pour un processus donné sous Linux

5 jeux de puzzle open source pour Linux

Commande ls sous Linux pour lister les fichiers

Définir Umask pour le système de fichiers monté sur Sshfs ?

Commandes pour la gestion des processus sous Linux

Comment empêcher un processus d'écrire des fichiers

Trop de fichiers ouverts sur Debian