Ошибка Failed to reserve shared memory (errno = 22)

Автор okplayback, 02 августа 2014, 12:14:50

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

okplayback

Всем здрасте) Вобщем есть ВДС Debian x64, 2Гб оперативы

java -version
java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)

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

Запускаю сервер игровой lineage:

# !/bin/sh
err=1
until [ $err == 0 ];
do
   [ -f log/java0.log.0 ] && mv log/java0.log.0 "log/z_`date +%Y-%m-%d_%H-%M-%S`_java.log"
   [ -f log/game.log ] && mv log/game.log "log/z_`date +%Y-%m-%d_%H-%M-%S`_game.log"
   [ -f log/stdout.log ] && mv log/stdout.log "log/z_`date +%Y-%m-%d_%H-%M-%S`_stdout.log"
   [ -f log/give_items/EnterWorld.txt ] && mv log/give_items/EnterWorld.txt "log/give_items/z_`date +%Y-%m-%d_%H-%M-%S`_EnterWorld.txt"
   [ -f log/give_items/GiveItem.txt ] && mv log/give_items/GiveItem.txt "log/give_items/z_`date +%Y-%m-%d_%H-%M-%S`_GiveItem.txt"
   java -Dfile.encoding=UTF-8 -server -XX:+HeapDumpOnOutOfMemoryError -XX:AutoBoxCacheMax=10000 -XX:+RelaxAccessControlCheck -XX:+UseFastAccessorMethods -XX:+AlwaysPreTouch -XX:+UseLargePages -XX:+UseParNewGC -XX:+CMSClassUnloadingEnabled -XX:+ClassUnloading -XX:MaxGCPauseMillis=25 -XX:+UseConcMarkSweepGC -XX:ParallelGCThreads=8 -XX:+CMSParallelRemarkEnabled -XX:+UseAdaptiveGCBoundary -XX:MaxTenuringThreshold=6 -XX:+AggressiveOpts -XX:+UseStringCache -XX:+OptimizeStringConcat -XX:CompileThreshold=1000 -XX:PermSize=96m -XX:MaxPermSize=96m -XX:SurvivorRatio=4 -XX:TargetSurvivorRatio=90 -XX:MaxNewSize=144m -XX:NewSize=144m -XX:+UseBiasedLocking -Xmn128m -Xms256m -Xmx512m -Xss32m -Djava.net.preferIPv4Stack=true  -cp ../libs/*:./extensions/* ru.catssoftware.gameserver.L2GameServer > log/stdout.log 2>&1
   err=$?
   sleep 10;
done

В логах выдает ошибку:
Java HotSpot(TM) 64-Bit Server VM warning: Failed to reserve shared memory (errno = 22).

Что делать не знаю (



okplayback



okplayback

#3
Это значит мне надо поставить другую версию ява? oracle или openjdk? мне нужна конкретно 7u21 у меня уже стоит oracle

okplayback

Подскажите плиз конкретно какие меры предпринять, я дно в этих вопросах ((


okplayback

файлы /proc/meminfo  и /proc/sys/vm/hugetlb_shm_group у меня пустые и весят 0 байт, а в limit.conf я добавил строки:
root hard memlock 6291456
root soft memlock 6291456
ulimit -a выдает что locked memory 6291456, а вот проблему это не решает.

okplayback

поставил в /etc/sysctl.conf строку

vm.nr_hugepages = 1024

теперь ошибка не выскакивает, но сервер вообще не запускается, виснет всё, и ошибок не выдает в логах..

просто в конце в какой то момент в логах пишет killed и дальше новый лог файл создается, серв заного пытается запуститься и все равно опять killed циклично 

okplayback

а если сервер в принципе работает с этой ошибкой,  какие могут быть последствия если забить на нее и оставить как есть?