草庐IT

heap_profile

全部标签

java - JVisualVM "Heap Dump"按钮可以释放内存吗?

我有一个非常奇怪的问题。我正在开发一个基于EclipseEquinox的OSGi应用程序;它是使用OSGi日志服务(Equinox实现)开发的,现在我正在使用ApacheFelixOSGi日志服务实现对其进行测试。在API/代码方面,一切正常:OSGi日志服务是标准的,所以我可以毫无问题地从Equinox切换到Felix。但是,我观察到这种奇怪的行为:我将应用程序作为控制台程序启动,以查看控制台上的日志输出,并将其附加到JVisualVM以分析内存使用情况;JVisualVM图显示了一个80MB的已用堆。13小时后,平均堆大小达到220MB,所以我决定分析堆转储,并按下“堆转储”按钮:

c++ - 堆损坏 - "Free Heap block 61af0f0 modified at 61af194 after it was freed"C++

在我的应用程序中出现此错误:HEAP[App.exe]:HEAP:FreeHeapblock61af0f0modifiedat61af194afteritwasfreed这是一个调用堆栈:ntdll.dll!_RtlpBreakPointHeap@4()Unknownntdll.dll!@RtlpAllocateHeap@24()Unknownntdll.dll!_RtlAllocateHeap@12()Unknownntdll.dll!_RtlDebugAllocateHeap@12()Unknownntdll.dll!@RtlpAllocateHeap@24()Unknownntd

c++ - 堆损坏 - "Free Heap block 61af0f0 modified at 61af194 after it was freed"C++

在我的应用程序中出现此错误:HEAP[App.exe]:HEAP:FreeHeapblock61af0f0modifiedat61af194afteritwasfreed这是一个调用堆栈:ntdll.dll!_RtlpBreakPointHeap@4()Unknownntdll.dll!@RtlpAllocateHeap@24()Unknownntdll.dll!_RtlAllocateHeap@12()Unknownntdll.dll!_RtlDebugAllocateHeap@12()Unknownntdll.dll!@RtlpAllocateHeap@24()Unknownntd

Ruby:生产环境中的 GC::Profiler.enable 会导致性能问题吗?

在生产环境中激活ruby​​1.9.2中的GC::Profiler会导致性能问题吗?在性能关键的生产应用程序中使用它是否安全? 最佳答案 仅激活GC::Profiler不会导致性能下降,但问题是您打算如何处理它。将其与Rails.config.log_level进行比较。如果设置得太高(如:notice),则需要将大量数据写入日志文件,导致IO比需要的高得多,从而导致性能下降。这就是为什么在生产环境中将记录器设置为:debug以最小化IO操作。因此,如果您启用GC::Profiler并且仅在极端情况下轮询特定结果,那么我不认为应该有

Ruby:生产环境中的 GC::Profiler.enable 会导致性能问题吗?

在生产环境中激活ruby​​1.9.2中的GC::Profiler会导致性能问题吗?在性能关键的生产应用程序中使用它是否安全? 最佳答案 仅激活GC::Profiler不会导致性能下降,但问题是您打算如何处理它。将其与Rails.config.log_level进行比较。如果设置得太高(如:notice),则需要将大量数据写入日志文件,导致IO比需要的高得多,从而导致性能下降。这就是为什么在生产环境中将记录器设置为:debug以最小化IO操作。因此,如果您启用GC::Profiler并且仅在极端情况下轮询特定结果,那么我不认为应该有

java - JAXB - 解码 OutOfMemory : Java Heap Space

我目前正在尝试使用JAXB解码XML文件,但似乎XML文件太大(~500mb),解码器无法处理。我不断收到java.lang.OutOfMemoryError:Javaheapspace@Unmarshallerum=JAXBContext.newInstance("com.sample.xml");Exporte=(Export)um.unmarhsal(newFile("SAMPLE.XML"));我猜这是因为它试图将大型XML文件作为对象打开,但该文件对于java堆空间来说太大了。还有其他更“节省内存”的方法来解析大约500mb的大型XML文件吗?或者也许是一个可以帮助我处理大型

java - JAXB - 解码 OutOfMemory : Java Heap Space

我目前正在尝试使用JAXB解码XML文件,但似乎XML文件太大(~500mb),解码器无法处理。我不断收到java.lang.OutOfMemoryError:Javaheapspace@Unmarshallerum=JAXBContext.newInstance("com.sample.xml");Exporte=(Export)um.unmarhsal(newFile("SAMPLE.XML"));我猜这是因为它试图将大型XML文件作为对象打开,但该文件对于java堆空间来说太大了。还有其他更“节省内存”的方法来解析大约500mb的大型XML文件吗?或者也许是一个可以帮助我处理大型

java - 内存不足错误 : Java heap size when memory is available

我正在使用java-Xmx240gmypackage.myClass运行java操作系统是Ubuntu12.10。top表示MiBMem245743total,并显示java进程从一开始就有virt254g,并且res稳步增加到169g。那时看起来它开始垃圾收集很多,我认为是因为该程序是单线程的,并且CPU%大部分是100%最多此时,它在1300-2000左右跳跃(我断定它是多线程垃圾收集器),然后res慢慢移动到172g。那时java崩溃了线程“main”java.lang.OutOfMemoryError中的异常:Java堆空间在newdouble[2000][5]的行java-v

java - 内存不足错误 : Java heap size when memory is available

我正在使用java-Xmx240gmypackage.myClass运行java操作系统是Ubuntu12.10。top表示MiBMem245743total,并显示java进程从一开始就有virt254g,并且res稳步增加到169g。那时看起来它开始垃圾收集很多,我认为是因为该程序是单线程的,并且CPU%大部分是100%最多此时,它在1300-2000左右跳跃(我断定它是多线程垃圾收集器),然后res慢慢移动到172g。那时java崩溃了线程“main”java.lang.OutOfMemoryError中的异常:Java堆空间在newdouble[2000][5]的行java-v

安卓 NDK : Dalvik Heap and Native Heap - How Separate Between the two

我知道Android平台中有Dalvik(JVM)堆和native堆。而且DalvikGC在native堆上没有工作。但我不确定这是如何工作的,我的意思是Android操作系统如何将它们分开?可能的情况1:由单独的内存硬件组成(我不太相信)可能的情况2:AndroidOS的两个堆都有FIXED内存量可能的情况3:AndroidOS必须在必要时分配一部分Dalvik内存堆变成nativeheap,所以nativeheap和Dalvikheap的大小是灵活的。哪一个是真的,或者我没有提到的可能性? 最佳答案 native堆由dlmall