heap-memory相关内容

无效的堆地址和致命信号 11

每隔一段时间我的应用就会崩溃,我的日志会显示: @@@ ABORTING: dlfree 中无效的堆地址0xdeadbaad 处的致命信号 11 (SIGSEGV)(代码 = 1) 有时code=2,但总是致命信号11和无效堆地址. 我已经尝试研究这意味着什么以及如何解决它.这个话题最有帮助;但是,我仍然没有解决方案. 当我运行几个 AsyncTasks 来下载多个图像时发生错误. ..
发布时间:2022-01-07 22:01:38 移动开发

Android:位图、软引用和 OOM?

我在垂直 LinearLayout 中有一系列视图.当滚动到时,每个视图都会生成并绘制一个位图.出于性能原因,我宁愿不在每次调用 onDraw() 时都生成位图,但出于内存原因,我不能保留对位图的硬引用.我可以使用有关我应该采取的策略的建议. 我已经尝试了明显的路线:生成位图,然后用 SoftReference 包装它.这失败有两个原因.1. 参考资料的收集速度比我预期的要快得多.2. 我还 ..

使用 1 Mb 堆的奇怪位图

出于好奇,我最近使用 Eclipse 内存分析器测试了我的 Android 应用的内存泄漏. 我遇到了一个大小为 512 x 512 像素的奇怪位图,占用了大约 1 MB 的设备堆内存. 我检查了我的 drawables 文件夹,但找不到该尺寸 (512 x 512) 的位图. 我开始使用谷歌搜索并遇到了这个问题,其中一位用户解释了如何在内存分析器中获取“内存泄漏"引用背后的实际 ..

避免位图内存不足错误的建议

我正在开发一个安卓应用程序.该应用程序有一个包含大量图像的视图.我有一个错误,我会尽量提供尽可能多的信息,希望有人能给我一些建议. 该应用程序在所有本地测试中都运行良好.但是,我收到了很多来自用户的崩溃:java.lang.OutOfMemoryError:位图大小超出 VM 预算 这是堆栈跟踪 0 java.lang.OutOfMemoryError: 位图大小超出 VM 预算1 ..
发布时间:2022-01-06 11:18:29 移动开发

为什么 malloc() 可以互换调用 mmap() 和 brk()?

我是 C 和堆内存的新手,仍在努力理解动态内存分配. 跟踪Linux系统调用,发现如果使用malloc请求少量堆内存,则malloc在内部调用brk. 但是如果我使用 malloc 来请求非常大的堆内存,那么 malloc 会在内部调用 mmap. 所以brk和mmap肯定有很大的区别,但是理论上我们应该可以使用brk来分配堆内存,不管请求的大小.那么为什么malloc在分配大量 ..

如何在 1 秒内发送 4000 多个请求?

我有一个 HTTP GET 请求.我需要在 1 秒内将请求发送到应用服务器超过 4000 次. 我使用 JMeter 发送这些请求.我每次都使用嗅探器工具 (Wireshark) 为每个测试进行了空灵的跟踪. 我尝试通过一台机器、多台机器(并行)甚至分布式模式来实现这一点. 实际上,JMeter 的结果不是我关心的.此测试的关注点是在嗅探器工具中看到 4000 个请求在一秒钟内到 ..
发布时间:2022-01-04 12:20:07 Java开发

C 变量的范围

可能的重复: 正在从功能安全且便携? “life-time”C 中的字符串字面量 你好,我有点困惑 char *func(){return "你好";} 这里的“Hello"是字符序列/数组.它是一个局部变量,一旦函数返回它就必须消失.那我们怎么才能得到正确的值呢? 解决方案 "Hello" 是一个字符串文字,将在程序的生命周期内存在.引用C99标准的相关部分: 6.4 ..
发布时间:2022-01-04 11:48:31 其他开发

malloc 期间内核会发生什么?

我在一次采访中被问到这个问题.他们想知道的是,当用户调用 malloc(4) 分配 4 个字节的内存时,操作系统 (Linux) 如何响应?哪个子系统响应这个系统调用? 我告诉他 malloc() 将由内存管理子系统提供服务.malloc() 的实现会遍历空闲内存(物理内存)的列表,我们称之为空闲列表,并找到一个合适的大于或等于 4 字节的块.一旦找到这样的块,它将从空闲列表中删除并添加到已 ..
发布时间:2022-01-02 19:19:30 服务器开发

java.exe 进程使用更多内存并且不会释放它

我有一个 java 应用程序,它在任何复杂执行之前处于空闲状态时,在堆中使用 23 MB,TaskManager 中的 java.exe 进程大小约为 194 MB.经过一些复杂的操作,java.exe的大小增长到500MB左右,堆大小也随之增长.通过调用 System.gc() 方法,在几次完整的 GC 后,堆大小减少回 23MB.但是 java.exe 的大小从大约 600MB 减少到大约 2 ..
发布时间:2022-01-02 19:17:06 Java开发

“内部"是什么意思?在“!heap -h"中在windbg中输出?

我正在关注这个stackoverflow帖子有什么不同“!heap -flt -s xxxx"中的列windbg 命令代表 我正在尝试了解为占用大量内存的堆之一打印的信息. 我可以理解大部分列,但在我的 Windbg 上,我看到了一个额外的列.我的大部分条目都标记为内部.我想知道那是什么意思.我已经完成了 !gflags +ust.所以,我可以看到进行内存分配的调用堆栈.除了标记为内部 ..
发布时间:2021-12-31 08:14:12 C/C++开发

java 堆转储中那些奇怪的类名是什么意思?

我正在尝试使用 jmap 和 jhat.每次我这样做时,我都会看到特定对象类型的奇怪符号,例如字符串数组的 [S 和字符数组的 [C.我从来不记得什么是什么意思,而且很难用谷歌搜索这些东西. (EDIT:为了证明我的观点,事实证明 [S 是短数组,[C 是字符数组.) 有人愿意制作一个表格,列出所有不同的类名称及其含义吗?或者把我指向这样的表? 我特别想知道[Ljava.lang ..
发布时间:2021-12-31 08:04:54 Java开发

为什么我的 Java 堆转储大小比已用内存小得多?

问题 我们正试图找出我们的 Web 应用程序中大量内存泄漏的罪魁祸首.我们在查找内存泄漏方面的经验非常有限,但我们发现了如何使用 jmap 进行 java 堆转储并在 Eclipse MAT 中对其进行分析. 但是,由于我们的应用程序使用 56/60GB 内存,堆转储的大小仅为 16GB,在 Eclipse MAT 中甚至更少. 上下文 我们的服务器在 Ubuntu 14. ..
发布时间:2021-12-30 23:53:47 Java开发

如何修复“请求的数组大小超出 VM 限制"Java 中的错误?

是否有一个日志选项可以让 tomcat 记录错误的查询而不是仅仅抛出这个? 严重:java.lang.OutOfMemoryError:请求的数组大小超过 VM 限制 (尝试将日志级别设置为 FULL,但仅捕获上述内容) 这不足以进一步调试 或者,是否可以通过调整以下内容来分配更多内存来解决此问题? -Xms1024M -Xmx4096M -XX:MaxPermSize= ..
发布时间:2021-12-30 08:06:55 Java开发

分配的变量引用在哪里,在堆栈中还是在堆中?

我有个问题 例如,当我在方法中声明一个变量时会发生什么. 无效我的方法(){Ship myShip = new Ship();} myShip 引用在哪里分配,在堆栈中还是在堆中? 我在堆栈中思考,但我很困惑,因为我正在阅读 J2ME 游戏编程书"Java 类被实例化到 Java 堆上" 所有的java类? 提前致谢 解决方案 myShip 是对 Ship ..
发布时间:2021-12-28 22:45:06 Java开发

Docker 中的 Neo4j - 最大堆大小导致硬崩溃 137

我正在尝试在 OSX (El Capitan) 上运行的 Docker 容器中启动 Neo4j 3.1 实例(通过 Docker-Compose).一切都很好,除非我尝试将 Neo 可用的最大堆空间增加到默认值 512MB 以上. 根据文档,这可以通过添加来实现环境变量 NEO4J_dbms_memory_heap_maxSize,然后导致服务器包装器脚本相应地更新 neo4j.conf 文 ..
发布时间:2021-12-28 17:29:37 其他开发

Neo4j OutOfMemory 问题

这是我的 Main.java 源代码.它是从 neo4j-apoc-1.0 示例中抓取的.修改目标为存储2个节点1个关系的1M条记录: package javaapplication2;导入 org.neo4j.graphdb.GraphDatabaseService;导入 org.neo4j.graphdb.Node;导入 org.neo4j.graphdb.RelationshipType; ..
发布时间:2021-12-28 17:20:22 Java开发

java.lang.OutOfMemoryError:使用 NetBeans 的 Java 堆空间

这是我在 NetBeans 启动的 Tomcat servlet 容器实例中运行 Web 应用程序时遇到的错误.为了解决这个问题,我什至更改了 netbeans.conf 中的堆大小,但它仍然显示相同的错误.我怎样才能避免这种情况发生? HTTP 状态 500 -------------------------------------------------------------------- ..
发布时间:2021-12-26 14:48:37 Java开发

(静态链接的)DLL 使用与主程序不同的堆吗?

我是 Windows 编程的新手,我刚刚“浪费"了两个小时来寻找每个人似乎都知道的错误:您无法在 DLL 的堆上创建对象并在另一个 DLL 中销毁它(或在主程序). 我几乎可以肯定,在 Linux/Unix 上情况并非如此(如果是,请说出来,但我很确定我这样做了数千次没有问题......). 此时我有几个问题: 1) 静态链接的 DLL 是否使用与主程序不同的堆? 2) 静 ..
发布时间:2021-12-25 16:06:46 服务器开发