问题标签 [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 投票
0 回答
222 浏览

c# - Windows Phone 8 的内存消耗是 Windows Phone 7 的 3 倍

我正在开发一个在 WP7 和 WP8 上运行的应用程序。完成后,我开始运行性能分析以提高应用程序的整体性能。

该应用程序是为 WP7 编写的,但我有一些项目在 WP8 上运行以添加应用内购买、锁屏等功能。

当我在 WP7 上运行内存分析时,应用程序在整个执行过程中平均 50mb 内存,这是一个可接受的值,奇怪的是当我在 WP8 设备上运行相同的 xap 时,应用程序平均使用 150mb 内存。

我在网上搜索并没有发现与此问题相关的任何内容。

我使用 Lumia 800 和 lumia 510 在 WP7 上进行分析,并使用 Lumia 520、820 和 925 在 WP8 设备上进行分析。

我正在使用 Visual Studio 2012。

我还认为这可能是 VS2012 上的错误,但应用程序在 lumia 520 上崩溃(一段时间后内存不足),但在 lumia 800 或 510 上从未崩溃。

该应用程序的图像很重,但它们都是手机上使用的确切尺寸(应用程序中同时显示的 100x100 jpg 图片不超过 50 张)。

欢迎任何建议和解决方案。

编辑:我正在谈论的内存差异只是通过运行主页视图,我的性能分析测试很简单,启动应用程序滑动一些控件(我有 2 个项目的枢轴)并关闭会话。不涉及导航。我正在使用 RadDataboundListBox,但已经尝试更改为 Listbox 和 LongListMultiSelector 而没有任何显着的内存消耗变化

0 投票
1 回答
10586 浏览

python - Linux 上的 Python 内存消耗:物理内存和虚拟内存都在增长,而堆大小保持不变

我正在研究用 Python 编写的某种系统服务(实际上它只是一个日志解析器)。该程序应该长时间连续工作(希望我的意思是几天和几周没有失败和重新启动的需要)。这就是为什么我担心内存消耗。

我将来自不同站点的有关进程内存使用情况的不同信息汇总到一个简单的函数中:

这个函数已经被用来研究我长时间播放过程的内存消耗动态,我仍然无法解释它的行为。可以看到,在这 20 分钟内,对象的堆大小和总量没有变化,而物理和虚拟内存分别增加了 11% 和 1%。

UPD:到目前为止,这个过程已经运行了将近 15 个小时。堆还是一样,但是物理内存增加了六倍,虚拟内存增加了 50%。除了凌晨 3:00 的奇怪异常值外,曲线似乎是线性的:

时间对象堆 PhM VM

19:04:19 31424 3928 5460 143732

19:04:29 30582 3704 10276 158240

19:04:39 30582 3704 10372 157772

19:04:50 30582 3709 10372 157772

19:05:00 30582 3704 10372 157772

(...)

19:25:00 30583 3704 11524 159900

09:53:23 30581 3704 62380 210756

我想知道我的进程的地址空间发生了什么。堆的恒定大小表明所有动态对象都已正确释放。但我毫不怀疑,从长远来看,不断增长的内存消耗会影响这个生命关键过程的可持续性。

在此处输入图像描述

有人可以澄清这个问题吗?谢谢你。

(我使用 RHEL 6.4,内核 2.6.32-358 和 Python 2.6.6)

0 投票
0 回答
94 浏览

memory-management - Roboguice - Android - Roboguice 消耗了多少内存

我们如何知道 Roboguice 使用了多少内存。例如,当应用程序启动 RoboguiceContext 使用了多少内存时,在某些操作之后更新的内存位置是什么等。

我们有所有的字段注入,所以想知道这些注入对象的生命周期,以及这些对象可用多长时间以及这些注入对象消耗了多少内存。

请分享一些方法或代码片段来实现这一点,这些数字的要求是因为我们的应用程序消耗大量内存并且不想留下一个机会来减少内存消耗。在这里,Roboguice 是上下文,所以我们首先需要了解内存模型。

非常感谢提前!

0 投票
1 回答
44 浏览

android - 使用基于消息或接口的方法返回列表从异步任务?

我知道有多种方法可以将一些数据从AsyncTask调用返回Activity。我可以使用Message来自的对象,Handler或者我可以使用Interface-based两者的方法,Activity并且我AsyncTask实现相同的接口(使用传递数据的方法)。

然后还有其他方法,例如public调用中的方法Activity并将其传递ActivityAsyncTask然后Activity's用结果数据填充字段列表。onPostExecute或从调用中覆盖Activity,依此类推,依此类推。

现在,就内存消耗和执行速度而言,哪种方法最好使用?

注意:如果我们采用 SO 专家的评级,我看到评级为 20k+ 的人建议MessageInterface-based接近。一些经验较少但仍拥有 10k+ 信用的人建议其他解决方案,例如我提到的第 3 个解决方案。这是我困惑的根源,因为他们中没有人提到他们的解决方案有多么“沉重”。

0 投票
1 回答
513 浏览

c++ - 如何查看 RAM 全局变量使用了多少?

在微控制器编程上下文中的 C/C++ 中,我如何查看使用了多少内存全局变量(不计算新的/malloc 分配的数据)?

0 投票
1 回答
170 浏览

linux - Linux 服务器上的性能测试方面

我们希望在带有和不带有防病毒产品的 linux 服务器上进行性能测试。想了解在准备测试计划以在 linux 机器上进行性能测试时要包括哪些方面。我知道 CPU 使用率、内存使用率、磁盘 IO 是其中的一部分。我应该在后台连续运行什么来保持机器的运行以及我应该收集什么参数。

0 投票
1 回答
371 浏览

algorithm - Solve assignment problem without cost matrix?

I need to solve an assignment problem between the pixels of two images. That means, I want to find the pixel from the left image that matches best to a given pixel in the right image. But not on a per pixel basis, but considering the overall cost of all assignments.

Usually, you build a cost matrix for that and then lower on a row and column basis until you get at least one zero in each column and row. Those zeros are optimal assignments then. However, the cost matrix for a 1920 * 1080 pixel image would be roughly 4TB in memory, which I can't handle.

Is there an alternative that uses less space to solve the assignment problem?

0 投票
0 回答
1233 浏览

.net - Memory leak in Process.GetProcesses

I have discovered a memory leak in my application. Each time I call Process.GetProcesses the memory usage of my application grows and does not release until the application has been shut down. Since I am needing to call this about every 10 seconds the application only can run a few hours before it crashes running out of memory. I found this article on this site but doesn't look like much of a resolution ever came of it. Process.GetProcessesByName(String, String) Memory Leak

Here is my code:

Somebody mentioned in the other question that:

WARNING: This is just a very dirty quickfix, but use reflection to kill em off.

Accessing private variables: Can I change a private readonly field in C# using reflection?

Example using static class: Using Reflection to set a static variable value before object's initialization? (C#)

You can use variations of typeof(Process).GetFields(BindingFlags.Static | BindingFlags.NonPublic) to find the field etc.

I believe a quick fix is warrented since the behaviour of Process is obviously not correct.

I'm not really sure of what that means can anybody assist or does anybody know how to overcome this problem?

Thank you

0 投票
3 回答
2297 浏览

linux - Node.js 内存消耗 OS X vs Linux

我在 Node.js 中编写了一个超级简单的 TCP/IP 套接字服务器:

甚至不应该是必要的once('end', ...,但我想确定。然后我从终端运行以下命令,将 500 MB 的数据发送到服务器:

现在它变得有趣了。我正在node使用 观看该过程top,并且我在 OS X 和 Linux 上执行此操作。

当我启动 Node.js...</p>

  • OS X 报告MEM 5152K(看起来不错)
  • Linux 报告RES 15180(我将其解释为15 MB,但对此我不确定)。

第一个问题:这两个值是否具有可比性,还是我在这里遗漏了什么?

然后,一旦我运行cat ... | nc ...,内存使用量就会增加。一通电话后……</p>

  • OS X 报告MEM 20M
  • Linux 报告RES 92320(这意味着 92 (!) MB 内存使用量)

这里发生了什么?为什么 Node.js 在 Linux 上使用的内存比在 OS X 上多得多?我的设置错了吗?我错过了什么吗?...?

0 投票
1 回答
622 浏览

entity-framework-4 - 为什么 SaveChanges 方法会占用内存?

在准备大量(几千行)数据并通过 Entity Framework 将它们插入数据库时​​,创建 Entity 对象或内存对象图不会占用太多内存,但是当调用 SaveChanges() 方法时,在持续时间内,它会继续消耗大量内存,直到方法返回。

在导致此内存消耗的 SaveChanges() 调用期间,究竟发生了什么?