【发布时间】:2012-08-06 10:54:20
【问题描述】:
我开发了一个通常在 Linux 上运行的 Java 应用程序。这是一个带有 Swing 的 POJO 应用程序。性能相当不错。
现在我尝试在具有 2Gb RAM 的 Windows XP 上运行它,在一台具有相似或更高效能的机器上运行它,但性能要差得多。我观察到它使用了 100% 的 CPU。
例如:
- 创建一个非常繁重的窗口的进程,其中包含许多组件:Linux 5 秒,Windows 12。
-
使用繁重查询访问 PostgreSQL 数据库的进程(服务器和 JDBC 驱动程序相同):23 秒 Linux,Windows 43。
我也尝试了具有类似功能的虚拟化 Windows 机器,结果明显更好!
正常吗?我可以分配哪些参数来提高性能?
【问题讨论】:
-
使用的文件系统是什么?如果您的虚拟化窗口在 ext3/4 上,它可以解释为什么您的虚拟化窗口性能更好。与 linux 相比,windows+ntfs 上的文件 I/O 通常非常慢。
标签: java windows linux performance