我在Ubuntu 12.04上使用Eclipse Indigo(3.7.x)和sun hotspot java 6.
Eclipse经常冻结(没有特定模式,只是随机)。
Ubuntu系统分析器将进程状态显示为100%cpu(1个核心完全占用 - 有时显示为96或104%)并使用futex_wait_queue_me作为等待通道休眠。我可以从中推断出某种循环使得1个核心忙,但什么都不做。
每次eclipse冻结时我都使用Visualvm进行线程转储。每次,处于可运行状态的线程在堆栈顶部显示下面的类/方法
"main" prio=10 tid=0x00007f490c008000 nid=0xe4b runnable [0x00007f4913aea000]
java.lang.Thread.State: RUNNABLE at
org.eclipse.swt.internal.gtk.OS._gtk_tree_store_set(Native Method) at
org.eclipse.swt.internal.gtk.OS.gtk_tree_store_set(OS.java:11841) at
org.eclipse.swt.widgets.TreeItem.setImage(TreeItem.java:1613)
OS.java:11841的行如下(从grepcode.com浏览)
_gtk_tree_view_column_set_cell_data_func(tree_column, cell_renderer, func, func_data, destroy);
答案 0 :(得分:1)
如果可能的话,我建议更新Eclipse和Java。另一种可能性是降级Eclipse。第三种可能性是更新整个系统,以期更新可能有错误/错误的库文件。我的第四个猜测是插件可能导致问题。我最后的猜测是更新/降级GTK。