- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我们在具有 1GB 保证 RAM 和 4GB 可突发 RAM 的 vServer 上运行依赖 Java 的 Minecraft 服务器。
我们在实际的 Minecraft 服务器旁边运行 Debian 6.0 (Squeeze) Minimal (64Bit) 和带有 php/mySQL 的 lighttpd 网络服务器。我们目前已将所有设置保持在我们的 1GB 保证 RAM 之内,但似乎我们没有以这种方式利用可突发 RAM,也不知道我们应该如何(以及是否应该这样做?)。
目前我们的服务器加载了以下字符串:
/opt/java/jre/bin/java -Xmx880M -Xms880M
-XX:+UseConcMarkSweepGC
-XX:+CMSIncrementalPacing
-XX:ParallelGCThreads=2
-XX:+AggressiveOpts
-jar craftbukkit.jar nogui
我们为 minecraft 分配了 880M(我们认为?),其余的保留给系统、网络服务器等。我们如何优化这个设置?将这个初始启动分配超过 1GB 并完全放入我们的可突发 RAM 中是否有意义? Java或系统有没有办法自己处理这个问题,比如在高峰时间分配超过880M,最大4GB?由于无法保证可突发 RAM,如果它在需要时不可用,会发生什么情况?谢谢!
最佳答案
How could we optimize this setup?
这取决于。您应该首先分析此进程的内存使用情况。添加
-verbose:gc:file=gc_results.out
到你的命令行。您可以使用类似 HPjmeter 的工具打开生成的 gc 数据文件。 .您应该根据平均/峰值内存使用情况调整堆。没有一种放之四海而皆准的“最佳”政策。首先,检查您平均花在垃圾收集上的时间。一个好的经验法则是 < 7%。您多久触发一次 Full GC?您的堆中是否充满了长生命周期的对象,还是被许多短生命周期的对象轰炸了?这些问题应该会插入您做出决定。
关于具有可突发 RAM 的 vServer 上的 Java 堆空间 Xmx Xms,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6918105/
有一些算法可以检测数组中的最大子数组(连续的和非连续的)。不过,它们中的大多数都基于同时具有负数和正数。仅使用正数如何完成? 我有一个股票在相应时间范围内的值数组(比方说,该数组包含所有连续月份的值)
我不知道为什么,但我很确定以下内容确实产生了一段时间的情节。你能告诉我这里有什么问题吗? library(ggplot2) qplot(c(0, 2), stat="function", fun=ex
我正在尝试使用 StackExchange Redis 库追踪间歇性的“突发”超时。以下是关于我们的设置的一些信息:我们的 API 是用 C# 编写的,在 Windows 2008 和 IIS 上运行
我有一个 Java 应用程序,直到最近一直运行良好。它开始引发异常:javax.net.ssl.SSLHandshakeException:PKIX 路径构建失败:sun.security.provi
在一个运行了很长一段时间而没有任何变化的应用程序中我得到了异常 failed to lazily initialize a collection of role: ... , no session o
我是一名优秀的程序员,十分优秀!