Tag: 内存

docker memory-swap = -1 OOM

我使用Ubuntu14.04和docker1.10.3。 当我使用–memory-swap -1执行–memory-swap -1 docker run时,发现主机使用的内存超出了该容器可以使用的最大内存,并且主机上没有其他进程消耗大量内存。 下图是我在电脑上进行的testing: 第一部分是主机上的内存使用情况。 第二部分是在容器中运行的testing,以模拟使用应力的容器中的900M内存。 第三部分是使用docker stats来查看容器的当前统计信息。 我发现,虽然docker stats显示容器使用不超过104.9M的内存,在主机上使用的内存远远超过104.9M。 看来,– –memory-swap -1允许容器使用尽可能多的内存。 这是真的吗?

由于长时间运行的进程日志,Docker守护进程内存泄漏

我有以下设置: 在容器中运行Perl服务,并将注销写出到STDERR logspout将这些日志发送到远程服务器进行归档 在一个600 MB的RAM机器。 我也定期截断日志: /var/lib/docker/containers/CID/CID-json.log 正如这里所build议的,以避免100%的磁盘情况。 问题 Docker守护进程开始时内存使用率低,最初为1%,运行容器2天后缓慢增加到40%。 参考 在这个问题和这个问题上已经讨论了Docker守护进程的内存泄漏。 但是他们两人现在都被closures了,并表示合并在一个提交中。 我运行的是Docker的最新版本 (Docker版本1.4.0,版本4595d4f),但仍然面临单调增加的内存使用问题。 编辑:我做了这个实验:只要在容器中运行一个bash过程,打印出很多行给STDERR,docker守护进程的内存使用量加速非常快 docker是否做了一些日志缓冲 ,即使清除了底层日志文件(/var/lib/docker/containers/CID/CID-json.log),也不释放内存? 显然没有办法清除日志。 这将提交解决长期运行的任务这个问题? 我不知道为什么docker守护进程的内存使用量不断增加。 我如何debugging这个问题?

Docker容器的内存使用情况

我使用Docker来运行一些容器化的应用程序。 我有兴趣测量它们消耗多less资源(就CPU和内存使用情况而言)。 有什么办法可以测量Docker容器(如RAM和CPU使用率)消耗的资源吗? 谢谢。

如何在Docker中监控java应用程序的内存使用情况

我在Docker容器中的tomcat上运行java web应用程序。 有什么办法来监视Java应用程序的内存使用情况吗? 我尝试使用jconsole与泊坞窗的进程ID,但它告诉我Invalidate process id 我也在tomcat中启用JMX,但不知道如何绑定到它。 我可以从我的本地使用visualvm绑定主机,但无法find绑定到主机内的docker的方式。 有没有什么好的方法来实现这一目标? 谢谢

如何增加boot2docker虚拟机中的可用交换空间?

我想运行一个docker容器,需要大量内存不足的机器上。 我一直试图增加可用的容器交换空间无济于事。 这是我尝试的最后一个命令: docker run -d -m 1000M –memory-swap=10000M –name=my_container my_image 按照这些关于如何检查内存指标的提示 ,我发现了以下内容: $ boot2docker ssh docker@boot2docker:~$ cat /sys/fs/cgroup/memory/docker/35af5a072751c7af80ce7a255a01ab3c14b3ee0e3f15341f7bb22a777091c67b/memory.stat cache 454656 rss 65015808 rss_huge 29360128 mapped_file 208896 writeback 0 swap 0 pgpgin 31532 pgpgout 22702 pgfault 49372 pgmajfault 0 inactive_anon 28672 active_anon 65183744 inactive_file 241664 active_file 16384 unevictable 0 hierarchical_memory_limit 1048576000 hierarchical_memsw_limit 10485760000 total_cache 454656 […]

Docker容器 – JVM内存尖峰 – 竞技场块内存空间

在对ECS / EC2 / Docker / Centos7 / Tomcat / OpenJDK8环境中运行的Java Web应用程序进行性能testing期间,我正在观察JVM内存中的大量离散峰值。 性能testing非常简单,它包含连续的并发请求,位于运行在由Elastic Container Servicepipe理的EC2主机上的一对Docker容器之前的AWS Application Load Balancer。 通常并发级别是30个并发负载testing客户端连接/线程。 几分钟之内,其中一个Docker容器通常会受到影响。 内存峰值似乎在非堆内存中。 具体而言,内存峰值似乎与Arena Chunk内存空间有关。 比较没有经历过尖峰的JVM的内存占用量与Thread , Arena Chunk内存空间的突出performance。 以下是使用jcmd实用程序的VM内部内存比较。 注意Arena Chunk内存的荒谬数字和Thread内存的相对较高的数字。 testing的并发级别可以为Tomcat请求线程池中的线程立即创build需求。 但是,在第一波请求中并不总是出现高峰。 你见过类似的东西吗? 你知道什么是造成穗? Docker统计 记忆钉容器: Mon Oct 9 00:31:45 UTC 2017 89440337e936 27.36% 530 MiB / 2.93 GiB 17.67% 15.6 MB / 24.1 MB […]

在docker cadvisor中的内存和CPU使用率定义

你如何定义docker中google cadvisor提供的内存使用量度量? 它是dynamic堆栈大小,堆要求,caching未命中,代码大小,交换内存或RAM内存? 以及cpu累计使用情况,在哪个度量单位计算? 你怎么定义它? 有没有关于这方面的文件? 注意:我记得cadvisor容器导出资源使用数据到influxDB。 在他正在出口的指标有:memory_usage,cpu_cumulative_usage,等等… 谢谢

Spring Cloud微服务的内存使用情况

我在AWS的中小型机器上运行了多个微服务(Spring云+ docker),最近我发现这些机器经常用尽,需要重新启动。 我正在调查这种权力丧失的原因,考虑可能的内存泄漏或实例/容器上的configuration错误。 我试图限制这些容器可以使用的内存量: docker run -m 500M –memory-swap 500M -d my-service:latest 此时,我的服务(使用spring-data-redis将单个端点写入Redis DB的标准Spring云服务)甚至没有启动。 增加内存到760M ,它的工作,但监控与docker我看到的最低是: CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS cd5f64aa371e 0.18% 606.9 MiB / 762.9 MiB 79.55% 102.4 MB / 99 MB 1.012 MB / 4.153 MB 60 我添加了一些参数来限制JVM内存堆,但它似乎并没有减less太多: _JAVA_OPTIONS: "-Xms8m -Xss256k -Xmx512m" 我在跑 […]

docker统计100%的内存

我有一个容器,运行一个Java应用程序与以下jvm参数: -XX:+UseG1GC -Xms512m -Xmx2048m -XX:MaxPermSize=256m 我正在使用docker内存限制选项: docker run -it -m 2304m foo bash 在容器初始化后运行docker stats myApp就会给我: CONTAINER CPU % MEM USAGE/LIMIT MEM % NET I/O myApp 0.17% 660.5 MB/2.416 GB 27.34% 240.8 kB/133.4 kB 但几个小时后,我有以下数据: CONTAINER CPU % MEM USAGE/LIMIT MEM % NET I/O myApp 202.18% 2.416 GB/2.416 GB 100.00% 27.67 GB/19.49 GB 虽然,如果我查看容器内正在运行的应用程序的进程执行细节,我有~735MB的用法,myApp继续计算请求没有任何问题: me@docker-container […]

RabbitMQ不考虑Docker的内存限制

我已经运行了包含RabbitMQ实例的docker容器。 我使用了三个参数(其中包括)的docker run命令: -m 300m –kernel-memory="300m" –memory-swap="400m" docker stats显示: > CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O > 1f50929f8e4e 0.40% 126.8 MB / 349.2 MB 36.30% 908.2 kB / 1.406 MB 24.69 MB / 1.114 MB 我期望RabbitMQ将只能看到300MB的RAM内存,但在Rabbit UI上可见的高水印显示为5.3GB。 我的主机有8GB可用,所以,可能RabbitMQ从主机读取内存大小。