java - 复制文件后如何释放docker的内存?
问题描述
我们正在开发性能非常重要的 java 应用程序。它处理大量文件并创建大量文件作为输出。因此,为了释放内存,我们在批量文件(例如 15 个文件)之后将数据临时保存到磁盘。如果需要,这些临时保存的文件可以稍后由应用程序加载。我们也在对我们的应用程序进行 docker 化,但我们遇到了问题。Docker 有自己的文件系统。因此,即使我们将文件保存到磁盘后,docker 也会在内存中保留一些内容,即将其自己文件系统中的文件与磁盘上保存的文件连接起来。我们使用绑定挂载。因此,我们的 java 应用程序能够处理数千个文件,但是 dockerized 版本在 75 个文件后速度变慢,并且在大约 150 个文件后抛出内存不足异常。复制文件后有没有办法释放docker的内存?
解决方案
推荐阅读
- c++ - 找不到最大乘积子数组的范围
- java - Weblogic 订阅者多个 URL
- c# - 为什么在 C# 中定义属性的两种方式会产生不同的结果?
- authorization - 可以将 access_token 权限添加到 OAuth2LoginAuthenticationToken 吗?
- node.js - Firestore-Cloud Functions 获取顶层文件名
- html - 菜单栏未出现在移动布局的菜单按钮中
- flutter - Flutter 键盘检测可见性
- treeview - 如何控制在树的展开行中可见哪些 GTK 小部件?
- kubernetes - 我应该使用 API 网关还是服务网格?
- python - 如何根据条件对压缩列表进行排序?