gpt4 book ai didi

java - 程序正在根据 Netbeans 运行,但没有任何进展,并且 java.exe 几乎不使用 CPU

转载 作者:行者123 更新时间:2023-12-02 07:38:33 26 4
gpt4 key购买 nike

我是这个网站的新手,所以我希望我不会违反这里的任何不成文规则...;-)

我为旅行商问题编写了一个启发式程序,它首先创建一个最小生成树,将其扩展以创建欧拉图,然后从该欧拉图导出哈密顿圆。

该程序对于最多约 3700 个顶点的图运行得非常好(尽管这需要一些时间,在我的笔记本电脑上大约需要三个小时),但现在当我尝试求解约 4300 个顶点的图时似乎遇到了麻烦。

MST 一如既往地创建,但在创建 Euler-Tour 时的某个时刻,CPU 似乎在我的程序中“失去了兴趣”。根据 Windows 任务管理器,java.exe 进程在解决较小的图形时使用了大约 25% 的 CPU(四个核心之一),但现在已降至 0 - 1%。根据 Netbeans IDE,该程序仍在运行,但我不确定如何处理这些信息。

也许我必须克服一些内存不足错误(堆空间),我通过暴力组合解决了这个问题 - 我允许项目创建 4090 MB 堆(4 GB RAM) - 以及一些更改到这里可能不相关的代码。

如果有人能给我提示可能是什么问题,我会很高兴。

问候,菲尔

最佳答案

发生这种情况可能是因为您的程序中有一个线程尚未完成。

您的线程可能还活着,因为它被发送到 sleep 状态并且从未醒来,或者可能存在死锁。我建议您使用visualvm确定是否有线程仍在运行,甚至查看程序中的哪个点从高 CPU 使用率变为低 CPU 使用率,以及一些日志记录,可能会帮助您找出确切的问题。

关于java - 程序正在根据 Netbeans 运行,但没有任何进展,并且 java.exe 几乎不使用 CPU,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17001471/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com