【发布时间】:2019-04-08 13:55:53
【问题描述】:
我需要一个提示或者一个工具来尝试优化 80.000 条记录。这个问题最重要的是试图理解一种模拟方式,因为问题是在生产中,我没有,或者更好的说,到目前为止,还没有一个特定的工具用于构建在 OSGI 框架中的应用程序,Java。
更准确地说,如果有其他方法,除了:
export JAVA_MIN_MEM=256M # Minimum memory for the JVM
export JAVA_MAX_MEM=1024M # Maximum memory for the JVM
export JAVA_PERM_MEM=128M # Minimum perm memory for the JVM
export JAVA_MAX_PERM_MEM=256M # Maximum memory for the JVM
以下是两个调用的示例形式:
curl -X POST
http://localhost:8182/cxf/rest/ped/v1/terminals/shops
-H 'Content-Type: application/json'
-H 'Postman-Token: 743b0fdb-9df9-4751-ad8c-b0f7a4f96e87'
-H 'cache-control: no-cache'
-d '{
"correlationId": "1cb67b93-783e-48e3-9820-bd936ca14df0",
"terminalId": "0",
"includeServiceDetail": "0"
'
和
curl -X POST
http://localhost:8182/cxf/rest/ped/v1/terminals/shops
-H 'Content-Type: application/json'
-H 'Postman-Token: e29a3956-16e7-496d-af81-f5b424c41d4c'
-H 'cache-control: no-cache'
-d '{
"correlationId": "5c62e30a-baff-469a-993f-429559979e7a",
"includeServiceDetail": "0"
'
(它的本地主机,因为它在 SSH 中)。
在这两种情况下都会出现错误 500。
以下是日志,进入生产环境:
错误:
原因:
org.apache.cxf.interceptor.Fault:超出 GC 开销限制
在 org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:162)
在 org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:128)
在 org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:193)
在 org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:103) ...
在 org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
在 java.lang.Thread.run(Thread.java:748) 原因:java.lang.OutOfMemoryError: GC overhead limit exceeded`
对一篇到现在还没有读过的文章,一切都有帮助,甚至是评论。
【问题讨论】:
标签: java garbage-collection jvm apache-karaf