Назад | Перейти на главную страницу

Ошибка Glassfish v3 при запуске. «Невозможно выделить память»

В этом вопросе ясно

https://serverfault.com/questions/210275/fail-to-start-glassfish-3-1-java-io-ioexception-error-12-cannot-allocate-mem

Но в моем случае у меня 512M памяти Ubuntu 10.04 vps. Кажется, мне не нужно менять какую-либо конфигурацию. Но при запуске сервера я получил вот это исключение.

VM failed to start: java.io.IOException: Cannot run program "/usr/lib/jvm/java-6-sun-1.6.0.22/bin/java" (in directory "/home/glassfish/glassfish/domains/domain1/config"): java.io.IOException: error=12, Cannot allocate memory

Итак, я установил

<jvm-options>-Xmx512</jvm-options>

к

<jvm-options>-Xmx400</jvm-options>

Остается исключение. Что я сделал не так?

Результат бесплатно -m

             total       used       free     shared    buffers     cached
Mem:           512         43        468          0          0          0
-/+ buffers/cache:         43        468
Swap:            0          0          0

Результат cat / proc / user_beancounters

Version: 2.5
       uid  resource                     held              maxheld              barrier                limit              failcnt
   146049:  kmemsize                  2670652              5385253             51200000             51200000                    0
            lockedpages                     0                    8                 2048                 2048                    0
            privvmpages                 11134               134522               131200               262200                    4
            shmpages                      648                 1352               128000               128000                    0
            dummy                           0                    0                    0                    0                    0
            numproc                        12                   73                  500                  500                    0
            physpages                    6519                28162                    0            200000000                    0
            vmguarpages                     0                    0               512000               512000                    0
            oomguarpages                 6527                28169               512000               512000                    0
            numtcpsock                      4                   14                 4096                 4096                    0
            numflock                        0                    5                 2048                 2048                    0
            numpty                          1                    2                   32                   32                    0
            numsiginfo                      0                    3                 1024                 1024                    0
            tcpsndbuf                  159600               265744             20480000             20480000                    0
            tcprcvbuf                   65536              3590352             20480000             20480000                    0
            othersockbuf                44232                90640             20480000             20480000                    0
            dgramrcvbuf                     0                12848             10240000             10240000                    0
            numothersock                   22                   31                 2048                 2048                    0
            dcachesize                      0                    0             10240000             10240000                    0
            numfile                      1002                 1474                50000                50000                    0
            dummy                           0                    0                    0                    0                    0
            dummy                           0                    0                    0                    0                    0
            dummy                           0                    0                    0                    0                    0
            numiptent                      24                   24                 2048                 2048                    0

Спасибо

Имейте в виду, что Java требует, чтобы пространство кучи было выделено из одного непрерывного пространства памяти, поэтому ваша память может быть фрагментирована до такой степени, что процесс не может получить пространство, достаточно большое для инициализации (хотя он не будет выделять -Xmx или даже -Xms объем памяти сразу.

См. Этот пост stackoverflow для одного потенциального решения:

Как решить «java.io.IOException: error = 12, Cannot allocate memory», вызывая Runtime # exec ()?