GNU/Linux >> Znalost Linux >  >> Linux

Maximální PID v Linuxu

Maximální hodnota PID v Linuxu je konfigurovatelná. Můžete se k němu dostat přes /proc/sys/kernel/pid_max soubor. Tento soubor (nový v Linuxu 2.5) určuje hodnotu, při které se PID obtáčí (tj. hodnota v tomto souboru je o jednu větší než maximální PID). Výchozí hodnota pro tento soubor, 32768, má za následek stejný rozsah PID jako na dřívějších jádrech. Hodnotu v tomto souboru lze nastavit na libovolnou hodnotu až do 2^22 (PID_MAX_LIMIT, přibližně 4 miliony).

Z hlediska programování musíte použít pid_t zadejte pro práci s ID procesu. Můžete dokonce přistupovat k jeho minimálním / maximálním hodnotám pomocí celočíselných vlastností. Zde je příklad, jak to udělat pomocí C++ a Boost na Linuxu 2.6.X běžícím na platformě 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

Z proc(5) manuálová stránka:

/proc/sys/kernel/pid_max (od Linuxu 2.5.34)

Tento soubor určuje hodnotu, při které se PID obtáčí (tj. hodnota v tomto souboru je o jednu větší než maximální PID). PID větší než tato hodnota se nepřidělují; hodnota v tomto souboru tedy také funguje jako celosystémové omezení celkového počtu procesů a vláken. Výchozí hodnota pro tento soubor, 32768, má za následek stejný rozsah PID jako na dřívějších jádrech. Na 32bitových platformách je 32768 maximální hodnota pro pid_max. Na 64bitových systémech pid_max lze nastavit na libovolnou hodnotu až do 2^22 (PID_MAX_LIMIT , přibližně 4 miliony).


Ve výchozím nastavení je to 32768, hodnotu ve vašem systému můžete přečíst v /proc/sys/kernel/pid_max .

A můžete nastavit vyšší hodnotu na 64bitových systémech (až 2 =4 194 304) pomocí:

echo 4194304 > /proc/sys/kernel/pid_max

Přečtěte si více zde:

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


Linux
  1. Základy oprávnění k souborům Linux

  2. Linux – všechno je soubor?

  3. Jak přejmenovat soubor v Linuxu?

  1. Jak přesunout soubor v Linuxu

  2. Maximální hodnota ID procesu?

  3. Linuxová recyklace PID

  1. Vysvětlení oprávnění souborů v systému Linux

  2. Linux Tail Command

  3. Linux Touch Command