GNU/Linux >> Tutoriels Linux >  >> Linux

PID maximal sous Linux

La valeur maximale du PID sous Linux est configurable. Vous pouvez y accéder via /proc/sys/kernel/pid_max dossier. Ce fichier (nouveau dans Linux 2.5) spécifie la valeur à laquelle les PID s'enroulent (c'est-à-dire que la valeur dans ce fichier est supérieure d'une unité au PID maximum). La valeur par défaut de ce fichier, 32768, donne la même plage de PID que sur les noyaux précédents. La valeur dans ce fichier peut être définie sur n'importe quelle valeur jusqu'à 2^22 (PID_MAX_LIMIT, environ 4 millions).

Du point de vue de la programmation, vous devez utiliser pid_t type pour travailler avec l'ID de processus. Vous pouvez même accéder à ses valeurs min/max en utilisant des traits entiers. Voici un exemple d'utilisation de C++ et Boost sur Linux 2.6.X exécuté sur la plate-forme x86_64 :

$ cat test.cpp 
#include <sys/types.h>
#include <iostream>
#include <boost/integer_traits.hpp>

using namespace std;

int main ()
{
    cout << "pid_t max = " << boost::integer_traits<pid_t>::const_max << endl;
}

$ ./test 
pid_t max = 2147483647

À partir du proc(5) page de manuel :

/proc/sys/kernel/pid_max (depuis Linux 2.5.34)

Ce fichier spécifie la valeur à laquelle les PID s'enroulent (c'est-à-dire que la valeur dans ce fichier est supérieure d'une unité au PID maximum). Les PID supérieurs à cette valeur ne sont pas alloués ; ainsi, la valeur de ce fichier agit également comme une limite à l'échelle du système sur le nombre total de processus et de threads. La valeur par défaut de ce fichier, 32768, donne la même plage de PID que sur les noyaux précédents. Sur les plateformes 32 bits, 32768 est la valeur maximale de pid_max. Sur les systèmes 64 bits, pid_max peut être défini sur n'importe quelle valeur jusqu'à 2^22 (PID_MAX_LIMIT , environ 4 millions).


C'est 32768 par défaut, vous pouvez lire la valeur sur votre système en /proc/sys/kernel/pid_max .

Et vous pouvez définir une valeur plus élevée sur les systèmes 64 bits (jusqu'à 2 =4 194 304) avec :

echo 4194304 > /proc/sys/kernel/pid_max

En savoir plus ici :

http://www.cs.wisc.edu/condor/condorg/linux_scalability.html (via archive.org)


Linux
  1. Bases des autorisations de fichiers Linux

  2. Linux - Tout est un fichier ?

  3. La valeur maximale de l'ID de processus ?

  4. Comment renommer un fichier sous Linux ?

  5. Recyclage des PID Linux

Commande Gzip sous Linux

Commande Gunzip sous Linux

Commande Stat sous Linux

Qu'est-ce qu'umask sous Linux ?

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

Extraire le fichier tar.gz sous Linux