2017-10-20 29 views
0

je continué à obtenir l'erreur suivante dans catalina.out après environ 5 - 6 heures de marche ma demande:erreur mmap natif

There is insufficient memory for the Java Runtime Environment to continue. 

Native memory allocation (mmap) failed to map 503226 bytes for committing reserved memory. 

An error report file with more information is saved as: 

/tmp/hs_err_pid1.log 

J'utilise tomcat 8 en cours d'exécution dans l'instance de Linux AWS (usage général) . Il n'y a qu'une seule application en cours d'exécution, aucune autre application. Quel est le problème?

C'est tout le pid log file

grâce

Répondre

0

Cela se produit lorsque le système d'exploitation dit la mémoire virtuelle disponible lorsque plus tard cette mémoire ne peut pas être attribuée.

Je m'assurerais que vous avez beaucoup d'espace de swap et votre JVM (qui est beaucoup plus que votre taille de tas) est assez petite pour s'adapter confortablement à l'intérieur de cette instance.

EDIT: Je peux voir

mémoire: Page 4k, 4047964k physique (101228k gratuit), échanger 0K (0K gratuit)

Cela signifie que votre machine est seulement 4 Go sans échange et c'était presque hors de la mémoire. Vous devez soit réduire l'utilisation de votre mémoire (même si ce n'est pas évident pour vous) ou utiliser plus de mémoire, du moins jusqu'à ce que vous trouviez comment réduire votre consommation.

+0

Vous utilisez activement la plus grande partie de votre mémoire (3,8 Go), donc ajouter de l'espace de swap vous aidera un peu, peut-être juste assez. –

+0

@Kayaman Utilisez une instance plus grande. 4 Go n'est pas beaucoup de mémoire ces jours-ci https://www.solid-run.com/product/cubox-i4x4/ –

+0

étrange, CMIIW, taille de tas (si non configuré) sera par défaut à 1 Go, correct? selon le journal, la mémoire de 3,8 Go a été utilisé, si le tas n'a pris que 1 Go, qui a pris le 2,8 Go? quelle partie de la JVM l'a prise? ou est-ce un autre processus en dehors de la JVM? – musicsquad