[java] ps geeft verschillende output

Pagina: 1
Acties:

  • B-Man
  • Registratie: Februari 2000
  • Niet online
Ik draai hier (o.a.) drie SuSe 9.1 dozen, zijn complete standaardinstalls (zie www.1und1.de, kopje rootservers).
Op die SuSe dozen draai ik de Sun JRE 1.5.0 en JRE 1.5.0_04.

Mijn vraag/'probleem': Op de 'oudste' machine zie ik bij 'ps' staan:
code:
1
java -server -jar blabla.jar -type Monitor


op de andere twee systemen zie ik dan:
code:
1
2
3
4
5
6
-server -jar blabla.jar -type Monitor
  \_ -server -jar blabla.jar -type Monitor
  \_ -server -jar blabla.jar -type Monitor
  \_ -server -jar blabla.jar -type Monitor
  \_ -server -jar blabla.jar -type Monitor
  \_ -server -jar blabla.jar -type Monitor


Kortom: op het ene systeem lijkt het alsof de JRE draait met de NPTL en op de andere met green threads.
De systemen zijn verder identiek, behalve het feit dat in twee machines 1 gig geheugen zit, en in de derde 2 gig.
uname -r levert op alle systemen "2.6.9-041221" op.

Ik ga zelf verder zoeken hoe ik kan achterhalen of NPTL gebruikt wordt, maar ben benieuwd of iemand hier dit herkend.

[ Voor 31% gewijzigd door B-Man op 04-09-2005 16:24 ]


  • B-Man
  • Registratie: Februari 2000
  • Niet online
Ok, na behoorlijk wat zoekwerk ben ik erachter dat op het ene systeem inderdaad NPTL wordt gebruikt, en op de andere systemen niet.
Zonder NPTL:
code:
1
2
3
4
5
6
root@/usr/lib/tls> ldd /apps/jre1.5.0_04/bin/java
        linux-gate.so.1 =>  (0xffffe000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x4001a000)
        libdl.so.2 => /lib/libdl.so.2 (0x4006d000)
        libc.so.6 => /lib/libc.so.6 (0x40070000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

Met NPTL:
code:
1
2
3
4
5
6
root@/lib/tls> ldd /apps/jre1.5.0/bin/java
        linux-gate.so.1 =>  (0xffffe000)
        libpthread.so.0 => /lib/tls/libpthread.so.0 (0x4001b000)
        libdl.so.2 => /lib/libdl.so.2 (0x4002b000)
        libc.so.6 => /lib/tls/libc.so.6 (0x4002e000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)


Nu viel me op dat op de twee machines waar java zonder NPTL draait, er helemaal geen /lib/tls bestaat. Een 'rpm -q --whatprovides /lib/tls' op de oude machine levert op dat 'glibc-2.3.3-97' deze dir bevat. En toen zag ik dat de nieuwe machines 'glibc-2.3.3-98' draaien.
Raar maar waar volgens mij: een nieuwe revisie van de glibc lib op SuSE 9.1 bevat dus geen NPTL meer?

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 22:33
Probeer eens het volgende commando, dan weet je zeker of er NPTL of niet aanwezig is op je systeem:
code:
1
getconf GNU_LIBPTHREAD_VERSION


Het kan zijn dat in de nieuwe versie linuxthreads is gedropt en alleen nog maar NPTL gedaan wordt, waarbij /lib/tls dus niet meer bestaat, omdat de NPTL libs in /lib staan.

Maar zoals bij elke normale distro zijn er gewoon changelogs te vinden van die nieuwe glibc RPM, dus zoek ff op wat er nou precies veranderd is tussen die versies.

  • knopper
  • Registratie: September 2001
  • Laatst online: 25-12-2025

knopper

Sander Knopper

Je moet gewoon het bestand uitvoeren:

Bijvoorbeeld:

code:
1
/lib/libc.so.6


En dan in de output kijken of er iets staat over NPTL.

  • B-Man
  • Registratie: Februari 2000
  • Niet online
JCG: Op de ene machine levert dat "NPTL 0.61" op, op de twee andere machines "linuxthreads-0.10".

Verder zag ik dat glibc-2.3.3-98 een i586 package is, en 2.3.3-97 een i686 package. Aangezien de packages dus niet beiden voor i686 zijn, weet ik niet of er een enkele changelog is...

-- edit
Voor SuSe 9.1 kan ik nergens een 2.3.3-97 package vinden, niet op de cd, niet op de updateserver. Daarom zojuist maar glibc-2.3.3-118.i686.rpm van de SuSe 9.2 CD gepakt. Zelfde major & minor version, enkel een paar kleine aanpassingen. Moet op deze manier kunnen, nietwaar?

[ Voor 36% gewijzigd door B-Man op 04-09-2005 18:39 ]


  • igmar
  • Registratie: April 2000
  • Laatst online: 31-01 23:50

igmar

ISO20022

TLS is niet supported op alles < 686, vandaar dat de libc 586 package geen NTPL bevatten. Upgraden naar de 686 versie dus.
Pagina: 1