OVH Cloud OVH Cloud

Process/thread sous Linux

9 réponses
Avatar
s45_nospam
Bonjour,

Sous Linux noyau 2.4 (red hat as3.0), un thread est-il comptabilise
comme un processus?
ulimit -a me donne:
max user processes (-u) 7168

Cela veut-il que je peux lancer au maximum 7168 threads ou 7168
processus ou threads?

Sylvain

9 réponses

Avatar
Tom
Sous Linux noyau 2.4 (red hat as3.0), un thread est-il comptabilise
comme un processus?


Pourquoi ce serait comptabilisé comme un processus ?

--
Tom

Avatar
Ploc
Tom wrote:
Sous Linux noyau 2.4 (red hat as3.0), un thread est-il comptabilise
comme un processus?


Pourquoi ce serait comptabilisé comme un processus ?



Rapport a l'implementation...
Sous 2.4, le modele de threads faisait que chaque thread apparaissait
dans top.


Avatar
Tom
Rapport a l'implementation...
Sous 2.4, le modele de threads faisait que chaque thread apparaissait
dans top.


Beuark

--
Tom

Avatar
Ploc
Tom wrote:
Rapport a l'implementation...
Sous 2.4, le modele de threads faisait que chaque thread apparaissait
dans top.


Beuark


A leur decharge, les threads c'est quand meme qqchose de complique.
Enfin, c'est corrige depuis le 2.6.


Avatar
s45_nospam

Rapport a l'implementation...
Sous 2.4, le modele de threads faisait que chaque thread apparaissait
dans top.


Je suis en noyau 2.4.21-20.0.1.ELsmp. Les threads ne sont pas vus comme
un processus. Ou du moins, j'ai un processus Java qui lance des
threads. Je vois le process Java mais pas les threads ni par un top, ni
par un ps.

Avatar
Matthieu Moy
"" writes:

Je suis en noyau 2.4.21-20.0.1.ELsmp.


C'est pas un vrai 2.4 ;-). Les noyaux 2.4 de RedHat sont patchés avec
des backports en provenance du 2.6, en particulier sur le modèle de
threads.

--
Matthieu

Avatar
Emmanuel Fleury
wrote:

Je suis en noyau 2.4.21-20.0.1.ELsmp. Les threads ne sont pas vus comme
un processus. Ou du moins, j'ai un processus Java qui lance des
threads. Je vois le process Java mais pas les threads ni par un top, ni
par un ps.


Mais les threads Java sont-ils de vrais threads Linux ou s'exécutent-ils
à l'intérieur de la JVM ?

Je ne suis pas sûr que ton test sur la JVM soit concluant. :-/

Amicalement
--
Emmanuel Fleury

Money can't buy happiness; it can, however, rent it.
-- Unknown

Avatar
Ploc
Emmanuel Fleury wrote:
wrote:
Je suis en noyau 2.4.21-20.0.1.ELsmp. Les threads ne sont pas vus comme
un processus. Ou du moins, j'ai un processus Java qui lance des
threads. Je vois le process Java mais pas les threads ni par un top, ni
par un ps.


Mais les threads Java sont-ils de vrais threads Linux ou s'exécutent-ils
à l'intérieur de la JVM ?

Je ne suis pas sûr que ton test sur la JVM soit concluant. :-/


Ca depend si ce sont des green-threads ou des native-threads.
A priori les "green" sont bien moins utilises aujourd'hui.
Apres, il y'a les histoires de backport pour le noyau...


Avatar
Ploc
wrote:

Rapport a l'implementation...
Sous 2.4, le modele de threads faisait que chaque thread apparaissait
dans top.


Je suis en noyau 2.4.21-20.0.1.ELsmp. Les threads ne sont pas vus comme
un processus. Ou du moins, j'ai un processus Java qui lance des
threads. Je vois le process Java mais pas les threads ni par un top, ni
par un ps.



slack 10.2:
noyau d'origine: 2.4.31 (non patche, slack oblige)
java 1.5.06
java3d 1.4.0

java GearTest
pstree ->

init-+-5*[agetty]
|-atd
...
|-sshd---sshd---sshd---bash-+-java---java---12*[java]
| `-pstree
`-syslogd


12*[java] : ca veut dire 12 instances de java.
En l'occurence des threads.


Meme distrib, mais noyau 2.6.15
pstree ->

init-+-acpid
|-6*[agetty]
...
|-xterm---bash---pstree
`-xterm---bash---java

1 seule instance ici.

Voila, ce que ca donne sur des noyaux 'officiels'.