GNU/Linux >> Tutoriels Linux >  >> Linux

GNU/Linux compte-t-il les processus et les threads ensemble lorsque je limite leur nombre ?

Le nproc la limite dont vous parlez s'applique aux entités exécutables , il limite donc les threads (et donc les processus les contenant) . Chaque processus a au moins un thread (le thread principal), de sorte que seuls les threads peuvent être exécutés . À proprement parler, les processus ne sont pas "exécutables".

Cette réponse explique la vraie différence entre les threads et les processus sous Linux.

J'ai testé le code dans daya la réponse de (également ajouté sleep(1); dans le code du thread) et contrairement à lui (?!), j'ai atteint la limite lorsque trop de threads étaient créés :pthread_create() renvoyait EAGAIN . Le pthread_create(3) la documentation indique ce qui suit à propos de cette erreur :

ENCORE

Ressources insuffisantes pour créer un autre thread, ou une limite imposée par le système sur le nombre de threads a été rencontrée. Ce dernier cas peut se produire de deux manières :la limite de ressource logicielle RLIMIT_NPROC (définie via setrlimit(2)), qui limite le nombre de processus pour un ID utilisateur réel, a été atteinte; ou la limite système du noyau sur le nombre de threads, /proc/sys/kernel/threads-max, a été atteinte.

Je ne vois aucune mention d'un spécifique limite par thread dans la source du noyau, je ne vois que RLIMIT_NPROC là, quelle est la limite que vous pouvez changer dans limits.conf (avec nproc ), ulimit -u ou setrlimit(2) .


Linux
  1. Trouver les processus en cours d'exécution les plus élevés en fonction de la mémoire et de l'utilisation du processeur les plus élevées sous Linux

  2. Limite de ligne Shebang dans le noyau bash et linux

  3. Quand utiliser pthread_exit() et quand utiliser pthread_join() sous Linux ?

  4. Les threads sont-ils implémentés en tant que processus sous Linux ?

  5. Comment Linux distingue-t-il les threads des processus enfants ?

Commande de fichier Linux :que fait-elle et comment l'utiliser

Commande WC sous Linux (compter le nombre de lignes, de mots et de caractères)

Qu'est-ce que null signifie dans Linux et l'informatique

Fkill - Rechercher et tuer de manière interactive les processus sous Linux

Linux :rechercher le nombre de fichiers dans un répertoire et des sous-répertoires

Comment installer et utiliser GNU Emacs sur les distributions Linux