JVM non riesce ad allocare XMS sotto Suse SLES10 X64 in esecuzione su VMWare ESX

StackOverflow https://stackoverflow.com/questions/3566370

  •  01-10-2019
  •  | 
  •  

Domanda

Sto cercando di allocare RAM con XMS = xmx su un x64 SLES10 esecuzione in VMware.

Quando si interrompe la JVM è gettato il seguente errore:

Java HotSpot(TM) 64-Bit Server VM warning: Failed to reserve shared memory (errno = 12).

The RAM of the VM is 8 GB and they are reserved.

La VM vede da 8 GB e può essere assegnato durante il runtime tramite l'impostazione XMX.

In un'altra SLES10 virtuale con 16 GB di RAM riservati tramite VMWare Non ho un problema con l'allocazione di RAM, anche quando si impostano i hugepages e shmax solo da eco funziona benissimo.

  

echo 8000> / proc / sys / vm / nr_hugepages

     

echo 8589934592> / proc / sys / kernel / shmmax

Utilizzando l'eco comandi sull'altro SLES10 mostrare alcun effetto in / proc / meminfo affatto.

Qui sono i miei file di configurazione prima su è lo SLES10 dove XMS non riesce ad allocare.

 # more /apps/liferay-portal-5.2.5/tomcat-5.5.27/bin/setenv.sh
JAVA_HOME=/apps/java5
JRE_HOME=/apps/java5
JAVA_OPTS="$JAVA_OPTS -Xms3G -Xmx3G -XX:NewRatio=3 -XX:MaxPermSize=256m -XX:SurvivorRatio=20 -Dsun.rmi.dgc.client.gcInterval=1800000 -Dsun.rmi.dgc.server.gcInterval=1800000 -XX:+UsePa
rallelGC -XX:ParallelGCThreads=4 -XX:+UseLargePages -Xloggc:/apps/gc.log -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCApplicationConcurrentTime -XX:+PrintGC -XX:+PrintGCTimeStamps -
XX:+PrintGCDetails -Dfile.encoding=UTF8 -Duser.timezone=GMT+2 -Djava.security.auth.login.config=$CATALINA_HOME/conf/jaas.config -Dorg.apache.catalina.loader.WebappClassLoader.ENABLE_C
LEAR_REFERENCES=false"


more /etc/sysctl.conf
kernel.shmmax=7516192768
vm.nr_hugepages=3072
vm.hugetlb_shm_group=1000

more /etc/securtiy/limits.conf

#                 
#

#*               soft    core            0
#*               hard    rss             10000
#@student        hard    nproc           20
#@faculty        soft    nproc           20
#@faculty        hard    nproc           50
#ftp             hard    nproc           0
#@student        -       maxlogins       4
*                soft    memlock         unlimited
*                hard    memlock         unlimited
tomcat           soft    memlock         6291456
tomcat           hard    memlock         6291456
# End of file


 # cat /proc/meminfo
MemTotal:      7928752 kB
MemFree:        737004 kB
Buffers:             0 kB
Cached:         417368 kB
SwapCached:          0 kB
Active:         487428 kB
Inactive:       324072 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:      7928752 kB
LowFree:        737004 kB
SwapTotal:     2097144 kB
SwapFree:      2097020 kB
Dirty:               0 kB
Writeback:           0 kB
AnonPages:      397208 kB
Mapped:          72180 kB
Slab:            62136 kB
CommitLimit:   2915792 kB
Committed_AS:   748576 kB
PageTables:       3292 kB
VmallocTotal: 34359738367 kB
VmallocUsed:      7028 kB
VmallocChunk: 34359731271 kB
HugePages_Total:  3072
HugePages_Free:   2305
HugePages_Rsvd:    897
Hugepagesize:     2048 kB

# ipcs -l

Shared Memory Limits --------
max number of segments = 4096
max seg size (kbytes) = 7340032
max total shared memory (kbytes) = 4611686018427386880
min seg size (bytes) = 1

Semaphore Limits --------
max number of arrays = 1024
max semaphores per array = 250
max semaphores system wide = 256000
max ops per semop call = 32
semaphore max value = 32767

Messages: Limits --------
max queues system wide = 16
max size of message (bytes) = 65536
default max size of queue (bytes) = 65536

# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) unlimited
pending signals                 (-i) 65536
max locked memory       (kbytes, -l) unlimited
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 65536
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

Al secondo VM sembra che questo

cat /proc/meminfo
MemTotal:     16190448 kB
MemFree:        176812 kB
Buffers:         52752 kB
Cached:         755256 kB
SwapCached:          0 kB
Active:         713808 kB
Inactive:       425300 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:     16190448 kB
LowFree:        176812 kB
SwapTotal:    35658896 kB
SwapFree:     35658796 kB
Dirty:             932 kB
Writeback:           0 kB
AnonPages:      333620 kB
Mapped:          79120 kB
Slab:            37492 kB
CommitLimit:  36356744 kB
Committed_AS:   646284 kB
PageTables:       3584 kB
VmallocTotal: 34359738367 kB
VmallocUsed:     23500 kB
VmallocChunk: 34359713907 kB
HugePages_Total:  7224
HugePages_Free:   6654
HugePages_Rsvd:    582
Hugepagesize:     2048 kB

JAVA_OPTS="$JAVA_OPTS -Xms2G -Xmx2G -XX:NewRatio=3 -XX:MaxPermSize=256m -XX:SurvivorRatio=20 -Dsun.rmi.dgc.client.gcInterval=1800000 -Dsun.rmi.dgc.server.gcI
nterval=1800000 -XX:+UseParallelGC -XX:ParallelGCThreads=2 -XX:+UseLargePages -Xloggc:/apps/gc.log -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCApplication
ConcurrentTime -XX:+PrintGC -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Dfile.encoding=UTF8 -Duser.timezone=GMT+2 -Djava.security.auth.login.config=$CATALINA
_HOME/conf/jaas.config -Dorg.apache.catalina.loader.WebappClassLoader.ENABLE_CLEAR_REFERENCES=false"

hepide01pep1:~ # ipcs -l

------ Shared Memory Limits --------
max number of segments = 4096
max seg size (kbytes) = 8388608
max total shared memory (kbytes) = 4611686018427386880
min seg size (bytes) = 1

------ Semaphore Limits --------
max number of arrays = 1024
max semaphores per array = 250
max semaphores system wide = 256000
max ops per semop call = 32
semaphore max value = 32767

------ Messages: Limits --------
max queues system wide = 16
max size of message (bytes) = 65536
default max size of queue (bytes) = 65536


È stato utile?

Soluzione

Ho inciampato con questo problema (errno 12) su CentOS 5.9 e utilizzando cumuli 16G.

Dopo aver verificato duro / serrature di memoria analcoliche erano illimitata in /etc/security/limits.conf e ancora ottenere l'errore, ho iniziato a correre java -version come suggerito da Anil, con tutti i miei JAVA_OPTS intatta.

ho trovato che la rimozione del "XX: + UseLargePages". Opzione si libera di tale errore

Spero che questo ti aiuta!

Altri suggerimenti

Hai provato con la dimensione inferiore del mucchio .. può essere con 2gig. Si può solo fare una semplice prova con java -version -Xmx3G .let sapere come va e ciò che sputare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top