Intermittent PC lockups when running CoreNLP server

1l5u6lss  于 2个月前  发布在  其他
关注(0)|答案(7)|浏览(38)

在Ubuntu 18.04上,当我运行CoreNLP服务器时,我遇到了间歇性的电脑死机(需要硬重置)。有几次是在启动服务器时发生的,没有其他软件在运行(例如,只是启动,没有软件调用服务器)。其他时候,服务器在非常繁重的工作负载下运行良好(例如,一个Python客户端有28个线程,每个线程都不断地向服务器发送句子进行解析)。在过去,使用早期版本的CoreNLP、Java和Ubuntu时,我没有遇到这些问题,我正在寻找一些关于可能发生的情况的想法。不幸的是,/var/log/syslog中没有条目指向故障,而且我没有找到服务器崩溃日志或核心。当崩溃发生时,电脑只是挂起几秒钟,然后重启。

我用来运行服务器的命令是...

CORENLP="/home/bjascob/Libraries/StanfordNLP/stanford-corenlp-full-2018-10-05"
java -Xmx4g -cp "$CORENLP/*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer \
    --port 50001 \
    --preload tokenize,ssplit,pos,lemma,ner,parse \
    --ner.buildEntityMentions 0 \
    --ner.applyFineGrained 0 \
    --quiet

我使用的是Oracle Java版本11.0.2 2018-10-16 LTS。
除了CoreNLP之外,我的工作站没有其他问题。它已经稳定运行了一年多,我还做了一些简单的事情,比如检查内存并关闭超线程。到目前为止,我认为这个问题出在这个软件包上。
你是否知道与死锁相关的任何问题?在这个配置中有什么想法吗?这段代码中有什么可能导致完全和立即的死锁?我对如何追踪根本原因有什么想法吗?我已经花了一些时间与这个问题斗争,现在正在寻找下一步应该尝试什么。

gab6jxml

gab6jxml1#

我不确定是什么导致了这个问题。我真的不认为我们已经很久没有对核心服务器代码进行更改了。我的第一猜测可能是这与服务器和您当前的Java版本有关。如果只是稍微降低Java版本,这个问题是否会消失?这种情况经常发生吗?

pkmbmrz7

pkmbmrz72#

例如,这个问题在Java 11.0.1中是否仍然存在?看起来你设置中最近改变的元素是Java版本。我正在运行11.0.1,从未遇到过这样的问题。

3zwtqj6y

3zwtqj6y3#

我会尝试找出如何让Oracle安装程序升级到11.0.1版本,看看是否有所帮助。至于更新的频率,它是非常随机的,这将使得测试变得困难。目前我正在尝试使用它,在过去的一个小时内它已经锁定了两次,然而我在运行解析之前已经让它运行了4-5个小时而没有问题。当我使用它的时候,通常会承受很大的负载(试图从大量的尸体中解析数百万行),但是我也看到过它在仅仅启动服务器的时候就卡住了。

mwg9r5ms

mwg9r5ms4#

这个问题从何时开始的?Java 11.0.2在1月15日发布。

m4pnthwp

m4pnthwp5#

我看到更早的版本。我会尝试回退到Java 10,如果3.9.2可以在那个版本下运行,看看会发生什么。你是在Ubuntu 18.04或其他操作系统上运行吗?

wsxa1bj1

wsxa1bj16#

在旧版本下运行,因此操作系统也可能是一个因素。

wyyhbhjk

wyyhbhjk7#

我切换回Java 8(PPA似乎只保留了LTS版本),系统运行了12小时,处理了大约400万个句子,所以看起来旧版本的Java解决了问题。不幸的是,我对此没有太多贡献来找出实际的根本原因/代码修复。

相关问题