为什么docker容器内存使用不减少?

2024-03-09

我正在运行 Java REST 应用程序Apache JavaSpark http://sparkjava.com/在此容器中,但我注意到每个请求都会增加内存使用量,并且在请求完成后不会减少内存使用量。我的第一个猜测是我忘记关闭一些流/缓冲区(这个应用程序处理大量文件操作),但我查看了所有代码,看起来一切都被关闭了。

这是我的 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"

这是码头统计数据:

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 kB    0 B / 0 B           23

Java通常会分配先前保留的内存,只有在重新启动进程时才会释放它。您可以查看这篇文章,其中给出了完整的解释。

java.exe 进程使用更多内存并且不释放它 https://stackoverflow.com/questions/16649601/java-exe-process-uses-more-memory-and-does-not-free-it-up

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么docker容器内存使用不减少? 的相关文章

随机推荐

  • 使用 libav 转换 mp4-ts

    我正在尝试使用将 mp4 文件转换为 mpegtslibav 该代码可以工作 但输出的文件无法被任何播放器播放 这里是输入文件 http yt dash mse test commondatastorage googleapis com m
  • 单击按钮后克隆整个表单元素

    我有以下表格
  • 没有.net库的图像裁剪C#

    谁能建议如何裁剪图像 例如 jpeg 而不使用任何 NET 框架结构 仅使用原始字节 因为这是 Silverlight 中唯一 的方法 或者指向一个图书馆 我不关心渲染 我想在上传之前操作 jpg Silverlight 中没有可用的 GD
  • 无法链接到 XCode9 中的插座集合

    我有一些在动画期间随机播放的限制 升级到 XCode9 后 我尝试进行一些调整 编辑器似乎不再允许我向约束集合 IBOutlet 添加约束 我什至创建了一个新项目并尝试制作一个简单的插座系列 但遇到了同样的问题 这是我正在谈论的内容的简短视
  • 删除 PayPal Express Checkout 中的送货地址选项

    我用的是JSscript https developer paypal com docs integration direct express checkout integration jsv4 basic integration 贝宝推荐
  • Google 可以使用邮政信箱自动填写地址表单吗?

    我正在购物车中的结账表单上使用 地点 自动完成功能 参见示例 https developers google com maps documentation javascript examples places autocomplete ad
  • 在Python中使用队列进行线程处理

    我想在 python 中使用线程来下载大量网页 并浏览了以下在其中一个网站中使用队列的代码 它放置了一个无限的 while 循环 每个线程是否连续运行 直到所有线程都完成为止 我是不是错过了什么 usr bin env python imp
  • mongo集合中的数据碎片

    我在一个 mongo 集合中有很多更新 并假设此后文件系统上存在巨大碎片 我主要担心的是 集合将在文件系统上不断增长 而集合 中的数据却没有有价值的增长 您能否证实或反驳我的担忧 这取决于您要进行哪种更新 如果这些更新增加了您的文档 数组推
  • 对于同一 .NET 库的不同目标框架构建,程序集 GUID 属性是否应该有所不同?

    我正在用 C 开发一个 NET 库 它必须解决一系列广泛的目标框架 我想生成一个 nuget 包 它可以根据目标项目的设置正确安装 为了实现这一目标 我使用多个 csproj 文件 它们中的每一个都针对特定的目标框架 例如 MyLibrar
  • 程序集未加载 C#

    我有一个项目Common其中包含一个 log4net CustomAppender 我在所有其他项目中引用该项目并在中配置 log4net 附加程序app config 一切都很顺利 除了一个项目在尝试实例化 Appender 时失败了 输
  • 如何在java中更新文本文件的某些部分

    我希望能够更新文本文件中的某一行 但我收到错误 无法删除该文件 为什么会收到此错误 public class Main public static void main String args Main rlf new Main rlf re
  • Pandas GroupBy 和计算 Z 分数 [重复]

    这个问题在这里已经有答案了 所以我有一个如下所示的数据框 pd DataFrame 1 10 14 1 12 14 1 20 12 1 25 12 2 18 12 2 30 14 2 4 12 2 10 14 columns A B C A
  • 如何在 Pygame 中显示精灵?

    这只是一个关于 PyGame 中精灵的简单问题 我按照下面的代码加载了图像 我只是想知道如何在 PyGame 中显示精灵 例如绘制矩形或圆形 无论如何 我不想让它表现得如此 我想我用一个blit命令 但我不确定并且我在网上没有找到太多信息
  • 多线程环境登录并测试

    请让我知道您在以下场景中如何设计日志记录以及如何测试日志记录的建议 我有一个可以由多个线程调用的 API 单个线程对该 API 的一次调用会生成 50 KB 的日志 是否存在用于在多线程环境中进行日志记录的设计模式 IE所有线程使用一个日志
  • 如何在 Kotlin 中手动将字节分配给 long?

    我正在尝试做这样的事情Kotlin val top Long 1000000 1000000 1000000 1000000 1000000 1000000 1000000 In Java它看起来像这样 long TOP 1000000 1
  • lambda 函数比委托/匿名函数更快吗?

    我以为lambda functions delegates and anonymous functions具有相同的主体将具有相同的 速度 但是 运行以下简单的程序 static void Main string args List
  • 用于捕获 MSWord 文档事件的 IAdviseSink 设置

    这是我尝试设置的代码IAdviseSink在我的接口中实现的TForm1用于捕获新创建的 MSWord 文档的一些事件的类 代码运行时没有任何错误 但在保存文档或关闭文档时无法捕获任何事件 如何设置IAdviseSinkMSWord 文档正
  • 如何删除 Google 地图 v2 中的标记?

    我使用以下方法在地图上添加了标记 并保留了标记记录 public static void showallLocations ArrayList
  • 如何在 Angular 2 中触发 ajax 请求?

    我在 Angular 2 中定义了这样的服务 import Inject from angular2 angular2 import Http Headers HTTP PROVIDERS from angular2 http export
  • 为什么docker容器内存使用不减少?

    我正在运行 Java REST 应用程序Apache JavaSpark http sparkjava com 在此容器中 但我注意到每个请求都会增加内存使用量 并且在请求完成后不会减少内存使用量 我的第一个猜测是我忘记关闭一些流 缓冲区