问题标签 [memory]

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 投票
3 回答
764 浏览

.net - 查看已分配内存

我正在寻找一种工具($,免费,开源;我不在乎),它不仅可以让我查看 .NET 程序的内存统计信息,还可以查看对象层次结构。我真的很希望能够深入每个对象并查看它的足迹,以及它引用的所有对象。

我看过 RedGate 的 Ants Profiler 之类的东西,但这并不是我想要的:我无法查看特定的实例。

编辑:我以前使用过 .NET Memory Profiler(Visual Studio 附带的那个,以及曾经是 SDK 一部分的那个(?)),虽然它真的很好(并且显示了大多数其他人没有的视图) t),我真正想要的是能够深入了解我的对象层次结构,查看每个对象实例。

0 投票
2 回答
2308 浏览

c# - 是否可以跟踪分配/解除分配?

据我所知,这是不可能的,所以我真的只是希望有一个左字段未记录的分配挂钩函数。
我想要一种方法来跟踪像_CrtSetAllocHook中的分配,但是对于C#/.NET.
垃圾收集器/分配的唯一可见性似乎是GC.CollectionCount
任何人有任何其他.NET 内存魔力?

0 投票
11 回答
1458 浏览

memory - 如何记录 malloc

这有点假设并且非常简化,但是......

假设一个程序将调用第三方编写的函数。这些当事方可以被认为是非敌对的,但不能被认为是“有能力的”。每个函数都会接受一些参数,有副作用并返回一个值。它们在不运行时没有状态。

目标是通过记录所有 malloc(等)并在函数退出后释放所有内容来确保它们不会导致内存泄漏。

这可能吗?这实用吗?

ps 对我来说重要的部分是确保没有分配持续存在,因此在不这样做的情况下消除内存泄漏的方法对我没有用。

0 投票
6 回答
5091 浏览

memory - Ubuntu 32 bit maximum address space

Jeff covered this a while back on his blog in terms of 32 bit Vista.

Does the same 32 bit 4 GB memory cap that applies in 32 bit Vista apply to 32 bit Ubuntu? Are there any 32 bit operating systems that have creatively solved this problem?

0 投票
3 回答
611 浏览

.net - 确定一个类使用多少内存?

我试图找到一种方法来确定在运行时给定类在 .NET 中使用了多少内存。使用Marshal.SizeOf()已淘汰,因为它仅适用于值类型。有没有办法准确检查一个类使用了多少内存?

0 投票
8 回答
12703 浏览

c++ - 是否需要销毁 char * = "string" 或 char * = new char[6]?

我认为这char* = "string"char* = new char[6]. 我相信这些字符串是在堆而不是堆栈上创建的。那么,当我用完它们时,我是否需要销毁它们或释放它们的内存,或者它们是否会被自己销毁?

0 投票
27 回答
333354 浏览

java - 在 Java 中,确定对象大小的最佳方法是什么?

我有一个应用程序可以读取包含大量数据行的 CSV 文件。我给用户一个基于数据类型的行数总结,但我想确保我没有读入太多的数据行并导致OutOfMemoryErrors。每行转换为一个对象。有没有一种简单的方法可以以编程方式找出该对象的大小?是否有一个参考定义了原始类型和对象参考的大小VM

现在,我有代码说 read up to 32,000 rows,但我也希望有代码说 read as many rows as possible 直到我使用了32MB内存。也许这是一个不同的问题,但我仍然想知道。

0 投票
17 回答
26267 浏览

c - C的内存泄漏检测器?

人们对哪些内存泄漏检测器有很好的体验?

以下是迄今为止的答案摘要:

Valgrind - 用于构建动态分析工具的仪器框架。

Electric Fence - 与 GDB 一起使用的工具

Splint - 注释辅助的轻量级静态检查

Glow Code - 这是一个完整的实时性能和内存分析器,适用于使用 C++、C# 或任何 .NET Framework 开发应用程序的 Windows 和 .NET 程序员

另请参阅此stackoverflow 帖子

0 投票
4 回答
7578 浏览

c++ - 全局内存是否在 C++ 中初始化?

全局内存是否在 C++ 中初始化?如果是这样,怎么办?

(二)澄清:

当程序启动时,在初始化原语之前,将成为全局内存的内存空间中有什么?我试图了解它是归零还是垃圾。

instance()情况是:可以在初始化之前通过调用设置单例引用:

结果得到两个单例实例?

请参阅我关于单例的多个实例的 C++ 测验...

0 投票
3 回答
14359 浏览

c# - 找出 C# 中的对象使用了多少内存?

有谁知道找出对象实例占用多少内存的方法?

例如,如果我有以下对象的实例:

有没有办法找出实例占用了多少内存tc

询问的原因是,尽管 C# 内置了内存管理,但我经常遇到不清除对象实例的问题(例如,跟踪某事的列表)。

有几个相当不错的内存分析器(例如 ANTS Profiler),但在多线程环境中,即使使用这些工具,也很难弄清楚什么属于哪里。