JVM cant carte mémoire réservée lors de l'exécution dans des conteneurs Docker

Je ne peux pas semblent fonctionner java dans un conteneur Docker sur mon serveur. Même lors de l'émission java -version, j'obtiens l'erreur suivante.

root@86088d679103:/# java -version
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x0000035ce1000000, 2555904, 1) failed; error='Operation not permitted' (errno=1)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 2555904 bytes for committing reserved memory.
# An error report file with more information is saved as:
# //hs_err_pid17.log

Selon ce, java ne pouvez pas mapper 2,5 Mo d'espace de mémoire réservée? Cela ne semble pas juste...

J'ai le log complet inclus à la fin, mais pour le bien de quelques informations supplémentaires, mon système de reporting suivantes:

root@86088d679103:/# uname -m
x86_64
root@86088d679103:/# free -mh
             total       used       free     shared    buffers     cached
Mem:           15G       9.7G       5.8G       912K       148M       8.9G
-/+ buffers/cache:       639M        14G
Swap:          15G         0B        15G

Quelqu'un peut me pointer dans la bonne direction?

Log Complet: https://gist.github.com/KayoticSully/e206c44681ce261674ba

Mise à jour

@Yobert cloué le problème et je vous suggère fortement de lire à travers les commentaires et des log de chat. Bonne info.

Pour ceux qui veulent la dernière commande que fait Java de travail: setfattr -n user.pax.flags -v "mr" /usr/bin/java

Si votre distribution n'a pas setfattr installé par défaut, il devrait être inclus dans le paquet installable attr par paceman, apt-get, etc.

OriginalL'auteur KayoticSully | 2014-12-03