![Java 的 Linux 发行版](https://linux22.com/image/1392687/Java%20%E7%9A%84%20Linux%20%E5%8F%91%E8%A1%8C%E7%89%88%20.png)
我正在设置一个将运行多个 Java 程序并需要 Java 7 的服务器。
我更熟悉 Debian,但有人建议 CentOS/RHEL 对 64 位 Java 7 有更好的支持。
不同的 Linux 发行版之间的 Java 性能有明显差异吗?
从 Debian 过渡到 CentOS 是否有任何值得改进的地方?
感谢您的任何帮助。
答案1
不是真的。如果是我的话,我会使用 Centos,作为 RHEL 的克隆版本,RHEL 的卖点之一是,作为面向服务器的操作系统,RHEL 专注于稳定性和对服务器级机器中深奥硬件的支持,这就是 Redhat 迎合其客户群的方式。
这些都与 Java 应用服务器无关。在调优方面,您希望 JVM 拥有足够多的内存来满足应用的需要,否则您希望运行尽可能少的其他程序。
最终,您要构建一个专用于所需 jvm 的应用服务器,因此比发行版更重要的是通过分析和调优您正在运行的 jvm,对应用程序有深入的了解。毋庸置疑,服务器需要在内存方面获得适当的资源,这样机器就不会发生交换。
答案2
根据我的经验,Java 性能并没有显著差异。
我一直在使用带有 Java7 的 centos 和 debian/ubuntu 机器人,通常性能的主要问题是应用程序的配置。
还要记住,调整 GC、内存分配和一些其他小东西可以显著提高性能。
总而言之,了解您的应用程序并进行相应的配置。
答案3
Centos 与 Debian 在 Java 方面的差异源于这样一个事实:Debian 在非自由许可方面默认具有非常严格的限制,因此 Oracle 许可附加到 Java,而且该软件包只能由 Oracle 分发,这导致 Debian 很难在本地获得开箱即用的功能。
尽管您可能仍必须直接从 Oracle 安装,但 RHEL 是使用纯 Oracle Java 的更好解决方案。