我正致力于在测试环境中设置一个新的服务器,几乎所有的东西都能工作,但是Java似乎不能创建一个新的进程。该体系结构的简短版本: Windows 2003,IIS6,ColdFusion 8.0.1 MultiServer和JRun,一切都是64位*。
ColdFusion请求调用一些将R(统计包)作为本机进程运行的Java代码,捕获生成的stdout/stderr,并对其进行一些额外的工作。Java代码似乎没有启动R,尽管没有抛出异常。它运行于所有东西(通过捕获stdout/stderr/exitcode),但它似乎没有调用R可执行文件,stdout/stderr中没有任何内容,Process.exitValue()返回128。
我把R从方程中取出来,只想让代码返回"cmd.exe /c dir“的输出,没有什么变化-- exitValue()仍然返回128。(*我使用的是R2.10.1,它只有32位,但由于我甚至不能运行cmd.exe,所以我认为这与此无关。)
我也认为我已经排除了访问/许可的问题。ColdFusion使用的ColdFusion设置为作为NetworkService运行,但我甚至尝试将标识设置为域管理员,但没有帮助。
我几乎把它发到了StackOverflow上(如果我最终被重定向到那里,也不会被冒犯),但是这个完全相同的代码可以在其他非常相似的环境中工作,这是我们系统中唯一不能在新服务器上工作的部分。
在其他环境中这样做是可行的:
所以我想我的问题如下:
发布于 2011-05-31 20:08:52
因此,我们“解决”了这个问题,杀死了大量的JRun进程。我们认为这个问题与这里描述的问题密切相关:http://www.arcanadev.com/support/kb/K00000329.aspx,因为试图调用java的exec的过程没有可用的桌面堆空间或内存。很奇怪。
其他正确工作的服务器只需同时执行较少的JRun实例即可。因此,我们认为目前的选择是:(1)运行较少的JRun实例;(2)遵循链接文章的建议,以增加可用的桌面堆空间;或(3)升级到2008+。
https://serverfault.com/questions/270657
复制相似问题