Azure devops 使用OpsHub迁移工具迁移到Visual Studio Online时出现Java堆空间错误

Azure devops 使用OpsHub迁移工具迁移到Visual Studio Online时出现Java堆空间错误,azure-devops,opshub,Azure Devops,Opshub,我正在尝试使用OpsHub迁移工具将源代码放到visualstudio在线上。迁移进行到一半时,进度页表示发生了错误,迁移已停止,但进程仍在继续运行(即-迁移状态表示它仍在运行,而process manager表示opshubtfsservice.exe进程仍在执行工作) 如果我单击错误消息中的超链接,它会打开一个弹出对话框,指示出现了某种Java堆空间错误。仔细观察正在运行的进程,我可以看到Java.exe进程正在使用超过2GB的RAM。我正在一台Windows7x64机器上运行迁移工具,该机

我正在尝试使用OpsHub迁移工具将源代码放到visualstudio在线上。迁移进行到一半时,进度页表示发生了错误,迁移已停止,但进程仍在继续运行(即-迁移状态表示它仍在运行,而process manager表示opshubtfsservice.exe进程仍在执行工作)

如果我单击错误消息中的超链接,它会打开一个弹出对话框,指示出现了某种Java堆空间错误。仔细观察正在运行的进程,我可以看到Java.exe进程正在使用超过2GB的RAM。我正在一台Windows7x64机器上运行迁移工具,该机器有16GB的RAM和大量的可用磁盘空间。源服务器正在运行TFS 2013

我现在已经运行了几次该工具,并且在迁移过程中的同一点上遇到了相同的问题(xxxx/yyyy Chageset/传递的标签)。它似乎没有达到xxxx+1/yyyy,但也许我只需要让它运行更长的时间,因为它可能会占用某种大型变更集


关于如何或是否有可能通过此错误的任何建议?我是应该关心它,还是继续下去,看看如果我让进程继续下去会发生什么?

默认情况下,迁移实用程序仅限于使用2GB内存

请按照以下步骤操作以允许它使用更多内存

1) 近距离应用

2) 转到\OpsHub Visual Studio联机迁移实用程序\opshubserver 6.0.16\bin(安装驱动器可能是:C:\Program Files)

3) 在记事本中打开service.bat。查找以下字符串“-Xmx2048m”。将-Xmx2048m替换为-Xmx4096m(或最大内存大小的相应数字)

4) 保存文件

5) 在同一文件夹中

以管理员身份运行unregisterservice.bat(这将注销OpsHub服务。请通过打开services.msc验证是否不存在“OpsHub Visual Studio Online Migration Utility”服务)

以管理员身份运行registerservice.bat(将注册OpsHub服务。通过打开services.msc进行验证,将有“自动”启动类型的“OpsHub Visual Studio Online Migration Utility”服务)

6) 打开services.msc,右键单击“OpsHub Visual Studio Online Migration Utility”,单击属性,选择启动类型“手动”,单击“应用”


7) 启动现在将使用4096m内存(4 GB)或步骤3中指定的任何数量的应用程序这似乎确实有所帮助。由于内存耗尽,我又尝试了几次失败。我现在已经将该过程设置为允许使用高达14GB的RAM。该进程仍在运行,但java.exe目前的工作集容量为13.3 GB,进程运行速度非常缓慢。我今天只完成了20个变更集,还有600个。我祈祷它会加快速度并完成,但基于当前的速度和内存使用情况,我觉得这可能是一个延伸。无法迁移我们的代码。我正在迁移的代码库相当大,但我们从1月份(6个月)开始才在现场使用TFS,我们只积累了4000多个更改集。迁移过程非常缓慢,需要几天甚至几周才能完成。假设工具内存不足时我就在那里。即使要使用14GB的RAM,进程仍然会失败,并出现与内存相关的错误。看起来我们将丢失历史记录,只需从TFS树的顶端将所有内容签入VSO即可。@Opshub:看到了吗