Приложение зависает на futex_wait_queue_me () каждые пару минут - PullRequest
3 голосов
/ 21 марта 2012

Я выполняю простой скрипт в Groovy на компьютере с Ubuntu 11.10, который берет пары ключ / значение и добавляет их в карту JDBM в цикле.
Каждые ~ 3 минуты скрипт зависает на пару минут изатем возобновляется.
Когда я смотрю на монитор ресурсов, я вижу, что нет никакой активности ЦП или памяти, и процесс находится в futex_wait_queue_me().
Пожалуйста, предложите средства для преодоления этого на машине Windows, кстатиприложение работает без зависаний.
Может ли это быть проблемой ОС?(найдено много похожих тем о похожих futex_wait_queue_me() проблемах в Ubuntu0
Спасибо

Ответы [ 2 ]

4 голосов
/ 24 мая 2015

Пожалуйста, проверьте версию ядра.Я столкнулся с подобной проблемой (java и другие многопоточные приложения) на Centos6, и обновление ядра до версии 2.6.32-504.16.2.el6.x86_64 решило проблему.

См. Отчет об ошибке centos: https://bugs.centos.org/view.php?id=8703, который содержит этот указатель на объяснение проблемы: https://github.com/torvalds/linux/commit/76835b0ebf8a7fe85beb03c75121419a7dec52f0 [^]

Моя трассировка стека была:

cat /proc/23199/stack
[<ffffffff810b226a>] futex_wait_queue_me+0xba/0xf0
[<ffffffff810b33a0>] futex_wait+0x1c0/0x310
[<ffffffff810b4c91>] do_futex+0x121/0xae0
[<ffffffff810b56cb>] sys_futex+0x7b/0x170
[<ffffffff8100b072>] system_call_fastpath+0x16/0x1b
[<ffffffffffffffff>] 0xffffffffffffffff
0 голосов
/ 24 марта 2012

Для всех, кто интересовался, я использовал эти параметры при запуске Java:

-Xms16384M -Xmx16384M

Дополнительные советы по оптимизации ГХ можно найти по адресу http://randomlyrr.blogspot.it/2012/03/java-tuning-in-nutshell-part-1.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...