У мене є проблема, коли я запускаю Groovy на одній з моїх машин Linux - це займе близько 30 секунд, щоб виконати дуже просту команду:
groovy -e ""
якщо я біжу strace
на ньому, ось що я бачу, де він зупиняється і чекає:
mprotect(0x7fae284e0000, 4096, PROT_NONE) = 0
clone(child_stack=0x7fae285dfff0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x7fae285e09d0, tls=0x7fae285e0700, child_tidptr=0x7fae285e09d0) = 62660
futex(0x7fae285e09d0, FUTEX_WAIT, 62660, NULL <unfinished ...>
Чи є спосіб з'ясувати, чого він чекає і чому і як це виправити?
Я використовую Red Hat 6.3, Groovy Version: 2.2.1 JVM: 1.7.0_25 Постачальник: Корпорація Oracle ОС: Linux
А ось команда часу:
bin $ time groovy -e ""
реальні 0m22.255s користувача 0m26.875s sys 0m2.064s