JVM sous linux avec plus de 2 gig de ram possible?

Voila,

j’ai une jvm qui roule sous linux (red hat enterprise) et je ne suis pas capable de la faire démarrer avec plus de 1.7 gig de ram. Avez-vous une idée?

Merci

Quel noyau?

A priori sur du 32bits tu dois pouvoir mettre 4Go de ram.

Tu recompile (obligatoirement) le noyau

Général -> Processor type and features -> memory -> support hight memory -> 4Go

oui le noyau support plus de 4 gig de ram. Mais le processus handlé par la jvm est limité à 2 gig de ram

Linux xxxxxx 2.4.9-e.40enterprise #1 SMP Thu Apr 8 16:43:01 EDT 2004 i686 unknown

http://forum.java.sun.com/thread.jspa?threadID=474985&messageID=2220205

“Thirdly, You’ll never be able to make a single java process use 2 GB of memory on Linux – at least for 32-bit processors. You need to be able to break the monolith into several smaller processes to take advantage of the added meory. 2 GB appears to be a theoretical maximum but in practice, I’ve never been able to use more than 1.8 GB in a single process on Linux”

Linux 2.4.9-e ???
Il te faut absoluement une version plus récente.
Si tu dois utiliser un noyau 2.4, prends le 2.4.18, il y a des soucis avec la vmm des 2.4. jusqu’au 2.4.12

Sinon: est ce que ta machine java demande plus de mémoire?

d’après la réponse donnée le pb vient de java?
-> Essaie avec un noyau 2.6 : NPTL ça change la vie.

Oui mais comme tu as dis avant. PAssé de HP-UX vers linux à déjà été un tour de force. Recompiller un kernel reste une impossibilité en ce moment. Donc j’ai splitté mes apps serveurs sur plusieurs blades. (8 apps servers pour 16 jvm) Donc 2 jvm de 1.7 gig avec un total de 8 gig de ram par blades.

Encore un autre lien à ce sujet

Je ne pense pas que tu ais de solutions sur ces vieilles versions du noyaux… D’autant plus que celui ci est précisément peu recommandable côté mémoire.

Si tu as l’occasion de faire un test sur une machine librement avec un noyau 2.6 ça devrait passer sans problème.

Sinon, il faut essayer de diviser ton processus lancé par la vmm en plusieurs threads…

merci! M’a envoyé ça au département de IT. Car je peux pas rien installé :), je suis pour l’applicatif seulement.

v_atekator c koi la vmm dont tu parle plus haut (g un vieu noyau moi ossi :stuck_out_tongue: )

LA vmm a été relookée en plein de la série des noyaux 2.4, et elle est terriblement bogguée pour les noyaux 2.4.7 -> 2.4.12.
Résultats, l’allocation n’est pas toujours optimale, et ça swape jusqu’au terrible Kill 0MEM …

Mais a priori d’après les liens qui ont été donnés ça ne suffira pas à tout corriger. Il faudrait utiliser plusieurs threads. La machine java le permet et ça marche beaucoup mieux avec les noyaux 2.6 et NPTL