腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
视频
沙龙
1
回答
堆与JVM相关吗?
memory
、
memory-management
、
jvm
是将堆内存释放到JVM?--实际上,如果堆栈内存增加,堆内存将减少,那么J2me移动电话中的堆内存是什么?。是真的吗?我们在堆内存中分配内存--这是RAM.If的一部分--是真的,为什么J2me手机会给堆限制。?
浏览 0
提问于2012-05-15
得票数 0
3
回答
堆栈内存与堆内存
c++
、
memory
可能重复: 我正在用C++编程,我总是想知道堆栈内存和堆内存到底是什么。我只知道当我调用new时,我会从堆中获得内存。如果创建局部变量,我将从堆栈中获得内存。经过对internet的研究,最常见的答案是堆栈内存是临时的,堆内存是永久性的。 堆栈和堆内存模型是操作系统或计算机体系结构的概念吗?因此,其中有些可能不遵循堆栈和堆内存模型,或者它们都遵循它? 堆栈和堆内存是对虚拟内存的内存模型的抽象(这可能在磁盘和RAM之间交换内存)。那么堆栈和堆内存在物理上都可能是RAM还是磁盘?那么堆分配比堆栈分配慢的原因是什么呢? 另外,主程序将在堆栈或堆中运行? 此外,如果进程耗尽了所分配的堆栈内存
浏览 2
提问于2011-04-29
得票数 118
2
回答
堆栈溢出与堆栈崩溃
c
堆栈溢出流和堆栈崩溃之间有什么区别?何时发生堆栈崩溃?什么是堆超过流和堆崩溃。当堆栈超过流/堆超过流时会发生什么?
浏览 5
提问于2014-11-04
得票数 0
3
回答
为什么内存是以堆的形式组织的?
memory
、
heap
、
heap-memory
内存中至少有一部分是由new/malloc创建的,它是以堆的形式组织的。我知道堆是这样一种结构,即父节点总是大于或小于它的子节点。它要么是最大堆,要么是最小堆。 对于内存组织来说,构建堆的关键价值是什么?换句话说,对于哪种类型的信息或值,我们遵循堆构造规则(最大/最小堆)? 最后,使用堆模型来组织内存的优势是什么?有没有很好的例子或理由?
浏览 1
提问于2015-03-01
得票数 4
3
回答
‘共享对象内存’vs‘堆内存’- Java
java
、
performance
、
shared-memory
、
jmap
、
pmap
Java中的“共享对象内存”和“堆内存”有什么区别?是不是像“共享对象内存”是“堆内存”的超集? 这个问题的来源是jmap的文档。它提供了不同的选项来打印‘共享对象内存’和‘堆内存’。
浏览 2
提问于2011-07-28
得票数 14
回答已采纳
2
回答
堆栈能长成堆吗?
operating-system
、
heap-memory
、
stack-memory
我目前正在学习操作系统,并且我了解到堆栈位于内核和堆之间。让我困惑的是,在大多数实现中,由于堆栈趋向向下增长,而堆增长到更高的内存,那么阻止堆栈增长到堆中的是什么呢?如果有可能的话,如果它长到堆里会发生什么呢?
浏览 3
提问于2018-12-07
得票数 1
回答已采纳
3
回答
堆通常是如何实现的?
c++
、
c
、
memory
、
heap-memory
、
low-level
可能重复: 嗨,我的问题是堆,不是数据结构,而是用于动态内存分配的内存区域。 假设我们正在用C(或者C++)编写一个程序,并且在它的代码深处调用malloc() (或者在C++情况下调用新操作符)。现在,分配的内存的位置是什么?编译器(链接器?)添加用作堆的数据段?如何确定该部分的大小?如果我们试图分配比整个“堆段”更大的内存块,会发生什么情况?堆会扩大吗?如果是,怎么做?
浏览 5
提问于2010-11-20
得票数 3
回答已采纳
1
回答
查找内存泄漏和理解分离的DOM树
google-chrome
、
dom
、
memory-leaks
、
google-chrome-devtools
我正在检查内存泄漏在应用程序在空闲条件下使用Chrome DevTools。内存时间线记录在我看来很好,垃圾收集后JS堆中没有JS增加。 但是,当我获取堆快照时,我可以看到存在分离的DOM trees.Does,这意味着内存泄漏正在发生吗?如果是,那么为什么内存时间线没有记录堆大小增加。下面是堆快照的截图。 我还想了解它为独立DOM树显示的信息。与红色接壤的是文档DOM树/ 10656条目中的6803,。这个号码是6803和10656吗?提前感谢您的帮助。
浏览 0
提问于2017-06-14
得票数 1
5
回答
Java堆转储和堆分析后的堆大小不同
java
、
eclipse
、
memory-leaks
、
jvm
、
heap-dump
我正在经历内存泄漏,下面是一些细节。 在泄密后, 顶部显示50 as内存作为住宅。 堆转储文件大小为25 is。 eclipse分析器告诉我堆的大小是10 me。 在泄密前, 顶部显示30 as内存作为住宅。 堆转储文件大小为20 is eclipse分析器告诉我堆的大小是10 me。 我很惊讶顶部、堆转储大小和实际堆大小之间的差别。我猜想顶部和堆之间的区别在于垃圾收集器堆和本机堆区域的可能性。但是,堆转储文件大小和实际堆大小(来自eclipse分析器)为什么会有所不同呢? 对这个问题有什么见解吗? 更新/应答 一些建议是使用jcmd (),因为网站告诉
浏览 8
提问于2016-12-12
得票数 16
回答已采纳
2
回答
.net内存的使用,是什么决定了私有字节大小?
c#
、
memory-management
、
memory-leaks
、
working-set
被私有字节所迷惑! 目前,我们使用蚁群分析器分析了C# .NET应用程序的内存使用情况。这是我们在启动后的发现,主要形式在屏幕上可见。没有使用任何其他功能。 Gen 0堆- 5.8MB 第1代堆- 2.5MB 第二代堆- 13.9MB 所有堆中的字节-17 in 大对象堆- 0.7MB 私人Bytes -130 工作装置-150 Set 如果所有堆中的字节只有17 we,那么为什么要分配这么大的私有字节呢?私有字节是由系统分配的,还是私有字节在软件填充时从零开始扩展?也就是说,是一个实际上只能部分使用的气泡吗?如果是的话,是什么决定了它的大小?
浏览 3
提问于2012-07-18
得票数 4
回答已采纳
4
回答
堆实际上是堆吗?
java
、
.net
、
memory-management
可能的重复: 在.NET (据我所知,还有Java )中,动态分配对象的区域称为托管堆。但是,描述托管堆工作方式的大多数将其描述为线性数据结构,例如链接列表或堆栈。 那么,托管堆实际上是一个,还是用其他数据结构实现的呢?如果它实际上不使用堆数据结构,那么似乎是术语的重大失误,无法使这个词的意思过载。 如果它实际上是堆数据结构,那么满足堆属性的值是什么:分配的内存区域的大小?
浏览 4
提问于2011-01-08
得票数 21
回答已采纳
1
回答
空闲应用程序的堆大小随着时间的推移而变小的意义
java
、
memory
、
memory-management
、
heap-memory
我看到一个Java应用程序在没有用户输入的情况下处于空闲状态,堆大小将缓慢下降,而已用堆保持“恒定”。 我不确定这意味着什么,为什么会发生这种情况? 我的猜测是,这是一个JVM优化,以便在应用程序不使用堆的情况下使其更小,因为当应用程序接收到用户输入时,堆大小将再次增长(已用堆增加)
浏览 1
提问于2011-09-16
得票数 2
1
回答
理解Android垃圾收集
android
、
memory
、
collections
、
garbage
我很难在Android中找到有关垃圾收集的好信息。 我真的不明白你什么时候有记忆异常 这里有一个问题: 当我运行我的应用程序并使用Android设备监视器监视它时,当应用程序刚刚启动时,我看到分配的内存是8MB。 有一个按钮,每次按下都会创建一个对象。 因此,当我一直按下按钮时,分配的内存会不断增长,直到达到堆大小。当达到堆大小时,分配的内存返回到8MB,但是堆已经增长了一点。在那之后,整件事又发生了,堆还在继续增长。 在这种情况下,我是否有内存异常?或者堆的大小不断增加是正常的吗?
浏览 4
提问于2015-01-17
得票数 2
回答已采纳
5
回答
堆栈对堆栈,堆对堆
c++
、
stack
、
heap
、
heap-memory
、
stack-memory
我正在为我的数据组织期末考试而学习,我正在研究堆栈和堆,因为我知道它们将在决赛中,我需要知道它们之间的区别。我知道堆栈是什么和堆是什么。 但我搞不懂什么是堆栈,什么是堆。 堆栈是内存中存储内存的地方,如果内存空间不足,就会发生堆栈溢出。默认情况下,对象存储在这里,当对象超出作用域时,它会重新分配内存,而且速度更快。 堆是内存中存储内存的地方,如果内存空间不足,操作系统将分配更多内存。对于要存储在堆中的对象,需要使用新的运算符通知对象,并且只有在通知时才会解除分配。碎片问题可能会发生,它比堆栈慢,而且它能更好地处理大量内存。 但是什么是堆栈,什么是堆?这是存储内存的方式吗?例如,静态数组或静态向
浏览 8
提问于2014-05-06
得票数 10
回答已采纳
7
回答
为什么堆内存会出现?
c++
、
c
、
memory
我的问题非常基本,正如标题所述,我想知道为什么堆内存会出现在图片中。我知道堆内存支持动态内存分配,但是当RAM中存在两种类型的内存(静态内存和堆内存)时,为什么不能通过堆栈内存/在堆栈内存中这样做。为什么需要在进程地址空间中有单独的内存段,.While发布了这个问题--我遇到了几个与堆内存主题相关的帖子,但到目前为止,我检查的内容并没有回答我的问题,而是关于堆内存的定义和行为。为了更清楚地了解我的问题,为什么不能有一个也处理动态内存分配的大堆栈内存?.As我们知道动态内存是动态创建的,当required.Also可能出现内存溢出或泄漏问题时,动态内存就可以释放出来,但是如果存在堆或堆栈这样的大
浏览 8
提问于2015-09-11
得票数 2
回答已采纳
1
回答
什么时候堆用于动态内存分配?
memory
、
c
、
virtual-memory
关于内存分配的每一篇文章似乎要么解释了mmap是如何使用的,要么解释了如何使用sbrk,而没有考虑如何将它们与堆关联起来。 我已经收集到堆在内存分配中所起的几乎微不足道的作用--事实上,我不知道它做了什么:D,我请求有人来迷惑我。 这就是我所理解的: 1)当内存被错置时,扩展未初始化数据段BSS的结束。此扩展(将地址x移动到,例如,x-n)是调用sbrk的结果。在该模型中,内存被分配到n字节(假设每个地址与一个字节对应),sbrk降低了BSS段头的位置。这种模式现在已经过时。一些人将堆定义为所有此类扩展的聚合空间。其他人则不会--在后一种情况下,堆是做什么的? 2)在现代内存分配方案中,确实存
浏览 0
提问于2017-12-17
得票数 3
回答已采纳
2
回答
堆内存与对象内存
java
、
profiling
、
profiler
根据一篇关于Java内存和特性的论文: “.内存得分划分为两种类型:堆内存(它是应用程序在运行时消耗的内存)和对象内存(对象内存是程序中使用的各种对象(如整数和字符串等)分配的内存)。” 当他们说对象内存时,是指堆栈内存,还是什么意思?(因为,如果我没有错的话,对象是在Java堆中分配的) 第二个问题,如果我只想在一个完整的程序执行过程中测量堆和堆栈的总大小,我应该使用什么工具?我一直在环顾四周,尝试了NetBeans 7.3.1和YourKit 12.0.6中内置的Java,在这里我可以检查堆,但是当涉及到研究堆栈上的“对象”和变量时,我找不到一种方法! 总之,我如何衡量这篇论文所描
浏览 4
提问于2013-08-19
得票数 4
5
回答
在Android中"heap“是什么意思?
android
、
android-emulator
有时我的应用程序在模拟器中崩溃,说堆内存太低。这个堆是什么意思?我的应用程序使用本地数据库和ksoap服务。堆问题并不是每次都出现。它背后的原因是什么?
浏览 0
提问于2013-04-19
得票数 0
回答已采纳
8
回答
什么是内存堆?
malloc
什么是内存堆?
浏览 4
提问于2010-02-22
得票数 211
回答已采纳
2
回答
关于C++内存管理的基本问题
c++
、
memory
、
heap-memory
、
new-operator
、
stack-memory
// main.cpp class Cat() { public: Cat() { a = 0; (*b) = 0; } int a; int* b; }; int main(int argc, char* argv[]) { Cat cat1; Cat* cat2 = new Cat(); return 0; } 通常我不关心内存,但我想清楚地了解,cat1和cat2的a和b存在于什么内存中?堆栈还是堆? @BoPerson:你说得对,我应该用b = new int(
浏览 1
提问于2011-02-26
得票数 1
回答已采纳
2
回答
触发堆内存配置和钨
apache-spark
、
apache-spark-sql
、
spark-dataframe
、
apache-spark-2.0
、
off-heap
我认为随着Tungesten项目的集成,spark会自动使用非堆内存。 spark.memory.offheap.size和spark.memory.offheap.enabled是用来做什么的?我需要在这里手动指定钨的堆外内存大小吗?
浏览 17
提问于2017-04-11
得票数 17
回答已采纳
2
回答
Glassfish V2.1.1堆大小在服务器批处理作业后从未减小
java
、
jakarta-ee
、
glassfish
、
heap
、
cluster-computing
我已经设置了一个包含1个DAS和2个Node代理的glassfish集群。 系统有TimedObjects,每天批处理一次。glassfish架构下,只有1个集群实例可以触发TimerService创建的每个定时器的超时事件。 我的问题是集群实例的堆大小会触发批处理作业。VisualVM显示,一个实例始终具有可伸缩的堆大小(在加载服务器时增加,之后减小),而另一个实例始终具有最大堆大小,并且从不减小。 可以告诉我堆大小是最大的,因为批处理作业很大。但是,我唯一的问题是,为什么在工作完成后,它不会减少? VisualVM显示,在批处理作业后,触发超时事件的实例的已用堆内存减少。但是,为什么它的“
浏览 0
提问于2011-10-07
得票数 0
回答已采纳
3
回答
托管堆和非托管堆
.net
、
heap
、
unmanaged
什么是非托管堆? 我认为CLR管理的任何基于对象的内存都是托管堆,那么为什么我们要谈论非托管堆呢?
浏览 2
提问于2011-07-08
得票数 6
回答已采纳
2
回答
用于运行进程的HEap内存
c
、
command
、
heap-memory
、
ubuntu-10.04
实际上我的代码有malloc。我使用的是ubuntu,我想知道使用了多少堆内存? 有什么命令可以让我找到一个运行中的进程在ubuntu中使用了多少堆? 假设malloc处于无限循环中,它运行在一个终端上,使用另一个终端,我想知道这个运行过程占用了多少堆内存。
浏览 0
提问于2013-03-15
得票数 1
2
回答
使用什么数据结构来实现动态内存分配堆?
data-structures
、
memory-management
、
heap-memory
我一直以为是用来实现的,但有人告诉我我错了。 堆是如何实现的(例如,由典型的malloc例程或HeapCreate等实现的)通常是实现的?他们使用什么数据结构? 我没问的是: 在网上搜索时,我看到了tons关于如何在严格限制下实现堆的描述。 举几个例子,我看到了很多关于如何实现的描述: 永远不会将内存释放回OS (!)的堆 只有在大小相似的小块上才能提供合理性能的堆。 对大型、连续的块只提供合理性能的堆。 等。 有趣的是,他们都回避了更难回答的问题: “正常”的通用堆(如malloc、HeapCreate后面的堆)是如何实现的? 他们使用什么数据结构(也许还有算法)?
浏览 10
提问于2012-12-09
得票数 29
1
回答
目标C:对应于存储的对象的实例变量的指针在哪里?
ios
、
objective-c
、
pointers
、
memory-management
假设我有以下类定义 @interface ClassX: NSObject @property NSArray *arr; @end 假设我在方法中有以下行 -(void)someMethod { ClassX *obj = [ClassX new]; obj.arr = [NSArray arrayWithObjects:[NSNumber numberWithInt:2], [NSNumber numberWithInt:3], nil]; //Edit to avoid getting derailed by differences due to @ notation } 堆栈里
浏览 1
提问于2016-10-08
得票数 2
回答已采纳
1
回答
在Opera TV Emulator中分配限制是什么意思?
memory
、
opera
、
alloc
Opera TV Emulator用户指南说它可以配置分配限制和堆限制。堆限制是显而易见的。但是分配限制意味着什么呢?
浏览 5
提问于2016-11-07
得票数 0
2
回答
android内存管理的外部堆
android
、
memory
我正在为android开发一个应用程序,因为我们有很多图形,所以我们使用了大量的内存。 我监控内存堆的大小,大约是3-4Mb,当我做一些需要更多内存的事情时,我会看到5Mb (然后又回到3)。这不是什么大问题,但其他一些事情是在堆内存之外处理的,比如加载可绘制文件。 例如,如果我在eclipse外运行ddms工具,并转到sysinfo,我看到我的应用程序在Droid上占用20Mb,在G1上占用12 my,但是堆大小在两者中是相同的,因为数据是相同的,但图像是不同的。 因此,问题是:我如何知道是什么将内存从堆内存中移出?还有什么东西占用堆内存之外的内存?复杂的布局(大树)?动画? 谢谢 丹尼尔
浏览 0
提问于2010-01-16
得票数 4
回答已采纳
3
回答
在HP-UX环境JVM中,在C堆和Java堆中运行的是什么?
java
、
c
、
jvm
、
heap-memory
、
hp-ux
我在HP-UX环境中遇到了某些Java应用程序的特殊问题。 堆被设置为-mx512,但是,使用gpm查看此java进程的内存区域时,会发现它使用了超过1.6 gpm的RSS内存,其中1.1 gpm分配给了数据区域。在24-48小时内增长相当快,然后大幅放缓,每隔几个小时仍增长2MB。但是,Java堆没有泄漏的迹象。 出于好奇,我做了一点研究,发现了这篇HP关于java heap和c++heap中内存泄漏的文章: 我的问题是,是什么决定了在C堆和java堆中运行的是什么,对于没有通过java堆运行的对象,您如何识别那些在C堆上运行的对象?另外,java堆是否位于C堆内部?
浏览 1
提问于2008-09-16
得票数 2
2
回答
为什么FullGC不能释放物理内存(RES)?
java
、
garbage-collection
下面是RES增长曲线: 然后是Old 占用率: 在jmap的强制下,老一代确实减少了,但是RES一直在增长. pmap结果: anon是什么意思,它是非堆内存? 编辑 堆只使用了大约500 many,但是RSS超过了15 The,pmap显示许多和大约有65 many。 我的问题是什么会消耗堆之外的内存?谢谢!
浏览 7
提问于2015-08-12
得票数 1
3
回答
程序如何在内存中运行以及操作系统处理内存的方式
c
、
memory
、
memory-management
当进程在运行时执行时,我不清楚内存管理。 这是一张图表 图中我不清楚以下几点: 1)这个图像所指的堆栈是什么? 2)指文件映射的内存映射段是什么? 3)堆与进程有什么关系?堆是仅在进程中处理,还是堆由操作系统内核维护,然后当用户空间应用程序调用时,malloc (使用堆)分配内存空间? 这篇文章提到 虚拟地址空间,它在32位模式下总是一个4GB的内存地址块.这些虚拟地址通过页表映射到物理内存, 4)这是否意味着一次只有一个程序在内存中运行,占用整个4GB的RAM? 同一篇文章还提到 Linux通过在堆栈、内存映射段和堆的起始地址中添加偏移量来随机
浏览 2
提问于2013-01-13
得票数 13
回答已采纳
3
回答
为什么内存被分割成堆栈和堆?
memory
、
memory-management
、
heap-memory
、
stack-memory
可能重复: 我有几个关于堆栈和堆的问题。 基本需要知道的是,堆栈比堆更快,但是有限的。(如果我错了,请纠正我)。 然而,我总是想知道堆栈和堆究竟是如何工作的。RAM只是内存的一部分,它没有被划分为‘堆栈’和‘堆’(或者是吗?)如果是这样的话,为什么首先在堆栈和堆中分割内存? 操作系统只允许我们分配堆栈上的所有东西,->,一切运行得更快,->快乐的世界? 我很确定情况并非如此。但为什么!?有人能给我一个深入的答案吗? 很抱歉,如果这篇文章是某个人做过的某个帖子的副本,那么有那么多与堆栈和堆有关的东西,我找不到确切的问题。如果你碰巧认识一个,那就去把它联系起来。
浏览 3
提问于2011-11-17
得票数 47
4
回答
什么决定堆内存的分配位置?
c++
、
memory
、
memory-management
、
heap-memory
、
memory-fragmentation
让我澄清一下:我理解new和delete (和delete[])是如何工作的。我理解堆栈是什么,以及何时在堆栈和堆上分配内存。 然而,我不明白的是:堆上的是内存分配的位置。我知道我们应该把堆看作是一个大的无限制内存池,但情况肯定不是这样。 在选择堆内存的存储位置时,控制了什么?它是如何选择的? 还有:“将内存返回到操作系统”这个术语是我经常遇到的一个术语。这是否意味着堆在所有进程之间共享? 我之所以关心这一切,是因为我想了解更多关于内存碎片的知识。我想,在我学习如何处理内存碎片之前,先知道堆是如何工作的是个好主意,因为我没有足够的内存分配经验,也没有足够的C++来直接研究这个问题。
浏览 4
提问于2020-07-18
得票数 2
回答已采纳
2
回答
提交堆与最大堆
java
、
jvm
、
websphere
Hi JVM配置是: Xmx = 4096 Xms = 1024 在我的监控工具中:我总是在2g有一个提交的堆,我的服务器转到OutOfMemory错误。 我不明白为什么我的JVM提交的堆被限制在2g而没有成长到4g (最大堆) 为什么不使用空闲堆而我的服务器转到OutOfMemory异常? 注: 我的应用服务器是websphere 8.5。 我的服务器是Linux 64位。 提前感谢
浏览 12
提问于2015-10-12
得票数 3
2
回答
由.NET进程分配的内存何时被释放回Windows
.net
、
windows
、
garbage-collection
、
memory-management
安装程序 .NET为每个世代的堆(0、1、2、LOH)分配内存,以便在启动时和在集合之后尝试满足分配请求时获得一个连续的内存块。 分配给每个堆的内存很可能会随着应用程序“升温”而趋于平稳,除非可能是第二代和大型对象堆。在垃圾收集期间,每个堆(0、1、2)都会被扫描和压缩,除了刚刚被扫过的大型对象堆(LOH)。 我理解集合的“扫描”部分意味着GC标识哪些对象不再具有根,并可用于收集(或终结),而“紧凑”意味着重新组织堆中仍然存在的地址,以便剩余的堆具有更多可供其使用的连续内存。 由于超出了堆中每个段的预算,.NET将分配另一个段,以便在可能的情况下完成分配。 问题 我的问题在于每个堆中的内存发生
浏览 3
提问于2011-03-09
得票数 21
回答已采纳
2
回答
内存和内存配置中的Flink任务管理器
apache-flink
、
flink-streaming
我们使用Flink流在单个集群上运行几个作业。我们的工作是使用rocksDB来保持状态。集群配置为在3个单独的VM上运行单个Jobmanager和3个Taskmanager。每个TM被配置为使用14 of的RAM运行。JM被配置为运行1GB。 我们遇到了两个与内存相关的问题:-当运行具有8GB堆分配的任务管理器时,TM耗尽了堆内存,而堆出现了内存异常。我们解决这个问题的方法是将堆大小增加到14 to。这个配置似乎解决了这个问题,因为我们不再因为堆内存不足而崩溃。-尽管如此,在将堆大小增加到14 of (每个TM进程)后,OS会耗尽内存并杀死TM进程。RES内存随着时间的推移而增加,每TM进程达
浏览 0
提问于2018-06-12
得票数 3
3
回答
Linux堆-执行大量的新/删除是正常的,还是堆变得非常碎片化?
c
、
linux
、
gcc
、
http-headers
、
heap-memory
我不熟悉Linux堆是如何分配的。 我每秒多次多次调用malloc()/free(),总是使用相同的大小(大约有10个结构,每个结构的大小都是固定的)。除了init时间之外,我的内存都没有长时间被分配。 对于标准堆,这是否被认为是糟糕的形式?(我相信有人会问“你用的是什么堆?”--“呃,标准静态堆”..meaning我不太确定。) 我是否应该使用空闲列表,或者堆是否可以容忍大量相同的分配。我试图在可读性和性能之间取得平衡。 有什么工具可以帮我测量吗?
浏览 1
提问于2011-08-28
得票数 6
回答已采纳
1
回答
为什么Ignite服务器显示没有任何活动的堆使用?
ignite
点燃版本: 2.12操作系统: Windows 10 我正在努力理解点燃堆的用法。我使用以下命令启动了Ignite服务器,没有特殊的vm。正如所建议的 ignite.bat -v ..\examples\config\example-ignite.xml 使用visualvm工具开始分析堆使用情况的Post,其堆使用情况类似于。 接下来,我尝试增加堆内存并重新启动服务器。令人惊讶的是,现在点火器正在消耗更多的内存。 我知道GC正在努力清除堆,但是为什么启动内存消耗会随着堆空间的增加而增加呢? 这将如何影响~40-60G内存的服务器,以及Ignite将占用多少内存? 我计划在内存缓存中使用
浏览 3
提问于2022-04-14
得票数 0
回答已采纳
3
回答
.NET内存管理
.net
、
memory-management
有人能提供一个非常高层次的.NET内存管理概述吗? 更具体地说,我正在寻找内存管理的概述。 是否有一个整体的.net堆? 堆应用程序是否基于? 当我运行我的应用程序时,是创建了一个新的堆/分配了一个内存,还是来自总.net堆的内存? 当.net堆耗尽其原始内存时会发生什么情况?它对操作系统有更多的要求吗? 对我来说,基础知识是一个很好的开始,我可以继续阅读更多。
浏览 9
提问于2011-09-06
得票数 4
回答已采纳
5
回答
非常大的堆大小,但占用的内存很小
java
、
memory
、
garbage-collection
、
heap-memory
我在我的应用程序中看到了非常大的堆大小,但是使用的内存非常小: 堆大小: 10 GB+,使用内存: 500 MB 这是怎么解释的?为什么堆的大小没有减少。 我的java内存参数如下: -Xms8448m -Xmx12544m -XX:PermSize=192m -XX:MaxPermSize=256m -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=60 请指教,为什么会有这种奇怪的行为。我可以看到用过的内存在图中被垃圾收集,但是堆内存有什么问题?
浏览 6
提问于2012-09-21
得票数 1
回答已采纳
2
回答
IBM的J9VM的默认堆大小是多少?
java
、
heap
、
default
、
j9
我已经安装了IBM (Build2.3,J2RE 1.5.0IBM J9 2.3)。在获得OOM之后,堆转储的大小是383MB。JVM有多少堆? 我问这个问题的原因是,400MB的堆转储对于我期望的默认64MB堆似乎有点多,但我没有指定任何-Xm选项。J9是否使用不同的默认堆大小?如果是这样,我如何找出它是什么?
浏览 18
提问于2009-10-15
得票数 2
回答已采纳
2
回答
为什么内存不是从malloc中消失的?
c
、
memory-management
我在书中读到: 动态内存分配程序维护进程虚拟内存的一个区域,称为堆。每个系统的细节各不相同,但在不失去通用性的情况下,我们将假设堆是一个需求为零的内存,它在未初始化的bss区域之后立即开始,并向上增长(向更高的地址)。 所以,我不明白为什么堆中的内存没有用零初始化。更准确地说,我指的是malloc返回的内存块。
浏览 6
提问于2015-09-27
得票数 1
回答已采纳
2
回答
VMware客户机中的JVM堆大小调整
java
、
memory
、
vmware
这个问题的措辞可能更好:在管理程序(如VMware ESX )上运行Java如何影响Java堆? 从OS/hypervisor的角度来看,对JVM堆的访问是随机的 客户操作系统或管理程序很难对随机访问的内存进行优化。 有鉴于此,系统管理程序能否检测到JVM堆中未使用的页面? Java服务器应用程序的传统观点是,最好在JVM启动时分配所有堆,而不是允许根据需要动态调整堆的大小。换句话说,如果将堆大小设置为1GB,Java进程将获取1GB的连续虚拟地址空间(+二进制文件所需的任何内容),这是其他应用程序不再可用的内存。 VMware是否足够聪明地检测到其中一些堆实际上是未使用的
浏览 2
提问于2009-01-13
得票数 6
回答已采纳
2
回答
如何保证为JVM分配特定GB作为堆外内存
java
、
memory
、
memory-management
、
jvm
-Xmx10g保证JVM从OS获得10G的进程。类似地,我希望保证特定数量的内存(比如4g)用于我的非堆使用。 如果我机器的内存是8 8GB,我的java进程的Xmx是2G。现在,可能还有其他进程会消耗一些内存。因此,当我想要启动我的JVM时,我想要指定我想要在JVM中使用的堆外内存量。 -XX:MaxDirectMemorySize仅指定最大直接内存大小。 如何确保特定大小的堆外内存的可用性?有没有什么参数。
浏览 1
提问于2015-01-20
得票数 3
3
回答
Java进程大小为32位与64位
java
、
memory
、
jvm
来自 32位Java进程有一个由Java堆、本机堆和操作系统共享的4GB进程地址空间。 ..。 64位进程没有这个限制,地址能力是以兆字节为单位的。对于许多企业应用程序来说,拥有大型java堆是很常见的(我们已经看到了java堆需求超过100 GB的应用程序)。64位Java允许大量Java堆(以高达200 GB的堆发布基准)。 64位处理器有相当大(基本上非常大)的地址空间和32位没有地址空间,这背后的解释是什么?基本上,64位内部发生的事情不是32位机器内部发生的。
浏览 4
提问于2013-11-25
得票数 1
回答已采纳
4
回答
c++:本地数组定义与malloc调用
c++
、
c
、
arrays
、
malloc
这两者之间有什么区别: somefunction() { ... char *output; output = (char *) malloc((len * 2) + 1); ... } 这是: somefunction() { ... char output[(len * 2) + 1]; ... } 什么时候一个比另一个更合适? 谢谢大家的回答。以下是一个总结: ex.1是堆分配ex。2是堆栈分配堆栈上有一个大小限制,将其用于较小的分配(),您必须释放堆分配,否则会泄漏--一旦函数退出,堆
浏览 3
提问于2010-07-17
得票数 7
回答已采纳
7
回答
当使用HeapCreate函数时,或者在什么情况下需要大量的堆?
c++
、
windows
、
memory-management
Windows API有一组用于堆创建和处理的函数: HeapCreate、HeapAlloc、HeapDestroy等。我想知道在程序中使用另一个堆有什么用?从碎片的角度来看,您将获得外部碎片,其中内存不会在堆之间重用。因此,即使使用了低碎片堆,仍然存在碎片。附加堆的内存管理似乎是低级的。所以它们不容易使用。此外,还可以使用堆中的分配和管理分配的内存来模拟额外的堆。 那么它的用法是什么呢?你用过它吗?
浏览 1
提问于2009-06-22
得票数 2
回答已采纳
5
回答
为什么使用calloc将分配的内存初始化为零?
c
、
linux
、
linux-kernel
、
dynamic-memory-allocation
我们知道堆是一个零需求内存区,它紧跟在未初始化的数据区之后,向上增长(朝向更高的地址)。所谓需求为零,是指CPU第一次接触堆区域中的虚拟页时,对应的物理页将全为零。 如果是这样的话,为什么会有一个函数calloc用于将分配的内存初始化为零?如果demand-zero页面在访问时已经是零,为什么还需要将它们初始化为零呢?
浏览 0
提问于2020-09-22
得票数 3
2
回答
为什么要使用堆栈?为什么不只使用heap?- C/C++
memory
、
dynamic
、
heap-memory
、
allocation
、
stack-memory
根据我对动态内存分配的了解,堆似乎只是一个充裕的内存池,您可以想用多少就用多少。我的问题是,为什么不总是将堆用于变量和对象,而忘记堆栈呢?
浏览 3
提问于2013-06-20
得票数 1
回答已采纳
2
回答
如何使用命令行为JAVA分配空间
java
在将大型数据集加载到Jena时,我遇到了堆错误。‘有没有什么方法可以给JVM(Java)分配一个很大的堆空间。 我知道我可以通过对eclipse.ini进行更改来实现这一点。但是,有没有什么方法可以让我在linux中使用命令行增加Java堆的大小(我使用的是64 in的RAM服务器:运行12.04 Ubuntu LTS服务器)? 由于堆空间较少,我得到的错误是:线程主gc开销超过限制时出现异常。 另外,如何找到可以为系统设置的最大堆空间大小 我尝试导出JAVA_OPTS= -Xms4096m -Xmx4096m,但最终收到错误: bash: export:-Xms4096m': not
浏览 1
提问于2013-12-21
得票数 2
回答已采纳
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
jvm堆内存和GC简介
JVM堆外内存问题排查
内存溢出错误:java堆空间
如何大幅优化NGUI的堆内存分配
fastJson 与一起堆内存溢出‘血案
热门
标签
更多标签
云服务器
ICP备案
实时音视频
即时通信 IM
对象存储
活动推荐
运营活动
广告
关闭
领券