J'ai un problème sur mes serveurs Solaris. Lorsque je lance un processus Sun Java avec une mémoire restreinte, il faut plus de deux fois plus de ressources.Pourquoi Sun Java sur Solaris prend plus de deux fois la mémoire RSS?
Par exemple, j'ai 64 Go de mémoire sur mes serveurs. 1 est sur Linux, les autres sur Solaris. J'ai couru les mêmes logiciels sur tous les serveurs (seulement Java).
Lorsque les serveurs commencent, ils ont pris entre 400 Mo et 1,2Gb de RAM. Je lance mon processus Java (généralement entre 4 et 16go par processus Java) et je ne peux pas exécuter plus de 32 Go définis avec les valeurs Xmx et Xmx. Je suis ce genre d'erreurs:
> /java -d64 -Xms8G -Xmx8G -version
Error occurred during initialization of VM
Could not reserve enough space for object heap
Comme on peut le voir ici, je suis beaucoup de mémoire réservée et elle est faite par le processus java:
> swap -s
total: 22303112k bytes allocated + 33845592k reserved = 56148704k used, 704828k available
Dès que je les tue 1 par 1 , Je récupère mon espace réservé et pourrais en lancer d'autres. Mais en fait je ne peux pas utiliser plus de la moitié de ma mémoire.
Quelqu'un sait comment résoudre ce problème?
Merci
parfois c'est à cause d'un code mal écrit. – ghostdog74