GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Maximale PID unter Linux

Der Maximalwert der PID in Linux ist konfigurierbar. Sie können über /proc/sys/kernel/pid_max darauf zugreifen Datei. Diese Datei (neu in Linux 2.5) gibt den Wert an, bei dem PIDs umlaufen (d. h. der Wert in dieser Datei ist um eins größer als die maximale PID). Der Standardwert für diese Datei, 32768, führt zu demselben PID-Bereich wie bei früheren Kerneln. Der Wert in dieser Datei kann auf jeden Wert bis zu 2^22 (PID_MAX_LIMIT, ungefähr 4 Millionen) eingestellt werden.

Aus Programmiersicht müssen Sie pid_t verwenden geben Sie ein, um mit der Prozess-ID zu arbeiten. Sie können sogar auf seine Min/Max-Werte zugreifen, indem Sie ganzzahlige Merkmale verwenden. Hier ist ein Beispiel für die Verwendung von C++ und Boost unter Linux 2.6.X, das auf einer x86_64-Plattform ausgeführt wird:

$ 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

Aus dem proc(5) Manpage:

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

Diese Datei gibt den Wert an, bei dem PIDs umlaufen (d. h. der Wert in dieser Datei ist um eins größer als die maximale PID). PIDs größer als dieser Wert werden nicht zugewiesen; Daher fungiert der Wert in dieser Datei auch als systemweite Grenze für die Gesamtzahl der Prozesse und Threads. Der Standardwert für diese Datei, 32768, führt zu demselben PID-Bereich wie bei früheren Kerneln. Auf 32-Bit-Plattformen ist 32768 der Höchstwert für pid_max. Auf 64-Bit-Systemen pid_max kann auf einen beliebigen Wert bis zu 2^22 (PID_MAX_LIMIT , ungefähr 4 Millionen).


Standardmäßig ist es 32768, Sie können den Wert auf Ihrem System in /proc/sys/kernel/pid_max ablesen .

Und Sie können den Wert auf 64-Bit-Systemen höher einstellen (bis zu 2 =4.194.304) mit:

echo 4194304 > /proc/sys/kernel/pid_max

Lesen Sie hier mehr:

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


Linux
  1. Grundlagen der Linux-Dateiberechtigungen

  2. Linux – Alles ist eine Datei?

  3. Der maximale Wert der Prozess-ID?

  4. Wie benenne ich eine Datei unter Linux um?

  5. Linux-PID-Recycling

Gzip-Befehl unter Linux

Gunzip-Befehl unter Linux

Stat-Befehl unter Linux

Was ist umask unter Linux?

So verknüpfen Sie eine Datei unter Linux per Symlink

Extrahieren Sie die tar.gz-Datei unter Linux