草庐IT

memory-leaks

全部标签

php - pg_free_result() 是否必要,即使结果超出范围?

PHP文档对pg_free_result()有这样的说法:Thisfunctionneedonlybecalledifmemoryconsumptionduringscriptexecutionisaproblem.Otherwise,allresultmemorywillbeautomaticallyfreedwhenthescriptends.http://www.php.net/manual/en/function.pg-free-result.php我会(也许天真地)期望通过调用pg_query()返回的资源在超出范围时被垃圾回收。在这样的假设函数中:functionselec

PHP memory_get_peak_usage 和 ini_set ('memory_limit' , '-1' )

我最近遇到了内存分配问题,所以我开始尝试使用ini_set('memory_limit',value);指令,尝试以增量方式输入值。现在,通过网络(和SO)搜索我发现我可以将-1作为value。所以,我做到了,现在脚本完全运行到最后没有中断(在我以前得到内存分配错误之前)。然而,我不明白的是,脚本文件末尾的这两行:$mem=memory_get_peak_usage(true);echo"Peakmem.usage:".round($mem/1024/10124,2)."MB";产生大约10.8MB,当我查看/var/log/messages时,我可以看到这一行:Nov2113:52:

PHP脚本内存泄漏问题

我正在从命令行运行下面的PHP代码。问题是,它的内存消耗远远超过它应该的。在我的一生中,我无法弄清楚内存在何处被消耗。for($i=0;$iscrapeClassInfo($classObject,$termMap,$subjectMap);unset($classDOM);}根据我的说法,我的脚本消耗的内存在每次循环迭代后应该或多或少保持不变。当其成员超出范围时,$scraper->scrapeClassInfo()消耗的任何内存都应被释放。这是我得到的输出文件。为了简洁起见,我每隔10行显示一次输出:0:576716810:1205862420:1835008030:2490368

java - 在 javafx 应用程序中单击对话框按钮时内存增加

我附上了下面的javafx示例应用程序,其中有一个用于对话框的对话框类。当单击对话框中存在的按钮时-它的内存增加太多。仅当对话框显示时-在taskmanager中支持它需要57kb,然后当我们单击按钮并处理对话框时-taskmanager显示其内存开始增加-最后它崩溃,获取转储内存异常。示例中有以下类Dialog.java:它显示带有ok-取消按钮的对话框MessageDialog.fxml:此fxml创建对话框MessageDialogController是MessageDialog.fxml的关联文件JavaFXSample.java是运行此示例的主要类。Dialog.javapa

java - 由于 SolrJ、HttpClient、JVM 或我的应用程序中的 SSL 证书无效,类加载器泄漏?

最近几天,我在一个大型应用程序中分析了一个类加载器泄漏,我已经解决了这个问题。我的应用程序使用SolrJ,它将通过@Bean初始化。-方法:@Bean(destroyMethod="close")publicSolrClientsolrClient(){returnnewHttpSolrClient(SOLR_URL);}SolrJ(org.apache.solr:solr-solrj:5.4.1)使用ApacheHttpClient(org.apache.httpcomponents:httpclient:4.4.1)。HttpClient通过使用像javax.net.ssl.SSL

java - 在非 Android 应用程序上使用 LeakCanary

LeakCanary可以用在非Android应用上吗?例如,在JavaFx应用程序中? 最佳答案 简短的回答是不可以。LeakCanarydocumentationsite是这样说的:LeakCanary’sknowledgeoftheinternalsoftheAndroidFrameworkgivesitauniqueabilitytonarrowdownthecauseofeachleak,helpingdevelopersdramaticallyreduceOutOfMemoryErrorcrashes.据此,我们推断正是该

java - 如何诊断由 Java 程序引起的 C 内存泄漏?

我正在处理一个大型应用程序(300KLOC),它在Sun1.6JVM(1.6_05)中导致内存泄漏。分析Java显示没有泄漏。JVM是否提供任何诊断来检测泄漏原因?我还不能创建一个简单的、独立的Java测试用例。解决这个问题的唯一方法是在JVM上使用C堆分析器吗?该应用程序创建套接字池并执行大量网络I/O。 最佳答案 像profiler4j这样的分析器可以显示托管和非托管内存(实时曲线)。然后您可以查看是否有泄漏以及泄漏发生的时间。但是您没有找到更多信息。在此之后有2种可能的解决方案:您可以使用实时曲线隔离问题并创建更简单的测试,直

java - Twitter4j TwitterStream 或 BufferReading 导致 java.lang.OutOfMemoryError : Java Heap Space

这是我的第一篇Stackoverflow帖子,如果不是很好,请见谅。反馈肯定会有帮助!我目前在使用TwitterStreamingAPI的项目中遇到了java.lang.OutOfMemoryError:JavaHeapspace问题。在传输大约500-1000条推文后出现错误,我无法查明是什么原因导致的。在StatusListener的onStatus方法中,我有以下代码:publicvoidonStatus(Statusstatus){tweetCount++;System.out.println("Tweet#"+tweetCount);StringstatusInfo=stat

java - 即使没有 gc 根,WebappClassLoader 内存泄漏

HEREISTHEHEADDUMP(UPDATEDON10/29/2013)我在一个网络应用中工作:Tomcat7.0.24Java6Spring3(使用aop-cglib)基于Log4j的SLF4JOracle一致性经过大量工作,我设法删除了所有对类加载器的强引用,现在它是垃圾收集器的候选者。那么,内存泄漏解决了吗?当然不是!因为在几次热部署之后,由于PermGen空间出现了OOME。感谢Yourkit,我能够检查WebappClassLoader是PendingFinalization这意味着它正在终结队列中等待(实际上,不是WebappClassLoader本身就是他的一个ref

原生 C 和 Fortran 代码的 Java 内存泄漏

我正在开发一个旧的java程序,其中包含一个带有Fortran调用的native库。所以,我有Java通过JNI调用C,然后调用Fortran。在生产中我们有一个内存不足的错误,比如:Nativememoryallocation(malloc)failedtoallocate120000bytesforjfloatinC:\BUILD_AREA\jdk6_37\hotspot\src\share\vm\prims\jni.cpp我怀疑是内存泄漏。我是公司的新人,我想在Linux上工作,但他们让我在Windows上工作:(在生产环境下,我们使用.so文件,因为我们在solaris上,而我