问题标签 [memory-profiling]

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 投票
1 回答
275 浏览

visualvm - VisualVM 内存采样

我正在使用 VisualVM 对 java 应用程序进行一些内存分析。我有大量的 char 数组和字符串,但我想做的是分析它们属于哪些对象。

我怎样才能做到这一点?

0 投票
1 回答
602 浏览

python - 读取数据文件时内存泄漏

我编写了一个脚本来从(相当混乱的)数据文件中导入数据。每一行都在一个循环中单独读取和处理。

我编写了以下代码来跳过标题和白行:

运行脚本我注意到内存泄漏。我使用memory_profiler找到它,我发现它是由于:

这就是我从中得到的memory_profiler

跳过一个空行怎么可能占用 160 MB?你对如何解决这个问题有什么建议吗?

0 投票
0 回答
480 浏览

.net - .NET Memory Profiler - 本机内存显示大量“其他数据”内存消耗

我正在使用.NET Memory Profiler v4.6 来分析由 Windows 7 任务管理器创建的转储文件。如果我没记错的话,该进程在将其转储到文件之前分配了大约 450 MB 内存,之后分配了大约 600 MB。

该进程在长期模拟中作为 Windows 服务运行,不断通过 .NET Remoting 发送数据。在完全使用时,内存以每小时约 40MB 的速度增长。

本机内存选项卡向我显示了 470 MB 私有字节和 130 MB 可能共享的使用情况。我希望转储过程会生成潜在的共享字节,所以我暂时忽略了它。线程堆栈也在增加,但由于线程数保持不变,我希望内存增加是有限的。

在“其他数据”下归档了相当大数量的私有字节,即 450 MB。我不明白这个定义想对我说什么,所以有人可以解释什么是“其他数据”以及什么可能导致这种永久内存增加。

0 投票
1 回答
513 浏览

python - IPython 2.x 中的时序和分析

我找到了以下文章: 2013 年 3 月开始的 IPython 中的时序和分析,但我在定义和使用魔法时遇到了问题。我想知道这是否是因为文章中的某些信息不再适用。

我做了:

然后在我的 IPython 会话中我定义了:

当我尝试时:

%memit

我得到:ERROR: Line magic function not defined。为什么?

此外,2013 年的文章是否仍然与IPython 2.x相关?

0 投票
2 回答
913 浏览

python - 随时间推移的内存分析器 python 脚本

我想知道是否有可能有一个内存分析器来分析我的 python 脚本占用的内存并告诉我随着时间的推移内存使用情况。

这样做的目的是对此进行绘图并得出结论。

像往常一样在 python 中,越简单越好。

谢谢你。

0 投票
0 回答
364 浏览

c# - 在 osx 上使用带有应用程序包的单声道分析器

我正在尝试分析通过使用命令行单声道参数--profile生成的应用程序包,但我无法让它工作。

调用 .app 包中的 exe 将导致:

应用程序包中没有 Info.plist 文件或 Info.plist 文件中没有 NSPrincipalClass,退出

否则,在 Xamarin Studio 中,在项目选项 -> 运行 -> 常规中,您可以设置环境变量,但当您通过 xam.mac 调试器运行应用程序时,它们似乎完全被忽略了。

到目前为止,我唯一的成功是使用 bash 脚本并执行export MONO_LOG_LEVEL="debug" 之类的操作,从而启用无法通过 UI 获取的单声道日志。但是我再次无法让它添加所需的--profile参数。

笔记:

  1. 我正在使用单声道运行时 (3.2.6) 和 xamarin studio (4.2.3)
  2. 我无法将我的应用更改为控制台应用
  3. 不是一个单点触控应用程序,而是一个完整的 osx 应用程序
0 投票
1 回答
1321 浏览

linux - 远程服务器的 JProfiler 离线模式

我正在尝试使用 JPfroler 在离线模式下分析在 Linux 机器上运行的远程服务器。我使用“保存快照”和“触发堆转储”操作创建了一个堆使用阈值触发器。然后我将以下 JAVA_OPTIONS 配置添加到服务器。

我的问题是如何检索触发器生成的快照和堆转储文件?有没有可以在远程服务器中查找这些文件的位置?高度赞赏所有答案。

0 投票
1 回答
1247 浏览

memory-leaks - 飞镖,如何找到内存泄漏?

我正在尝试使用 dartium 开发工具中的 Observatory 选项卡来查找我的框架中的内存泄漏。我在这里做了一个测试程序,应该可以在 js 或 dart 中查看。我的目标是找出对Massive对象的引用在哪里保留,这些对象只是 a 的包装器,其中List<double>包含一百万个doubles。如果我单击New Client我会在右侧看到一个新的客户端视图,如果我生成一堆Massive对象并刷新观察工具,我会看到double现在占用了大部分应用程序内存使用。如果我然后删除Massive对象并等待 5 秒钟让框架远程垃圾收集运行,然后刷新观察站选项卡,doubles 仍然占用相同数量的内存,即使它们应该已经被 GC(我单击 observatoy 选项卡上的 GC 按钮,我假设强制 GC 运行。)如果我Massive最终继续在应用程序中创建和删除对象页面崩溃,通常是在Massive创建了大约 28 个对象之后。我的问题是找出如何使用这些工具来找出Massive对象仍然有引用的位置。是否可以在开发工具中找到对对象的引用?

更新:

我已经修复了我链接的测试应用程序中的内存泄漏并在上面进行了描述,因此按照上面的说明操作不会导致重新创建内存泄漏。

0 投票
1 回答
28 浏览

caching - 是否可以在 Cache Worker Role (CacheService) 上查看缓存了哪些对象

当我使用缓存工作者角色时,我想监视哪些对象存储在缓存和会话中。

我的记忆力在增长,我想找出问题所在。听起来我缓存了很多东西,但我找不到我缓存的确切内容。

我在 Cache Worker Role 实例中尝试了 CacheService 的 Red Gate 工具,但它只显示 System 类

在此处输入图像描述

注意到某些类占用了大量内存,我想弄清楚其中存储了哪些值。

在此处输入图像描述

请指教

0 投票
1 回答
1571 浏览

profiling - 如何在 Swift 中检测和调试强引用循环?

在简单的情况下,它就像紧盯着几行代码一样微不足道:

如何解决 > 50k 行代码项目的这个问题(从 Objective-C/C++ 移植)。例如,有没有办法开发一种工具来在运行时遍历对象图(就像在 Java/C# 世界中所做的那样)?