草庐IT

gc_enable

全部标签

java - 为什么调用 System.gc() 是不好的做法?

在answering之后关于如何force-freeobjectsinJava的问题(这家伙正在使用System.gc()清除1.5GBHashMap),有人告诉我手动调用System.gc()是不好的做法,但评论是不完全令人信服。此外,似乎没有人敢赞成或反对我的回答。那里有人告诉我这是不好的做法,但后来我也被告知垃圾收集器运行不会再系统地停止世界,它也可以被JVM有效地用作提示,所以我'我有点不知所措。我确实理解JVM在需要回收内存时通常比您更清楚。我也明白担心几千字节的数据是愚蠢的。我也明白,即使是兆字节的数据也不是几年前的样子。但是,1.5GB?您知道内存中大约有1.5GB的数据

java.lang.OutOfMemoryError : GC overhead limit exceeded

这个问题在这里已经有了答案:Errorjava.lang.OutOfMemoryError:GCoverheadlimitexceeded(22个回答)关闭2年前。我在创建几个(数十万个)HashMap对象的程序中遇到此错误,每个对象有几个(15-20)个文本条目。在提交到数据库之前,这些字符串必须全部收集(而不是分解成更小的数量)。根据Sun的说法,错误发生在“如果在垃圾收集上花费了太多时间:如果超过98%的总时间花在垃圾收集上,而堆的回收率不到2%,则会出现OutOfMemoryError被扔掉。”。显然,可以使用命令行向JVM传递参数增加堆大小,通过“-Xmx1024m”(或更多

ruby - Windows 下 Ruby 上的 RGeo : How to enable GEOS support?

我正在尝试使用RGeogem在Ruby中执行一些空间操作。不幸的是,很多操作都需要GEOS库,我找不到任何说明如何将其集成到Windows中的文档(我使用的是Windows764位)。我尝试从http://trac.osgeo.org/osgeo4w/下载并安装GEOS的Windows二进制文件并通过geminstallrgeo----with-geos-dir="C:\OSGeo4W64\bin重新安装RGeogem(geos_c.dll).仍然,使用RGeo::Geos.supported?返回false。有人知道怎么解决吗? 最佳答案

ruby-on-rails - 在新遗物中启用 GC 分析

我有一个RubyonRails应用程序,我想用NewRelic监控GC。有关如何执行此操作的文档非常稀少。我已经让NewRelic从我的应用中收集数据。我想要的是添加GC分析。任何人都可以向我解释这是如何完成的吗? 最佳答案 您可以在应用程序初始化中使用以下调用之一在NewRelic中启用GC分析工具:MRI1.9.2或更高版本:GC::Profiler.enableRuby企业版:GC.enable_stats对于您的Rails应用程序,您可以将此调用添加到config/initializers中的初始化程序,或者将其直接添加到您

ruby - 在 net-ldap for Ruby 中搜索 "Enabled"用户

我正在使用net-ldapgem搜索事件目录。我可以使用过滤器搜索用户:filter=Net::LDAP::Filter.eq("sAMAccountName","neil*")filter2=~Net::LDAP::Filter.eq("objectclass","computer")joined_filter=Net::LDAP::Filter.join(filter,filter2)ldap.search(:base=>treebase,:filter=>joined_filter)do|entry|putsentry.sAMAccountNameend这为我提供了sAMAcco

ruby - watir button.enabled?总是返回真值

我在做@browser.some_button(:id=>'some_id').enabled?但即使按钮被禁用,它也总是返回真实值。我试着休眠了一段时间,然后去看看工作流按钮是否意外启用了,但它没有。可能出了什么问题? 最佳答案 问题元素#enabled?方法仅检查元素是否具有disabled属性。它不会检查其中一个类是否包含禁用一词。例如,给定html:可以看到只有第一个按钮没有启用,这个按钮有disabled属性:p@browser.button(:id=>'disabled_id').enabled?#=>falsep@br

ruby - Ruby 编译时 "--enable-shared"是什么意思?

RVM将此标志用于./configure。它的意思是“为Ruby构建一个共享库”,但是我在哪里可以获得有关使用此编译标志时实际发生的更多信息? 最佳答案 它将创建libruby.so以便其他程序可以使用它,例如支持Ruby的Vim。 关于ruby-Ruby编译时"--enable-shared"是什么意思?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/18246610/

ruby - 为什么这个 XML 解析 Ruby 代码在禁用 GC 的情况下运行得更慢?

我有一段使用libxml-rubygem解析500MBXML文件的代码。令我惊讶的是,这段代码在GC禁用的情况下运行较慢,这似乎违反直觉。可能是什么原因?我有足够的可用内存,但系统没有交换。require'xml'#GC.disable@reader=XML::Reader.file('books.xml',:options=>XML::Parser::Options::NOBLANKS)@reader.read@reader.readwhile@reader.name=='book'book_id=@reader.get_attribute('id')@reader.readunti

ruby - 如何确定我在 OS X 上安装的 R 是否启用了 "--enable-R-shlib"选项?

我已经通过.pkg方法在我的OSX机器上安装了R。我试图让一个名为RSRuby的Rubygem工作,虽然它安装正确,但当我尝试调用该gem时它会抛出错误。Fatalerror:RhomedirectoryisnotdefinedRSRuby文档指出R应该使用选项--enable-R-shlib安装。但R文档指出MacOSX安装默认执行此操作。如果您不知道在安装过程中明确调用了此选项,您如何验证该选项是否已在安装中启用?我正在寻找RSRuby找不到R主目录的原因,这似乎是最有可能的问题。根据RSRuby文档,我将其复制到我的主目录中[~]$R_HOME=/Library/Framewor

c++ - enable_shared_from_this 和继承

我有一个继承自enable_shared_from_this的类型,以及从该类型继承的另一种类型。现在我不能使用shared_from_this方法,因为它返回基类型,并且在特定的派生类方法中我需要派生类型。直接从这里构造一个shared_ptr是否有效?编辑:在一个相关问题中,我如何才能从shared_ptr类型的右值移动类型为shared_ptr?我使用dynamic_cast来验证它确实是正确的类型,但现在我似乎无法完成实际的移动。 最佳答案 一旦您获得shared_ptr,你可以使用static_pointer_cast将其