【发布时间】:2014-08-06 23:27:06
【问题描述】:
我们正在将我们的服务器从 32 位 Windows 2003 升级到 64 位 Windows 2008,在我们选择 32 位和 64 位版本的升级服务器应用程序之前,我正在做一些尽职调查.
我们目前有一个 Tomcat 服务器,其中包含许多使用 Runtime.getRuntime().exec() 启动 perl 脚本(在 Windows 批处理文件中)的 Web 应用程序。 perl 脚本反过来启动 MS Office 以创建和操作对象。
据我所知,大多数人(包括 Microsoft)建议安装 32 位 Office,除非您有充分的理由安装 64 位版本(在这一点上,我不认为我们做)。
看起来这可能意味着我必须运行 32 位 Perl 才能创建 32 位 Office 对象。
问题是,这是否也意味着我需要在 32 位 Java 上运行 Tomcat?如果是这样,我还有第二个问题,我是否可以在不同的 JVM 中安装多个 Tomcat 实例,以利用 64 位操作系统中的额外内存?
如果可以从 64 位 Java 中启动 32 位进程,是否有什么特殊技巧,或者仅在 cmd 命令的路径中指定 WOW64 就足够了?
【问题讨论】:
-
您可以在 64 位环境中启动 32 位进程,但正如您所提到的,您可能无法使用额外的内存,您可以使用
Runtime.getRuntime().exec()运行 32 位或 64 位应用程序,64 位 Windows 中的 32 位进程在任务管理器中将有一个 *32 反对它的名称.. -
您不一定需要运行 32 位 Perl。我希望 64 位 Perl 能够完美地操作 32 位版本的 Office,甚至可能不需要对代码进行任何更改。
-
Harry,这是我想要找出的一件事。我见过一些人的帖子,他们在卸载 64 位 Perl 并安装 32 位时遇到了问题并且问题得到了解决。如果我们能够设法让一切都在 64 位上运行,那么这可能是更可取的,这就是为什么我要从 64 位 java 中启动 32 位进程(也就是说,我想运行 64 位尽可能使用 Java,即使我无法运行 64 位 Office 或 64 位 Perl)。
-
谢谢,阿南莎。我主要关心的不是单个批处理文件/perl 脚本的内存限制,而是 Tomcat 将同时运行其中几个脚本的事实,因此它们的总内存使用量可能会超过 32 位限制。
标签: java windows tomcat batch-file 32bit-64bit