问题标签 [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 回答
4703 浏览

process - 使用 Upstart 设置内存消耗限制

我最近变得非常喜欢Upstart。以前我一直在使用 God、Monit 和 Bluepill,但我不太喜欢这些解决方案,所以我正在尝试 Upstart。

我一直在使用 Foreman gem 为我的流程生成一些基本的 Upstart 配置文件/etc/init。但是,这些生成的文件仅处理崩溃进程的重生。我想知道是否可以告诉 Upstart 重新启动一个消耗例如> 150mb内存的进程,就像使用 Monit、God 或 Bluepill 一样。

我通读了Upstart 文档看起来就像我正在寻找的东西。虽然我不知道如何配置这样的东西。

我基本上想要的很简单。如果内存使用量是ram ,我想重新启动我的web进程。> 150mb这些是我拥有的文件:

它们的内容是:

myapp.conf

myapp-web.conf

myapp-web-1.conf / myapp-web-2.conf / myapp-web-3.conf

非常感谢任何帮助!

0 投票
2 回答
540 浏览

haskell - 使用 Int64 的 Haskell 中的内存消耗

问题是找到最后一个元素。它工作得很好整数类型。Int 类型溢出,但是当我尝试 Int64 时,垃圾收集器似乎停止工作。

UPD。错过导入 Data.Int。并且需要 100,000,000 个元素。使用 Int64 时,它只是停止响应或停止使用处理器。

也许我需要一些 ghc 的密钥,以便它可以清理我不需要的元素。

这些都是关于基准测试的,所以我需要一些比 Integer 更清晰的东西。

0 投票
2 回答
2752 浏览

ruby-on-rails - rails resque worker 内存消耗

我正在使用 resque gem 来处理我的后台进程。

我已经设置了三个队列,每个队列有一个工人。

任何人都可以解释内存是如何随着队列中工人的增加和减少而消耗的。

我听说每个工作人员都会加载单独的 Rails 环境。真的吗?

0 投票
4 回答
855 浏览

java - 如何计算或确定使用 NetBeans 用 Ja​​va 编写的程序的内存消耗?

我如何计算或确定使用 NetBeans 以 Java 编写的程序的内存消耗?

0 投票
2 回答
1130 浏览

iphone - 使用这种方法对 NSTimer 的 CLLocationManager 有什么副作用吗?

我正在开发一个 iPhone 应用程序,该应用程序需要按用户指定的时间间隔进行位置更新。这是我用来执行此操作的代码示例:

代码就像一个魅力。

问题是:

CLLocationManager和 一起使用NSTimer,这会影响内存电池消耗吗?我的意思是对用户体验有负面影响吗?

如果是这样,任何建议,帮助链接通过优化完成此类任务将不胜感激。

注意: Utils是我的类来存储或检索数据。

0 投票
1 回答
326 浏览

ios - iOS Web 应用程序中图像的内存消耗

我有一个 iPad(杂志)Web 应用程序,它显示一组中等大小(~500kb)的图像。每个视图显示一个 (1024x768),滑动时显示另一个。

我有三个图像(上一个、当前和下一个)作为 display:block 同时显示,而其他图像被 display:none 隐藏。

在某种程度上,一切都很好。但是,当应用程序运行一段时间并显示更大的图像集(20+)时,应用程序崩溃,主要是在 iPad 1 上。我的假设是这与设备的内存消耗有关。

我的问题是:保持内存消耗尽可能低的最佳做法是什么?显然将图像设置为 display:none 不起作用。我应该从 DOM 中删除图像,然后在进入视图时重新应用它们吗?还是有任何其他简单的技巧来防止应用程序崩溃?

0 投票
1 回答
928 浏览

javascript - 连续页面刷新导致 Firefox 在 windows 上增加内存消耗

我有一个奇怪的情况,一个 web 应用程序在 Firefox / Windows 上不断耗尽内存。基本上,该应用程序使用通过对服务器进行的POST调用来刷新页面中的数据jQuery。每次调用时,Firefox 的内存消耗都会增加,这与服务器返回的数据大小不成比例。

为了查看这是否特定于我的应用程序,我使用 Sinatra (Ruby 1.9.2-p318) 和 jQuery (1.7.1) 编写了一个简单的测试应用程序。应用程序每 10 秒向服务器发送一个请求,并将 1MB 的 html 块加载到页面:

服务器端:

客户端:

似乎没有改变的是 Firefox 进程的内存消耗(通过 Windows 的任务管理器观察到)在每次调用时不断增加 10 兆字节。尽管新数据替换了页面中的旧数据,但 Firefox 似乎并没有处理内存中分配的空间。事实证明,如果页面在一夜之间打开(在简单的 4GB 机器上),这会完全耗尽内存。

这是javascript问题还是Firefox的问题?我可以以某种方式强制垃圾收集吗?谢谢。

编辑:谷歌浏览器(Win7 上的 13.0.782.112)没有观察到这个内存问题。

0 投票
1 回答
2987 浏览

java - Java 和对象、数组和原始类型的精确参考大小

我想确切地知道在内存中为对象分配的实际空间。

我试着用一些例子来解释:使用 64 位 JVM,指针大小应该是 8 个字节,所以:

  • Object singletest = new Object();将需要 8 个字节来引用对象加上对象的大小
  • Object arraytest = new Object[10];将需要 8 个字节来引用存储数组的位置加上 8*10 字节来存储数组加上每个对象的大小
  • int singleint = new int;只需要 2 个字节,因为 int 是原始类型
  • int[] arrayint = new int[10];将需要 8 个字节来引用位置和 10*2 字节来引用元素

此外,这也是 Java 允许编写如下代码的原因:

真正发生的是数组会像对象一样产生引用(又名指针),因此在声明时第二维的大小并不重要(并且维度可以不同,它们之间没有联系)。然后占用的空间将是:对doublearray的引用(8 个字节),第一个维度只是对第二个维度的引用,所以其他 8 个字节 * 2(第一个维度大小),最后是 2 个字节 * 5 加上 2 个字节 * 10 .

所以,最后,如果有一个像这样的真实课程:

当我调用 new 进行实例化时,将使用 8 个字节的指针(或将其命名为引用,因为它是 Java)加上 2+2 个字节将整数存储到类中。

问题是:我是对的还是我写的都是废话?此外,当我不实例化一个对象而只是声明它时,是否会分配 8 个字节以供进一步使用?如果我分配一个空值怎么办?

同时对于原始类型,我很确定只要声明它就会分配请求的空间(如果我声明一个“int i”,那么我可以立即调用 i++,因为没有使用引用,只有一部分内存设置为“0” )。

我在互联网上搜索没有聪明的回应......我知道我写了很多问题,但任何帮助将不胜感激!(也许我不是唯一感兴趣的人)

0 投票
1 回答
429 浏览

asp.net - WebImage和大内存消耗

我们在 ASP.NET MVC3 中有图像上传的场景。

  • 控制器

    /li>
  • 图像管理器

    /li>

所以我们从客户端接收图像作为 HttpPostedFileBase。我们将 byte[] fileBytes 传递给 imageManager 的 Resize 方法。图像管理器正在创建新的 WebImage 实例,然后调整图像大小并再次将其转换为 byte[]。

调试此代码时,当我通过 wi.GetBytes() 行时,我的内存使用量急剧增加(至少 500mb)。我正在上传 10mb 的图片。上传较小尺寸的照片(~1.5mb)时,内存消耗是正常的。

这可能是什么原因,可以通过某种方式解决吗?

谢谢

0 投票
0 回答
781 浏览

python - 在 Windows 中测试 Python 的内存限制

我试图探测 Python 32 位内存限制。所以我写了这个小程序

并查看了 Windows 任务管理器中 python.exe 的内存消耗情况。首先,我很惊讶它偶尔会减少(有时几乎减半)。其次,数量仅上升到大约 500MB(我相信在另一台 64 位机器上它会不断上升)。

计算机有 4GB 内存,windows boot>3GB 应该是活动的,我用 .patch 修补了 python.exe imagecfg.exe -l。没有其他相关进程在运行且总内存不超过 40%。我相信同样的程序可以在另一台计算机上运行。

有什么建议可以检查我的 python 现在是否可以达到 3GB?