memory-management相关内容

Mathematica 内存不足

我正在尝试运行以下程序,该程序计算系数仅为 +1 或 -1 的 d 次多项式的根,然后将其存储到文件中. d = 20;n = 18000;f[z_, i_] := Sum[(2 Mod[Floor[(i - 1)/2^k], 2] - 1) z^(d - k), {k, 0, d}]; 这里 f[z,i] 给出了一个带正负号的 z 多项式,以二进制计数.假设 d=2,我们会有 f[z, ..
发布时间:2021-12-31 08:08:11 其他开发

阻止 iOS 7 MKMapView 泄漏内存

我注意到我的应用程序会泄漏内存,但如果我将 MKMapView 取出,内存问题就会消失. 为了测试这个理论,我做了一个非常简单的项目,它有一个视图,它推送一个带有 MKMapView 的视图,然后弹出和推送.而已.视图控制器中没有代码,一切都通过故事板完成. 如果我来回切换到地图视图,它在推入和弹出包含地图的视图后开始大约 3MB,这大约是内存的 230MB 的 15 倍. 还有 ..

ASP.NET 网站内存使用量相当高

我有一个 ASP.NET 网站,它将在大约 3-4 天内使用大约 2GB 的物理内存,这对我来说听起来很糟糕.目前,我已将 IIS 配置为在达到 500mb 时重新启动应用程序池进程.我想尝试找出问题所在. 在 .NET 中创建对象的新实例时,我的印象是不需要释放它,因为 .NET 垃圾收集器会为我完成此操作. 是这种情况还是这可能是我遇到问题的原因之一? 解决方案 .NET ..
发布时间:2021-12-31 08:06:39 C#/.NET

工作人员完成后,Sidekiq 不释放内存

我有大约 六个 Sidekiq 工作器,它们执行 JSON 抓取.根据端点的数据集大小,它们在 1 分钟到 4 小时之间完成.尤其是观看耗时 4 小时的长视频时,我发现随着时间的推移,内存有非常轻微的增长. 这不是问题,直到我想再次安排相同的工人作业.内存不会被释放并堆积起来,直到我遇到 Linux OOM Killer,它摆脱了我的 Sidekiq 进程. 内存泄漏?我观察了 Obj ..

如何找到扭曲服务器内存使用量增加的来源?

我有一个用 Python 编写的基于 Twisted 的音频广播服务器.它工作正常,但是当服务器上有更多用户时,它的内存使用量会增加,但是当这些用户下线时,内存使用量永远不会下降.如下图所示: 在listeners/radio曲线上升的地方可以看到内存使用曲线上升,但是listener/radio的峰值过后,内存使用率仍然很高,不会下降. 我尝试了以下方法来解决这个问题: 将 T ..
发布时间:2021-12-31 08:06:01 Python

为什么异常会导致 Node.js 中的资源泄漏?

如果您查看 Node.js 域文档 的开头,它指出: 根据 JavaScript 中 throw 工作原理的本质,几乎没有任何方法可以安全地“从上次中断的地方继续",而不会泄漏引用或创建其他类型的未定义脆弱状态. 再次在第一部分给出的代码示例中,它说: 虽然我们阻止了进程突然重启,但我们正在疯狂地泄漏资源 我想了解为什么会这样?什么资源泄露?他们建议您仅使用域来捕获错误并安 ..

引用计数智能指针的引用计数是如何工作的?

换句话说,实现如何跟踪计数? 是否有一个类似地图的对象可以被所有 shared_ptr 实例访问,其键是指针的地址,值是引用的数量?如果我必须实现一个 shared_ptr,这是我想到的第一个想法. 在这些引用计数智能指针的情况下,是否有可能发生内存泄漏?如果是这样,我该如何避免它们? 解决方案 我见过两种不同的非侵入式方法来解决这个问题: 智能指针分配一个小的内存块来包 ..

如何查找哪个 PHP 脚本正在泄漏内存?

我的专用服务器有 32GB 内存,内存不断增加,我现在必须每天重新启动它.这让我失去了客户和金钱. 我很难找到内存泄漏的位置.我在网上能找到的只是人们说“使用 xdebug",但我找不到任何关于查找内存泄漏的 xdebug 教程.我试过在函数调用之前和之后打印 memory_get_usage 但这是正确的方法吗? 我有很多 php 脚本正在运行——有些来自访问者,有些来自 cron ..
发布时间:2021-12-31 08:04:15 PHP

Xcode 内存图是否为非内存周期的强引用提供任何智能视觉指示器?

作为我之前的后续如何使用 dispatchQueues 创建引用循环?: 对于强引用(会造成泄漏,但不是引用循环)例如Timer、DispatchSourceTimer、DispatchWorkItem,内存图没有创建紫色图标,我怀疑是因为没有找到两个对象强烈地指着对方. 我知道我可以来回观察一个特定的类没有离开内存,但想知道 Xcode 是否提供了更多的东西. 还有其他指标吗? ..

.NET 垃圾收集器基础知识

如果这个问题的答案是微不足道的,我深表歉意.但我仍然无法自己弄清楚这一点. .NET 中的垃圾收集器如何识别堆上哪些对象是垃圾,哪些对象不是? 假设一个 .NET 应用程序正在运行,并且在某个时间点发生垃圾收集(为了简单起见,让我们省略代和终结队列). 现在应用程序可能有: 指向堆上对象的堆栈变量. 包含堆上对象地址的寄存器. 指向堆上对象的静态变量. 这就是我假 ..

Javascript嵌套函数性能

我有一些嵌套函数,例如 var freak = function() {var die = function() { ... }死(这个);} 据我所知,每次调用 freak 时都会创建(分配)die 函数. 因此,如果 freak 被调用很多次,这意味着将浪费大量内存(假设 die 没有使用 freak 的上下文;换句话说,即使它只分配一次并在多次调用 freak 之间共享,它也能正常 ..

可以分配给Android应用程序的最大本机内存

VM 堆的大小不能超过 16mb、24mb、32mb,具体取决于手机.但是本机堆的最大大小是多少?应用在前台时可以分配多少本机内存. 谢谢. 解决方案 从技术上讲,NDK 中没有任何限制.有人问过这个问题并被提及这个 android-ndk Groups 线程.相关引用: "另外鉴于这是NDK列表,限制实际上是不是强加给你的,因为它只是在 Java 堆上.没有限制本机堆中的分配 ..
发布时间:2021-12-31 00:02:49 移动开发

Python 内存不足,使用 cElementTree.iterparse 解析 XML

我的 XML 解析函数的简化版本在这里: 导入 xml.etree.cElementTree 作为 ET定义分析(xml):it = ET.iterparse(file(xml))计数 = 0for (ev, el) 其中:计数 += 1打印('计数:{0}'.格式(计数)) 这会导致 Python 内存不足,这没有多大意义.我实际存储的唯一内容是计数,一个整数.为什么要这样做: 看到最 ..
发布时间:2021-12-31 00:00:54 Python

/proc/$pid/maps 显示在 x86_64 linux 上没有 rwx 权限的页面

/proc/$pid/maps 显示在 x86_64 Linux 上没有 rwx 权限的页面.我注意到当我在 64 位 Linux 上读取 /proc/$pid/maps 时,我有没有权限的内存页,但在 32 位 Linux 中,它们不存在. 我正在尝试监控进程的内存使用情况,但我很困惑.为什么有些页面没有 rwx 权限.他们正在消耗我的记忆! 这是“top"的 64 位 Linux ..
发布时间:2021-12-31 00:00:16 服务器开发

如何使用 LINQ-To-SQL 避免内存泄漏?

我在使用 LINQ-To-SQL 时遇到了一些有关内存使用的问题.我在 Windows 服务中使用它进行一些处理,并且我正在循环处理从上下文中提取的大量数据.是的 - 我知道我可以使用存储过程来做到这一点,但有一些原因表明这不是理想的解决方案. 无论如何,我看到的基本上是即使在我调用 context.SubmitChanges() 之后内存也没有被释放.所以我最终不得不做各种奇怪的事情,比如 ..

在 UIViewController 中使 NSTimer 无效以避免保留周期的最佳时间

有谁知道什么时候停止在 UIViewController 内保持引用的 NSTimer 的最佳时间,以避免计时器和控制器之间的保留循环? 这里有更详细的问题:我在 UIViewController 中有一个 NSTimer. 在视图控制器的 ViewDidLoad 期间,我启动计时器: statusTimer = [NSTimer scheduleTimerWithTimeInter ..