问题标签 [memory-consumption]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
63 浏览

java - 预测java组件的内存消耗

我目前正在开发一个运行多个组件的事件驱动系统。最近,我收到了一个紧急需求,要识别运行的 java 组件的内存消耗,以便我们可以在将其部署到 UAT/客户生产环境之前简要了解内存需求。

我们是否有任何 API 可以用来计算 Deep 保留大小,或者可以提供一个公式来计算内存需求。

对此的任何想法肯定会有所帮助。

我已经看到了一些 API(java instrumentation Api),可以使用这些 API 来计算 Shallow 大小,但这并不能满足我的需要。我还发现 java Assist 可以使用它在运行时修改 java 字节码。

0 投票
2 回答
38 浏览

php - Unusual PHP Memory Consumption

I have 3 Apache/PHP7 servers running behind a load balancer. 2 of the 3 servers have been running without issue for several years. The third server (the newest server), however, has a PHP memory consumption issue.

While monitoring the servers in real time, I have noticed that the same call (example: /user/login) will require 10x more memory for the 3rd server than the other 2. Example: 18%MEM vs 1.2%MEM

All 3 servers are currently built and managed by ansible, so all 3 configurations should be exactly the same. However, the 2 servers that work as expected, existed before I started using ansible, so its conceivable that there is a config (or configs) set on those servers that is not managed by ansible.

All 3 servers run the exact same code base. All 3 servers are currently running in production.

The 3rd server has been rebuilt (completely new VM) several times, but always has the same exact issue as before.

I have run out of ideas and I would appreciate any help.

Note: I have tried memory tracing tools, but I have had a hard time getting them up and running in production as they are relatively invasive.

0 投票
1 回答
294 浏览

swift - Swift - NSImage,内存泄漏?

给出以下任务:

  • 扫描一个文件夹,其中包含带有图像的子文件夹,并确保没有任何图像损坏
  • 使用 MacOS 和 Swift
  • 打开每个图像并检查它是否有损坏

我写了这个小小的命令行程序:

每张图片大小约为 20MB。我总共有大约 150.000 张图像要检查。

不幸的是,XCode 以Program ended with exit code: 9. 深入挖掘(使用 Instruments)结果证明这个小帮助应用程序消耗了我所有的内存NSImage.init()。作为NSImage一个成熟的对象,我怀疑它有什么问题。因此,我的问题是,有人可以向我解释这种行为吗?

我的环境:

  • XCode 版本 11.4.1 (11E503a)
  • Apple Swift 版本 5.2.2 (swiftlang-1103.0.32.6 clang-1103.0.32.51)
0 投票
1 回答
114 浏览

string - 单字符串列表的内存分配率高于多字符串列表

考虑以下分配长度为 1 与长度为 8 的List基准String

在哪里sbt "jmh:run -i 10 -wi 10 -f 2 -t 1 -prof gc bench.SoMemory"给出

请注意较小的字符串如何显着提高gc.alloc.rate

为什么在第一种情况下,当较小的字符串应该具有较小的内存占用时,内存消耗似乎更高,例如,JOL给出了

正如预期的那样,占用空间更小,约为 72MBZarA

与大约 80MB 的较大占用空间相比ZarB


VisualVM 内存行为

ZarA - 使用的堆 129 MB

在此处输入图像描述

ZarB - 已用堆 91 MB

在此处输入图像描述

0 投票
2 回答
70 浏览

java - 使用java访问任务管理器中的内存

我想使用 java 查询 MySQL、MongoDB 和 Neo4j 目前使用的内存。我已经搜索过它,但没有找到任何相关的东西。我的操作系统是 Windows,我正在使用 Eclipse。谢谢

0 投票
0 回答
25 浏览

console - 如何使用 Windows 调度程序运行内存消耗应用程序?

我有一个控制台应用程序,它在运行时最多消耗 5Gb RAM。我想使用 Windows 调度程序启动这个应用程序。问题是 Windows 调度程序在达到 400-500mb 的 RAM 使用量时关闭应用程序。我还在任务的 XML 配置中将应用程序的优先级从 7 更改为 0,但没有看到任何改进。我在尝试运行应用程序时收到以下错误消息。有什么帮助吗? 错误信息

0 投票
0 回答
140 浏览

python - SqlAlchemy 内存管理

我正在尝试优化其中一个脚本中的内存消耗并使用memory_profiler模块来跟踪内存消耗。

这是它显示的示例:

如您所见,当从数据库中获取元素列表时,内存消耗增加了 14.9MiB。

然后我将这些数据保存到 RAM 中的 zip 存档中,其中的压缩数据又增加了 2.3 MiB 的消耗。

但是当我del items在那之后调用时,内存只释放了 1.5 MiB。

我认为 sqlalchemy 仍然保留对这些对象的引用,因为它们绑定到当前会话,但我不明白如何清除它们。

我试过session.expunge_all ()了,但没有用。我也试过打电话gc.collect(),但也没有用。


SQLAlchemy 版本 1.2.12

Python 3.6 版

0 投票
0 回答
49 浏览

java - 时间成本和空间成本分析问题

嗨,我是新手,我不知道如何继续分析我自己完成的算法,我现在的结论是:

  • 'max' -> 数组中的最大整数值。

  • 'n' -> 是输入大小,即数组的长度。

这个分析正确吗?'max'会让它变成线性的吗?我怎样才能更好地表达这一点?

谢谢您的帮助。

代码

0 投票
0 回答
27 浏览

java - 如何获取自定义 Java 程序消耗的 CPU 周期和内存

我是计算自定义 java 应用程序的 cpu 周期和内存消耗的新手。有没有我可以在 Windows 10 中使用的工具来了解应用程序在处理特定命令时占用了多少 CPU 周期。

例如,我想测量 winzip、winrar、7zip 和自定义 java 应用程序消耗的 cpu 周期和内存。我想在这个过程中使用任务管理器。我可以消耗内存,但我不确定如何找到 cpu 周期。任何人都可以指导我。

0 投票
0 回答
85 浏览

javascript - 播种时 Webtorrent 巨大的 RAM 消耗

我在播种 mp4 文件时面临着高内存消耗。

我有 1gb mp4 文件

磁盘内存

和简单的代码行

这为从此文件收集的流播种。

当执行到达该行时,我将面临大量 RAM 内存消耗。

前:

在此处输入图像描述

后:

在此处输入图像描述

7-8 GIGS 的差异!?!

内存消耗正在下降,种子回调执行后 10 秒,减去 2gb,不是那么多。

我看到这个警告:

(节点:26822) MaxListenersExceededWarning:检测到可能的 EventEmitter 内存泄漏。[Torrent] 添加了 11 个现成的听众。使用emitter.setMaxListeners() 增加限制

但是,我认为该库用于许多少数(用于节点)侦听器,因此它收集了我在循环中的某处创建它们并警告我,因此源不在这里。

这可能是因为我的 PC 使用 ram 磁盘缓存,并且代码保留的不是 RAM,而是 NVram。

但是当我查看/tmp文件夹时,我只看到一个1Gb的新 torrent 文件,所以它等于原始文件。

在此处输入图像描述

所以问题:

  1. 播种启蒙是如何安排的,我为什么要面对这个,你的想法?
  2. 是否可以在不填充原始文件的情况下播种文件,也许因为我使用 webtorrent.File.createReadStream 方法而填充文件?
  3. 文件播种将如何扩展,我需要多少资源来播种 50 个此类文件,50 倍?你做了一些测试吗?
  4. 使用本机 webtorrent-trackers 来处理大文件(500Gb-1Tr)是否仍然是实际的,还是最好自己提高?