- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
以下是我的 JVM 设置:
JAVA_OPTS=-server -Xms2G -Xmx2G -XX:MaxPermSize=512M -Dsun.rmi.dgc.client.gcInterval=1200000 -Dsun.rmi.dgc.server.gcInterval=1200000 -XX:+UseParallelOldGC -XX:ParallelGCThreads=2 -XX:+UseCompressedOops -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jbos88,server=y,suspend=n
问题:总堆内存:2GB老一代:1.4GB(堆的 2/3)新一代:600MB(堆的 1/3)
Old Gen 的内存增长超过其分配大小的 70% 0f,并且即使在 100%(即 1.4GB)时也不会受到 GC 的影响。人们可以看到下面的图表达到峰值并且从来没有 GC,内存下降是在它被强制从 JConsole 进行 GC 时。这个问题最终导致网络服务器宕机。
我遗漏或错误设置 JVM 的任何内容吗?
提前感谢您的帮助。
更新我的问题:
在堆分析之后,有状态 session bean 似乎是主要嫌疑人: 我们有状态 session bean,它包含由 Hibernate 辅助的持久性逻辑。
最佳答案
GC 最终会被调用,old gen 几乎从不被调用(因为它非常慢)。GC 确实会运行,但它首先只会在新生代和幸存者世代上运行,它有一个完全不同的算法来清理老一代,它比新生代/幸存者世代慢。
那些数字真的很高,老一代的总和永远不会比新的高。我猜你有内存泄漏。
我只能猜测您的程序正在处理大文件,您可能保存对它们的引用的时间太长了。
关于java - 堆内存使用中的 PS Old Gen 内存 : GC settings for Java Out Of Memory Exception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25818068/
第 0 代:所以我读到当 gen 0 超过大小阈值时 gen 0 触发。但我也读到GC不是在"new"时执行的,因为"new"只是向前滑动一个地址。那么,它什么时候检查它是否超过了触发 gen 0 G
“static final”是直接分配到young gen还是old gen还是perm gen? (我想它很可能会在我想的时间内落入老一代。)如果它在 perm gen 中分配,那么当在 Perm
这是一种情况,当必须将并行性引入后端服务器时。 我愿意查询 N 个 ELB,每个查询 5 个不同的查询,并将结果发送回 Web 客户端。 后端是Tornado,根据我在docs中多次阅读的内容,在过去
我正在尝试创建列表的随机排列。我是函数式语言中随机性的新手,还没有完全掌握 monad,但我以我认为应该有效的方式使用了 Random.newStdGen 和 Random.Shuffle.shuff
经过 tornado.gen documentation有人可以帮我理解 tornado.gen.coroutine 和 tornado.gen.engine 之间的确切区别 最佳答案 正如 gen.
在 document , 如果方法也用@gen.coroutine 修饰,则不需要@web.asynchronous。像这样 @web.asynchronous @gen.coroutine def
我们在带有相量的同一个 gen~ 代码框对象中有两个地方: wander = phasor(in8/dense); ...some code later... phas = (triangle(pha
我正在从事的项目都是用 Tornado 编写的,但我包含了一些 Twisted 来处理异步 XML-RPC。我想知道您是否可以使用 Tornado 的 gen.engine 和 yield gen.T
如何查看protoc-gen-go和protoc-gen-validate的版本? protoc-gen-go --version protoc-gen-validate --version 我试过上
我们使用的是 protoc-gen-go v2(v2 是 google.golang.org/protobuf,v1 是 github.com/golang/protobuf) 当我们尝试编译 gRP
刚接触tornado,所以跟着tornado的指导练习,当我开始使用Coroutines的时候,例子是这样说的: 从 Tornado 导入生成 @gen.coroutine def fetch_cor
当您创建 Python 3 生成器并立即开始运行它时。您会收到如下错误: TypeError: can't send non-None value to a just-started generato
当我在 eclipse 中清理和构建 android 项目时,它会删除 bin 文件夹和 gen 文件夹的内容,并且不会重新创建它只是创建空文件夹 gen 和 bin 为什么会发生这种情况我搜索了很多
我想使用来自 protoc-gen-grpc-kotlin 的 protoc-gen-grpc-kotlin-1.0.0我得到了 Execution failed for task ':generat
我想使用来自 protoc-gen-grpc-kotlin 的 protoc-gen-grpc-kotlin-1.0.0我得到了 Execution failed for task ':generat
在 :constructors 映射和后续的 -init 定义中,我如何表示可变参数构造函数(假设父类(super class)有多个构造函数,其中一个是可变参数)? 最佳答案 由于可变参数本质上是对
我正在使用jwilder/nginx-proxy,以便在我的domain.tld中有一个项目,在api.domain.tld中有一个项目。我关注了this tutorial,自定义default.co
我刚刚重新格式化了我的电脑。我有 windows xp sp3 32 位。我安装java jdk安卓SDK eclipse ide 当我去创建一个新的 android 项目时,我得到了这个错误。 项目
我正在开发我的 Android 项目,删除未使用的库后,我收到 错误: myproject/gen already exists but is not a source folder. Convert
protoc-gen-doc 自定义模板规则详解 配套演示工程 此项目中所用 proto 文件位于 ./proto 目录下,来源于 官方proto示例 此项目中所列所有
我是一名优秀的程序员,十分优秀!