Tag: 堆内存

Java的Tomcat 7容器上的heapsize和其他内存configuration

我使用的是一个红帽tomcat7容器(与Docker集线器上的tomcat7非常相似): registry.access.redhat.com/jboss-webserver-3/webserver30-tomcat7-openshift:1.2-12 我已经部署了一些.wars,但执行了很多过程后,我得到了以下错误: GC overhead limit exceeded java.lang.OutOfMemoryError: GC overhead limit exceeded 所以我想调查最大的heapsize和其他内存设置: 命令: java -XX:+PrintFlagsFinal -version | grep -iE 'HeapSize|PermSize|ThreadStackSize' Output: Picked up JAVA_TOOL_OPTIONS: -Duser.home=/home/jboss -Duser.name=jboss intx CompilerThreadStackSize = 0 {pd product} uintx ErgoHeapSizeLimit = 0 {product} uintx HeapSizePerGCThread = 87241520 {product} uintx InitialHeapSize = 125829120 {product} uintx LargePageHeapSizeThreshold = 134217728 {product} uintx MaxHeapSize […]

如何在Docker容器中设置Java堆大小(Xms / Xmx)?

至于提出这个问题,Docker看起来已经足够新,没有网上的这个问题的答案。 我发现的唯一的地方就是这篇文章 ,作者说这很难,就是这样。

在Docker Neo4j – 最大堆大小导致硬崩溃137

我试图在OSX(El Capitan)上运行一个Docker容器中的Neo4j 3.1实例(通过Docker-Compose)。 一切都很好,除非我尝试增加超过默认512MB的Neo可用的最大堆空间。 根据文档 ,这可以通过添加环境variablesNEO4J_dbms_memory_heap_maxSize ,然后导致服务器包装脚本相应地更新neo4j.conf文件来实现。 我已经检查过,并且正在进行更新。 问题是,当我运行docker-compose up容器时,Neo4j实例以137状态码崩溃。 一个小小的研究告诉我,这是一个Linux硬件崩溃 ,基于堆大小的最大限制。 $ docker-compose up Starting elasticsearch Recreating neo4j31 Attaching to elasticsearch, neo4j31 neo4j31 | Starting Neo4j. neo4j31 exited with code 137 我的问题: 这是由于Docker或OSX的限制吗? 有没有办法修改这些限制? 如果我将请求的限制放到1GB,它会旋转起来,但是一旦我运行我的沉重查询(这是造成需要增加堆空间的原因)仍然崩溃。 我正在运行的查询是对包含全文属性的大量节点(大于150k)进行大规模更新,以便可以使用该插件将其同步到ElasticSearch。 有没有一种方法可以让Neo一步步完成500个节点,只使用密码(我宁愿避免写一个脚本,如果可以的话,感觉有点肮脏)。 我的docker-compose.yml如下所示: — version: '2' services: # —<SNIP> neo4j: image: neo4j:3.1 container_name: neo4j31 volumes: – ./docker/neo4j/conf:/var/lib/neo4j/conf – ./docker/neo4j/mnt:/var/lib/neo4j/import […]