我在我的 debian 服务器上安装了 openfire。
我想知道openfire java内存是否应该小于服务器内存?
例如,我有一台 256 MB RAM 的服务器,现在我可以拥有超过 256 MB RAM 的 openfire java 内存,或者它应该小于 256。
请帮忙
谢谢, 潘卡伊
我在我的 debian 服务器上安装了 openfire。
我想知道openfire java内存是否应该小于服务器内存?
例如,我有一台 256 MB RAM 的服务器,现在我可以拥有超过 256 MB RAM 的 openfire java 内存,或者它应该小于 256。
请帮忙
谢谢, 潘卡伊
不要分配太多以至于进入交换。分配足够的内存以使应用程序不会耗尽内存。除非你有很多活动,否则进一步的调整可能不会很相关。
除此之外,您必须在将内存分配给 Java(我相信默认的垃圾收集器是非增量的,因此 JVM 的更多内存将意味着更少的频率,但更长的暂停)或磁盘缓存(更好的 IO如果您的工作集适合缓存,则性能)。
我相信你会发现如果你在系统上将内存设置得太高,JVM 将无法启动(例如“无法为对象堆保留足够的空间”)
您打算拥有多少用户?如果只是几个,openfire 应该可以在 128MB 左右运行。如果您计划在任何时候有十多个活动,您真的应该考虑在您的服务器中获得更多内存。如果您计划在同一台服务器上运行一个数据库,则更是如此。您不想在交换内存中运行的服务器上运行 Openfire。
另一件事 - Debian 附带的 openfire 版本可能真的很旧。获取最新版本,或至少 3.5。
通常,在调整 JVM 时,最好将其限制保持在系统中物理内存的数量以下。否则,当 JVM 开始占用所有内存时,您很可能会换出其他系统进程。
Openfire 非常渴望 Java,但不要让它进入交换状态。它会从字面上爬行。
如果我是你,我会添加更多 RAM,Java 应用程序服务器上总共 256RAM 并不常见(除非它是真正轻量级的东西,而 Openfire 不是)。