在远程服务器上运行Cygwin

时间:2018-04-08 04:42:54

标签: java memory cygwin heap remote-server

我想在 Cygwin 上运行一个java程序。该代码将两个非常大的文件作为输入。当我试图在Cygwin上运行程序时,我得到了以下信息:

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
        at code_name.main(code_name.java:52)

我试图增加堆(java -Xms1024m -Xmx2048m javafile inputfile1 inputfile2),但它仍然没有用!

是否解决了在内存较大的远程服务器上运行代码的问题?如果是,如何在Cygwin上定义服务器目录?

请注意,我使用的是Windows,而我的机器是64位

1 个答案:

答案 0 :(得分:0)

首先,应用程序使用太多内存并不是Java的错。而且这也不是Cygwin的错。

最有可能的是,它是以下之一:

  • 应用程序使用内存效率低下;例如将文件整体加载到内存中。

  • 应用程序存在内存泄漏

  • 问题本身太大,无法用2GB堆来解决。

  

是否解决了在内存较大的远程服务器上运行代码的问题?

可能是的,可能没有。这取决于应用程序内存不足的原因以及问题大小。它还取决于服务器的大小。

提示:你应该弄清楚为什么应用程序内存不足2GB堆。应用程序的源代码和stacktrace中会有一些线索。

  

如果是,如何在Cygwin上定义服务器目录?

我不知道你的意思。

我建议您只需登录远程服务器,安装cygwin,Java和其他所需的工具,然后从远程服务器的命令提示符运行该应用程序。