Почему я получаю это исключение java.io.exception «Не удается выделить память» от Хадсона? - PullRequest
1 голос
/ 13 июля 2010

Вот то, что я считаю соответствующим сообщением об ошибке:

Caused by: java.io.IOException: Cannot run program "/usr/bin/git" (in directory "/var/lib/hudson/jobs/Goals/workspace"): java.io.IOException: error=12, Cannot allocate memory
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:474)
    at hudson.Proc$LocalProc.<init>(Proc.java:192)
    at hudson.Proc$LocalProc.<init>(Proc.java:164)
    at hudson.Launcher$LocalLauncher.launch(Launcher.java:638)
    at hudson.Launcher$ProcStarter.start(Launcher.java:273)
    at hudson.Launcher$ProcStarter.join(Launcher.java:280)
    at hudson.plugins.git.GitAPI.launchCommandIn(GitAPI.java:319)
    ... 15 more
Caused by: java.io.IOException: java.io.IOException: error=12, Cannot allocate memory
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:164)
    at java.lang.ProcessImpl.start(ProcessImpl.java:81)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:467)
    ... 21 more

Полный вывод Хадсона также можно увидеть здесь: http://hudson.pastebin.com/KLSNrY1D

Есть идеи?Как я могу предотвратить это?Я не Java-разработчик, поэтому я не знаю много о том, что здесь происходит.Я должен перезапустить Хадсон полностью, чтобы исправить проблему, но, очевидно, это не лучший ответ.

Ответы [ 3 ]

3 голосов
/ 13 июля 2010

Похоже, вы исчерпали пространство подкачки на вашем боксе.

В конечном итоге java.lang.ProcessBuilder.start () должен сводиться к системному вызову fork или clone в Unix-подобной ОС, чтобы создатьновый процесс.Это занимает место подкачки.И вам, кажется, не хватает.Это больше относится к области системных администраторов Unix, а не к Java.

2 голосов
/ 07 июля 2011

Для меня:

echo 0 > /proc/sys/vm/overcommit_memory

решил проблему.

1 голос
/ 13 июля 2010

Сколько внешних программ вы запускаете одновременно? Сколько строителей в Хадсоне и т. Д.? Что говорит «свободный», когда это происходит?

Возможно, вы просто столкнулись с тем, что системе не хватило памяти, доступной для процесса hudson с детьми.

...