`
duzc2
  • 浏览: 60771 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

开发环境Eclipse和GameServer的JVM调优

    博客分类:
  • Java
阅读更多

杜天微 2012-3-29



系统信息:    XP SP2,E6700 双核3.2G,可用内存 2.96G
           
    为了提高工作效率,本人尝试优化Eclipse和GameServer的启动参数,由于时间有限,而且这些工作是几周之前做的,很多步骤已经记不清了,所以大概简述调优思想,请大家提出意见。

Eclipse:
    下面的优化过程是在安装加密软件之前做的,当时把Eclipse启动时间从将近20秒优化到十秒以内(主观感受)。加密以后。。。仍然比以前没优化的时候快些。

1 Eclipse.ini原文:
-startup
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m

修改后如下:
-startup
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20110502
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
150M
-showsplash
org.eclipse.platform
--launcher.defaultAction
openFile
-vm
C:/Program Files/Java/jdk1.6.0_27/jre/bin/server/jvm.dll
--launcher.library
E:\DuTianwei\eclipsejee32\plugins\org.eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20110502
-startup
E:\DuTianwei\eclipsejee32\plugins\org.eclipse.equinox.launcher_1.2.0.v20110502.jar
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms200m
-Xmx824m
-Xverify:none
-Xmn60m
-XX:MaxPermSize=150m
-XX:PermSize=80m
-XX:+DisableExplicitGC
-server

原因如下:

-vm
C:/Program Files/Java/jdk1.6.0_27/jre/bin/server/jvm.dll
这里设置调用jdk中的jvm.dll,因为我机器上同时装有jre,所以默认使用的jvm是jre中的,为了后面启用Server模式,所以这里必须指定jdk的jvm

-Xms200m
指定最小堆容量200MB
因为Eclipse打开工作区后堆占用波动在150MB上下
 
按照默认40m的话,启动过程中,堆会经常不够用,每次都要申请更大,最后稳定在180左右,所以干脆让他启动就给200m加快了启动时间

-Xmx824m
最大堆容量。这个值我还真忘了,好像就是给了一个较大的值。

-Xverify:none
取消字节码验证。经过长期工作情况基本可以确定目前所有工程第三方包和Eclipse本身都没有字节码错误和安全问题,所以可以取消验证来换取类加载速度。
-Xmn60m
年轻代容量。经过一定时间的观察,发现Eden GC的频率和容量成反比、每次GC耗费的时间和容量成正比,60这个值是当时经过试验感觉比较平衡的一个数。
 
-XX:MaxPermSize=150m
最大Perm区容量。貌似当时就给了一个较大的值,约为初始PermSize的两倍。
-XX:PermSize=80m
初始Perm容量。从上图可以看到这个占用基本稳定在50左右,但是进行某些操作时,会增加,但很少有机会超过80m,为了减少jvm向系统申请新的空间的次数,这里给个80。这个值受加载类的数量影响,所以比较稳定。
-XX:+DisableExplicitGC
停用程序中明确调用System.gc()对gc执行的建议,减少gc次数,完全依靠虚拟机自己判断执行gc。
-server
使用server模式,虽然降低启动速度,但是增大了字节码编译为本地代码的比例,能提高运行效率,而且server模式的垃圾回收是和程序并行、并发执行,可以增加程序吞吐量,降低gc等待时间、提高程序运行效率。

0
0
分享到:
评论

相关推荐

    unity3d的GameServer

    当开发人员在Visual Studio中编写和调试GameServer代码时,这个进程会帮助加速开发过程,提供实时反馈。而在实际部署中,通常只使用`GameServer.exe`,不包括`vshost.exe`。 `GameServer.pdb`是程序数据库文件,...

    GameServer.cpp

    GameServer.cpp(GameServer.cpp)GameServer.cpp(GameServer.cpp)GameServer.cpp(GameServer.cpp)GameServer.cpp(GameServer.cpp)GameServer.cpp(GameServer.cpp)GameServer.cpp(GameServer.cpp)

    GameServer-master 游戏服务框架新手学习

    `GameServer-master`是一个专为新手设计的游戏服务框架,旨在帮助初学者快速理解和掌握游戏服务器的开发技术。下面将详细探讨这个框架中的关键知识点。 一、游戏服务器的基本架构 游戏服务器通常采用分层或模块化的...

    奇迹服务器 GAMESERVER 扩展 E 代码

    在游戏服务器的运行过程中,GameServer.dll起到了连接游戏客户端和服务器数据库的关键作用。 接着,"GameServer.e"文件可能是E语言(一种特定于游戏服务器的编程语言)编写的源代码文件,或者是E语言的编译结果。E...

    gameServer

    【游戏服务器(gameServer)详解】 游戏服务器是游戏运行的核心组成部分,它负责处理玩家的交互、游戏逻辑、网络通信以及数据库交互等关键任务。在这个项目中,我们可以看到一系列的源文件,它们共同构建了一个基于...

    奇迹GAMESERVER源代码

    《奇迹GAMESERVER源代码》是一份用于构建和管理网络游戏服务器的重要资源,尤其对于那些对“奇迹”游戏系列有深入研究或开发需求的开发者来说,它具有极高的价值。源代码是软件开发的基础,它揭示了游戏服务器运行的...

    GameServer_muonline_源码

    【标题】"GameServer_muonline_源码"指的是一个基于MU Online游戏的服务器源代码,这个源代码可能包含了实现游戏服务器核心功能的各种模块和组件。MU Online是一款多人在线角色扮演游戏(MMORPG),其服务器端的代码...

    Tools:GameServer环境搭建工具包

    ToolsGameServer环境搭建工具包apache-tomcat-7.0.57tomcat程序,需要做如下修改:conf/server.xml中添加指向GameServer的Context标签conf/context.xml 中添加数据源conf/web.xml添加数据源生命apache-mina-2.0.9-...

    GameServer 1.00.02 (CHS) + Map_muonline_

    《GameServer 1.00.02 (CHS) + Map_muonline_》是一款针对网络游戏《MU Online》的游戏服务器软件。...对于想要运营《MU Online》服务器的个人或团队,理解和掌握GameServer的运作原理及Map文件的管理至关重要。

    网页游戏烈火战神GAMESERVER源代码

    网页游戏烈火战神GAMESERVER游戏主程序源代码 开发环境C++ 7.10 其他不多说。

    GameServer 97d Final_MU_

    《GameServer 97d Final_MU_》是一款专门针对网络游戏MU(魔灵)的服务器端软件,由Source开发并最终版本为97d。这个压缩包包含了运行MU游戏服务器所需的所有核心组件和资源,使得管理员可以搭建并管理自己的游戏...

    wangluochuanshu.rar_gameserver

    本文将深入探讨网络传输在游戏开发中的应用,特别是针对"Gameserver"这一标签,我们将详细解析游戏服务器和游戏客户端的构建与交互。 首先,游戏服务器是整个游戏运行的中枢,它负责处理游戏世界的逻辑、玩家交互、...

    GameServer97d-Source_muonline_

    对于想学习游戏服务器开发的程序员,GameServer97d-Source提供了实际案例来研究服务器架构和流程。通过阅读和分析这些代码,可以了解如何构建一个稳定、高性能的游戏服务器,并且可以根据自己的需求进行定制化开发。...

    GameServer_Modulus_muonline_

    《MuOnline游戏服务器模块——SimpleModulus详解》 在网络游戏领域,服务器的稳定性...在设计和实现上,SimpleModulus遵循了模块化、复用性和可扩展的原则,这都是IT行业中开发高效、可靠的软件系统所不可或缺的要素。

    GameServer_muonline_

    RaklionSelupan.cpp和RaklionBattleUserMng.cpp涉及的是Raklion活动,这是一个特定的游戏模式,可能包含PVP(玩家对战)或PVE(玩家对环境)元素。RaklionSelupan可能涉及到活动的触发和选择机制,而...

    java猜拳游戏GameServer

    Java猜拳游戏GameServer是一个基于Java编程语言实现的娱乐项目,旨在为用户在忙碌的工作之余提供轻松的游戏体验。这款游戏的特点是支持多人在线对战,即"联机"功能,允许玩家通过网络与其他玩家进行实时的猜拳游戏。...

    GameServer go语言版本.zip

    1. 部署:Go语言的可执行文件跨平台,可以方便地在多种环境中部署。 2. 监控:利用Prometheus、Grafana等工具监控服务器性能,及时发现并解决问题。 总结,Go语言凭借其优秀的并发处理能力、简洁的语法和强大的...

    GameServer_expedition_Mionline_

    《GameServer_expedition_Mionline_》是一个与Mu Online探险相关的游戏服务器模块,主要涉及的是游戏中的探险任务系统。这个模块可能包含了处理玩家查询、执行探险任务、管理战斗用户以及商店交易等一系列功能。 ...

    基于Java Netty 实现的多人联机游戏(多人对战)的客户端和服务器端-gameServer.zip

    Java Netty 是一个高性能、异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。在这个项目中,“基于Java Netty 实现的多人联机游戏(多人对战)的客户端和服务器端-gameServer.zip” ...

    GameServer_GameServerSource_muonline_

    在IT行业中,游戏服务器的开发是至关重要的环节,它决定了游戏的稳定性和玩家体验。本篇将深入探讨“GameServer(GameServerSource_muonline_)”中涉及的核心知识点,特别是围绕“MuOnline”游戏的Eldorado系统源码...

Global site tag (gtag.js) - Google Analytics