我在我的debian服务器上安装了openfire。
我想知道openfire的java内存是否应该小于服务器内存?
例如,我有一个256 MB RAM的服务器,现在我可以有超过256 MB RAM的openfire Java内存,或者它应该小于256。
请帮忙
谢谢Pankaj
我相信你会发现,如果你的系统的内存设置太高,JVM将无法启动(比如“无法为对象堆预留足够的空间”)
你计划拥有多less用户? 如果只是几个,openfire应该运行在128MB左右。 如果你打算一次有十几个活动,你应该考虑在你的服务器上获得更多的内存。 如果您打算在同一台服务器上运行数据库,则这是非常正确的。 您不想在交换内存中运行的服务器上运行Openfire。
另一件事 – 与Debian一起发行的openfire版本可能真的很老了。 获取最新版本,或至less3.5。
不要分配太多以进入交换。 足够的分配,以便应用程序不会耗尽内存。 除非你有很多的活动,否则进一步的调整可能不会很有意义。
除此之外,你将不得不在内存投入到Java(我相信默认的垃圾收集器是非增量的,所以更多的JVM内存将意味着更less的频率,但更长的暂停)或磁盘caching(更好的IO性能,如果你的工作集适合caching)。
一般来说,在调整JVM时,最好将其限制保持在系统中物理内存的数量以下。 否则,当JVM开始占用所有内存时,其他系统进程将很有可能被换出。
Openfire是非常饿的java,但不要让它进入交换。 它会逐字爬行。
如果我是你的话,我会添加更多的RAM,在Java应用程序服务器上总共256RAM是不常见的(除非它是一种非常轻量级的,Openfire不是)。