Tag: jvm

在Docker中运行Spark时抛出java.lang.OutOfMemoryError

我试图在Docker中运行一个Spark实例,并经常得到这个exception: 16/10/30 23:20:26 ERROR SparkUncaughtExceptionHandler: Uncaught exception in thread Thread[Executor task launch worker-1,5,main] java.lang.OutOfMemoryError: unable to create new native thread 我正在使用这个Docker镜像https://github.com/sequenceiq/docker-spark 。 我的限制在容器内似乎没问题: bash-4.1# ulimit -a core file size (blocks, -c) unlimited data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 29747 max locked memory (kbytes, […]

为什么docker容器的内存使用量不会减less?

我在这个容器中使用Apache JavaSpark运行Java REST应用程序,但是我注意到每个请求都添加了内存使用情况,并且在请求完成后不会减less。 我的第一个猜测是,我忘了closures一些stream/缓冲区(这个应用程序处理大量的文件操作),但我回顾了所有的代码,看起来像一切正在closures。 这是我的Dockerfile: FROM maven:3.5-jdk-8-alpine WORKDIR /code ADD pom.xml /code/pom.xml RUN ["mvn", "dependency:resolve"] ADD src /code/src RUN ["mvn", "package"] EXPOSE 1337 CMD exec java -jar "target/app.jar" 这里是docker统计: CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS 2db8b2f5fd72 0.16% 66.36 MiB / 1.952 GiB 3.32% 12.9 kB / 106 […]

Boot-clj连接被拒绝

试图在Docker中运行Boot时,使用adzerk / boot-clj镜像,我收到连接拒绝错误。 具体而言,当容器启动时,启动启动,然后输出堆栈跟踪。 跟踪(这是不容易复制和粘贴之间的计算机没有连接)本质上是做下载 – https://github.com/boot-clj/boot/releases/download/2.7.2/boot.jar -并收到“连接被拒绝”错误。 我问,并回答这个问题,希望它可以帮助别人。

AWS beanstalk中的docker容器中的JVM内存设置

我在Docker容器中运行我的Java应用程序。 我使用AWS Beanstalk。 docker的基础图像是CentOS。 我在Amazon Linux AMI for Beanstalk上的EC2实例上使用4GB内存运行容器。 我应该如何configuration容器和JVM内存设置。 现在我有: 亚马逊Linux Beanstalk AMI ec2实例上的4GB 我专门为docker集装箱devise了3GB的4 { "AWSEBDockerrunVersion": 2, "Authentication": { "Bucket": "elasticbeanstalk-us-east-1-XXXXXX", "Key": "dockercfg" }, "containerDefinitions": [ { "name": "my-service", "image": "docker-registry:/myapp1.0.2", "essential": true, "memory": 3184, "portMappings": [ { "hostPort": 80, "containerPort": 8080 } ] } } JVM设置是 -Xms2560m -Xmx2560m -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 […]

Neo4j + Docker – 无法创buildJVM

我正在尝试为Neo4j DB构build一个Docker容器。 虽然在本地运行数据库不是问题,但容器启动JVM时遇到问题。 通过neo4j查看:3.2.2图像我正在构build我自己的Dockerfile,我无法看到我们使用不同版本的JRE。 这个问题似乎源于neo4j.conf,它在无法识别的VM选项标志上崩溃,例如UseG1GC和OmitStackTraceInFastThrow Dockerfile相当短 FROM neo4j:3.2.2 ADD ./neo4j.conf /var/lib/neo4j/conf/. ADD ./data/. /var/lib/neo4j/import ADD ./scripts/. . 我也有一个docker-compose.yml version: '2' services: neo4j: image: eu.gcr.io/tine-matsans-v2/neo4j:develop container_name: neo4j build: context: ./neo4j/. ports: – "7474:7474" – "7473:7473" – "7687:7687" environment: – NEO4J_USERNAME=neo4j – NEO4J_PASSWORD=litago 我在Windows 10机器上,但图像构build一个unix容器。 我的同事在运行容器方面没有问题,使用相同的configuration,尽pipe他使用的是Mac。 这个问题不应该是相关的,因为问题在容器内。 neo4j | Active database: graph.db neo4j | Directories in use: […]

Dockerdocker容器JVM内存分配

我是使用Docker的新手,并为我的应用程序写了一个组合文件。 它利用docker和MySQL数据库。 我在环境参数中通过JAVA_OPTSconfiguration了Jetty的JVM内存。 我认为jetty JVM的最大内存设置是1GB。 但是,当我运行下面的命令时,它显示jetty消耗了2 GB。 请帮助如何为jettyconfigurationJVM内存并确保相同。 泊坞窗,compose.yml my-app: image: jetty environment: JAVA_OPTS: "-Xmx1024m -Xms128m" 状态CMD docker stats $(docker ps|grep -v "NAMES"|awk '{ print $NF }'|tr "\n" " ") CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O my-app 0.05% 2.188 GB / 10.56 GB 6.39% 12.66 kB / 1.584 […]

如何为Docker容器中的wildfly设置堆大小?

我正在尝试增加Docker容器中的wildfly的堆大小。 这很容易通过更新wildfly/bin/standalone.conf在常规的野蛮设置中完成。 我们的wildfly的基础docker镜像的默认堆积大小为512 MB ,其中一个web应用需要1GB 。 一种方法是通过使用sed命令在Docker文件中replace简单的文本 – RUN sed -i — 's/JAVA_OPTS="-Xms64m -Xmx512m -XX:MaxPermSize=256m/JAVA_OPTS="-Xms2048m -Xmx6144m -XX:MaxPermSize=256m/g' /path/standalone.conf 我想知道是否有另一种更清洁的方法来解决这个问题?

JVM释放未使用的堆

我有一个运行在Docker容器内的Mule的Springboot应用程序作为一个微服务。 即使闲置也需要700MB。 注意到JVM已经分配了380 MB的堆,这是使用-Xmx参数提供的最大堆。 尽pipe分配了最大堆,但微服务闲置时仅占用大约50 MB的空间。 问题是如何从JVM中释放未使用的内存。 看来,减lessMaxHeapFreeRatio我们可以要求JVM缩小,当有更多的空闲内存比。 然而MinHeapFreeRatio=20 -XX:MaxHeapFreeRatio=40没有太大的区别,JVM也没有释放内存。 但是,当我使用具有上述两个参数的-Xmn时,JVM按预期释放堆内存。 示例场景见下图。 Java版本8 -Xmn100M -XX:+PrintGCDetails -XX:MinHeapFreeRatio=20 -XX:MaxHeapFreeRatio=40 -Xmx384M 为什么MinHeapFreeRatio和MaxHeapFreeRatio不能按预期工作? 如果上面的参数是好的,那么-Xmn的后果是什么,应该是什么值? 为了实现从JVM释放内存的任务,还有哪些其他解决scheme?

Docker容器vs Java虚拟机

是不是真的说,在很大程度上,现在在Docker容器中做的事情,如果有人想要的话,也可以在java中用jvm来完成。 除了能够用自己的语言编写应用程序,并具有很大的定制灵活性,docker工作人员基本上可以熟练使用Java在虚拟机上做了多less年了? 即它提供了独立于底层操作系统的可执行环境。

VisualGC到docker中运行的远程JVM

我从Oracle的VisualGC 文档 (以及我从这个主题find的所有东西,例如这个问题 )的文档中了解到,当使用VisualGC连接到远程JVM时,需要使用jstatd服务器。 我的JVM运行在Docker容器中,运行在该容器中的唯一进程就是JVM,我希望这样保持容器的最佳实践 。 有没有什么办法可以使用VisualGC(我的客户端是VisualVM的VisualGC插件)与在Docker中运行的JVM?