相关疑难解决方法(0)

在Windows上使用包XML时内存泄漏

阅读内存泄漏解析r中的XML(包括链接的帖子)和R帮助上的这篇文章,并且鉴于已经过了一段时间,我仍然认为这是一个值得关注的未解决的问题,因为该XML软件包在整个R宇宙中被广泛使用.

因此,请将此视为后续帖子和/或参考,并提供有希望的信息性但简洁的问题说明.

问题

以后可以使用XPath搜索XML/HTML文档的方式需要内部使用C指针(AFAIU).而且似乎至少在MS Windows上(我在Windows 8.1,64位上运行)这些引用都没有被垃圾收集器正确识别.因此,消耗的内存未被正确释放,这导致在某个时刻冻结R进程.

迄今为止的中心发现

对我而言,似乎XML:free和/或gc确实/ /或不识别通过或随后使用等处理XML/HTML文档时涉及的所有内存:xmlParsehtmlParsexpathApply

报告的OS任务(Rterm.exe)的内存使用量显着增加,而R进程的报告内存"从R内看"(函数memory.size)适度增加(相比之下).请参阅列表元素mem_r,mem_os以及ratio下面的实质解析周期之前和之后.

所有的一切,并已建议一切抛(free,rmgc),内存使用率仍然一直增加时xmlParse等被调用.这只是一个多少的问题.所以恕我直言必须仍然有一些不正常的东西.


插图

我从Duncan的Omegahat git存储库中借用了性能分析代码.

一些准备:

Sys.setenv("LANGUAGE"="en")   
require("compiler")
require("XML")

> sessionInfo()
R version 3.1.0 (2014-04-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)

locale:
[1] LC_COLLATE=German_Germany.1252  LC_CTYPE=German_Germany.1252   
[3] LC_MONETARY=German_Germany.1252 LC_NUMERIC=C                   
[5] LC_TIME=German_Germany.1252    

attached base packages: …
Run Code Online (Sandbox Code Playgroud)

xml windows parsing memory-leaks r

11
推荐指数
1
解决办法
736
查看次数

标签 统计

memory-leaks ×1

parsing ×1

r ×1

windows ×1

xml ×1