用完堆空间

Rag*_*ags 19 java jvm scala heap-memory

我有堆空间问题.我的程序很简单.有两个actor(发送和接收)"发送"actor每秒传递10000个对象来"接收",并接收发布这些对象.接收器接收的对象被保存在容器中,但容器每秒都被清空.因此容器没有空间耗尽.现在在420000个对象后,我的eclipse鞋出现了一个错误,说" ioconsole updater遇到了问题".当我转到细节时,我看到错误内部错误:: Java堆空间

我试过增加堆大小.我的堆大小是8096米,maxpermsize是4096

我正在使用visualVm监视我的代码,我注意到它没有超过堆大小.如何解决问题完全空白.

有人可以让我知道其他可能的情况会导致这样的错误.

Joh*_*tts 42

IOConsole是一个eclipse类,而不是你的程序.您是否经常打印到System.out?在Window> Preferences下搜索"console".为所有控制台缓冲区设置某种限制.尝试从程序中打印较少的输出.也许记录到文件.


小智 5

您可以添加以下JVM参数,以了解内存使用情况以及GC正在执行的操作:

-Xloggc:/tmp/gc.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps
Run Code Online (Sandbox Code Playgroud)


小智 5

由于控制台中的缓冲区大小,已发生此问题。

解决方案:

右键单击控制台->首选项

限制控制台。