Tag: memory management

如何防止java.lang.OutOfMemoryError:在Scala编译PermGen空间?

我注意到了我的scala编译器的一个奇怪的行为。 编译类时偶尔会引发OutOfMemoryError。 这里是错误信息: [info] Compiling 1 Scala source to /Users/gruetter/Workspaces/scala/helloscala/target/scala-2.9.0/test-classes… java.lang.OutOfMemoryError: PermGen space Error during sbt execution: java.lang.OutOfMemoryError: PermGen space 它只发生一次,通常不会在随后的编译运行时抛出错误。 我使用Scala 2.9.0并通过SBT编译。 有没有人有线索,可能是什么原因造成这个错误? 提前感谢您的见解。

Java中variables的内存地址

请看下面的图片。 当我们使用new关键字在java中创build一个对象时,我们从OS获取一个内存地址。 当我们写出out.println(objName)我们可以看到一个“特殊的”string作为输出。 我的问题是: 这是什么输出? 如果是由操作系统给我们的内存地址: a)如何将此string转换为二进制文件? b)如何获得一个整数variables地址?

我怎么能给日食更多的内存比512M?

我有以下设置,但是当我把1024和1024replace所有512,那么eclipse将不会启动。 我怎么能有超过512M内存我的Eclipse JVM? -startup plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar –launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519 -product com.springsource.sts.ide –launcher.XXMaxPermSize 512M -vm C:\Program Files (x86)\Java\jdk1.6.0_18\bin\javaw -vmargs -Dosgi.requiredJavaVersion=1.5 -Xms512m -Xmx512m -XX:MaxPermSize=512m

如何在C中包含一个dynamic数组INS?

我环顾四周,但一直未能find解决scheme,必须是一个很好的问题。 这里是我有的代码: #include <stdlib.h> struct my_struct { int n; char s[] }; int main() { struct my_struct ms; ms.s = malloc(sizeof(char*)*50); } 这里是错误gcc给我:错误:无效的使用灵活的数组成员 如果我在结构体中声明s的声明,我可以编译它 char* s 这可能是一个优越的实现(指针算术比数组快,是吗?),但我想在CA声明 char s[] 是相同的 char* s

什么是正确的性能计数器,以获得一个进程的CPU和内存使用情况?

如何使用.net性能计数器类来获取特定进程的CPU和内存使用情况 ? 还有什么区别 Processor\% Processor Time和Process\% Processor Time ? 我在这两个之间有点困惑。

为什么在ARC中仍然需要@autoreleasepool?

对于大多数情况下,使用ARC(自动引用计数),我们不需要考虑Objective-C对象的内存pipe理。 不允许再创buildNSAutoreleasePool ,但有一个新的语法: @autoreleasepool { … } 我的问题是,当我不应该手动释放/自动释放时,为什么我需要这个? 编辑:总结一下我所得到的一切和评论简洁: 新的语法: @autoreleasepool { … }是新的语法 NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; … [pool drain]; 更重要的是: ARC使用autorelease以及release 。 它需要一个自动释放池来实现。 ARC不会为您创build自动释放池。 然而: 每个Cocoa应用程序的主线程中都有一个autorelease池。 有两种情况你可能想要使用@autoreleasepool : 当你在一个辅助线程中,并且没有自动释放池时,你必须自己来防止泄漏,比如myRunLoop(…) { @autoreleasepool { … } return success; } myRunLoop(…) { @autoreleasepool { … } return success; } 。 当你想创build一个更加本地化的游泳池时,正如@mattjgalloway在他的回答中所表明的那样。

增加(或减less)R进程可用的内存

我想增加(或减less)R的可用内存量。实现这个的方法是什么?

我如何确定在Python中的对象的大小?

在C中,我们可以findint , char等的大小。我想知道如何在Python中获取像string,整数等对象的大小。 相关的问题: Python列表(元组)中每个元素有多less个字节? 我正在使用包含指定值大小的大小字段的XML文件。 我必须parsing这个XML并做我的编码。 当我想要改变特定字段的值时,我将检查该值的大小字段。 这里我想比较一下,我input的新值是否与XML中的大小相同。 我需要检查新值的大小。 在string的情况下,我可以说它的长度。 但在int,float等情况下,我很困惑。

技巧来pipe理R会话中的可用内存

人们使用什么技巧来pipe理交互式R会话的可用内存? 我使用下面的函数[根据Petr Pikal和David Hinds在2004年的r-help列表中发布]来列出(和/或sorting)最大的对象,偶尔使用rm()一些。 但是到目前为止,最有效的解决scheme是在64位Linux下运行,内存充足。 任何其他好的技巧人们想分享? 请发邮件。 # improved list of objects .ls.objects <- function (pos = 1, pattern, order.by, decreasing=FALSE, head=FALSE, n=5) { napply <- function(names, fn) sapply(names, function(x) fn(get(x, pos = pos))) names <- ls(pos = pos, pattern = pattern) obj.class <- napply(names, function(x) as.character(class(x))[1]) obj.mode <- napply(names, mode) obj.type <- ifelse(is.na(obj.class), obj.mode, […]