解决linux下,Eclipse系列软件运行时闪烁,CPU占用高,一段时间后卡死

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zjx923759789/article/details/84729961

软件包括

xmind
dbeaver
truestudio
eclipse

原因分析

在linux下,eclipse的图形界面实现主要是GTK,用到了org.eclipse.equinox.launcher.gtk.linux.x86_64这个模块。

但是这个模块在默认执行系统安装的gtk组件,目前我所遇到的情况是,一旦运行在gtk3的时候,生成的软件界面会不断闪烁,内存使用量不断增加(假设标准情况下是300M左右,内存使用量会逐渐增加到500M,甚至更高,比如xmind,直接占光内存)

可能是在使用GTK3的时候,有内存泄露的情况,更具体的原因,我没有找出来。

解决方法

和我的博客https://mp.csdn.net/postedit/78648658所使用的方法一致。

首先找到软件安装目录下的配置文件。
比如:
xmind的配置文件在/usr/share/xmind/XMind/XMind.ini
dbeaver的配置文件在/usr/share/dbeaver/dbeaver.ini

文件内容一般是

@user.home/.xmind/configuration
-data
@user.home/.xmind/workspace
-startup
/usr/share/xmind/plugins/org.eclipse.equinox.launcher_1.3.200.v20160318-1642.jar
--launcher.library
/usr/share/xmind/plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.400.v20160518-1444
--launcher.defaultAction
openFile
--launcher.GTK_version
2
-eclipse.keyring
@user.home/.xmind/secure_storage_linux
-vmargs
-Dfile.encoding=UTF-8

注意看是否有这么一行
/usr/share/xmind/plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.400.v20160518-1444 --launcher.defaultAction
如果里面存在org.eclipse.equinox.launcher.gtk.linux.x86_64,这就意味着调用了GTK的库。我的修改方法会生效。

如同上面的代码所示范的,在配置文件中添加一行参数

--launcher.GTK_version
2

目的是强制指定使用的GTK版本为2
改成GTK2以后有缺点,就是鼠标的指针在单击以后有一定的卡顿感觉,这个在拖动窗口元素的时候能够感觉出来,其他时候,运行是完全正常的。
至少,窗口不再闪烁,也不会突然卡死。

如果没有org.eclipse.equinox.launcher.gtk.linux.x86_64,我的方法不一定会奏效。如果有相关的解决办法,或者更底层的解决办法,请联系我。

解决方法补充

网上也有增加软件运行时虚拟机的内存大小的方法,现补充如下

同样是打开配置文件,在里面添加

-Xms64m
-Xmx1024m
-XX:PermSize=256M
-XX:MaxPermSize=1024M

这个大小自己随意设置,尽量大一些,多给jvm虚拟机一些内存,可以延迟卡死的时间。

对于我这种因为内存溢出,cpu占用高,这个方法完全没有效果。

猜你喜欢

转载自blog.csdn.net/zjx923759789/article/details/84729961