我运行在同一台计算机上,一个java游戏服务器和一个游戏客户端。
游戏客户端
java -Xms512m -Xmx1024m -cp etc etc
和游戏服务器
java -Xmx1024M -Xms1024M -jar etc etc
计算机特性:
问题:游戏客户体验严重滞后.在游戏-服务器也是连接通过局域网,另一个没有滞后问题的玩家!
java虚拟机是否存在滞后的问题?我是在使用机器的一个实例还是两个实例?
我可以设置一些不同的东西来优化性能吗?
我认为这个问题与这样一个事实有关:一台机器正在运行,而它的最大内存对这两个实例来说都不够,但我不知道如何解决这个问题。
编辑:没有应用程序耗尽内存。
解决方案__:
1:更新的Java版本:
java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b05)
Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01, mixed mode)至
java version "1.7.0_15"
Java(TM) SE Runtime Environment (build 1.7.0_15-b03)
Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)2:为了最小化需求,更改了服务器属性,这似乎是主要原因。
3:增加内存:使用java -Xms1024m -Xmx1024m -cp etc etc的游戏客户机和游戏服务器java -Xmx2048M -Xms2048M -jar etc etc服务器现在运行在700 at左右。
发布于 2013-03-03 01:15:42
java虚拟机是否存在滞后的问题?
有可能。你还没有拿出足够的证据来确定到底是怎么回事。
令人费解的是,在另一台机器上运行的客户端并不落后。
我是在使用机器的一个实例还是两个实例?
您正在运行两个java副本,那么您将有两个JVM。
我可以设置一些不同的东西来优化性能吗?
答案可能是肯定的。但是你没有提供足够的信息让我们提出可靠的建议。
造成落后的原因有很多,包括:
如果您要了解问题的根源,则需要进行一些监视,以确定上述哪一个是可能的问题。使用任务管理器或其他工具检查系统是否受CPU限制、内存不足、做大量磁盘或网络事务等。使用VisualVM查看JVM内部发生了什么。
或者,你可以尝试修复一些完全不科学的“旋钮旋转”:
如果我知道你现在在用什么,我可能会给出更多的具体建议.
发布于 2017-03-08 11:49:25
您在同一台计算机上使用两个java应用程序,导致两个JVM运行。对于具有8GB RAM的64位系统,建议使用最大2GB(物理内存的25%或最多2GB的空闲物理内存的75% )来提高JVM的性能。
您可能必须考虑JVM大小的调整。为了获得更好的性能,Xms和Xmx大小可以与最大尺寸括号保持不变。
将内存大小分配给堆并不是唯一需要考虑的领域。JVM使用更多的内存,而不仅仅是堆。其他内存区域,如线程堆栈、方法区域、类加载器子系统、本机方法栈等。当两个应用程序(游戏服务器、游戏客户端)都在运行时,两种应用程序之间的内存管理都有可能出现问题,导致速度慢。在这种情况下,客户端应用程序可以部署在另一个核心,如果可用的话。
https://stackoverflow.com/questions/15180475
复制相似问题