我正在使用一个 NLP 库 (Stanford NER),它会java.lang.OutOfMemoryError
为罕见的输入文档引发错误。
我计划最终隔离这些文档并找出它们导致错误的原因,但这很难做到(我在 Hadoop 中运行,所以我只知道错误发生 17% 通过拆分 379/500 或类似的东西) . 作为临时解决方案,我希望能够对这个特定调用应用 CPU 和内存限制。我不确定最好的方法是什么。我的第一个想法是创建一个线程的固定线程池,并在 Future 上使用定时 get()。这至少会给我一个挂钟限制,这可能会有所帮助。
我的问题是,是否有任何方法可以通过合理的努力做得比这更好。