我有一台 Linux 机器,在 Windows 7 主机(Core i7,16 GB RAM)上运行 VirtualBox,具有 4GB RAM 和 2 个 VCPU。Linux VM 是我的项目工作区。我在 Windows 机器上运行 Mobaxterm,并将运行 PyCharm 的 Linux 机器的 DISPLAY 设置为此。
很长时间以来,它都运行正常,没有任何问题,但从昨天开始,我发现滚动变得非常缓慢,PyCharm 总体上变得非常慢。当我上下滚动或打开任何对话框时,我几乎可以看到 Swing 组件被绘制。
我试过了:
- 重新启动虚拟机和 Windows 主机
- 删除目录
.idea
并~/.PyCharm40
重新创建我的项目 - 我没有使用 VirtualBox 中的桥接网络,而是尝试通过仅主机适配器进行连接(以避免接触公司 LAN)。
- 增加了 Pycharm 的 -Xms 和 -Xmx 设置
- 尝试在此 Linux VM 上使用 Firefox,然后使用相同的 DISPLAY 测试滚动或 UI 是否缓慢(结果没有);尝试加载一个大页面,滚动很顺畅
- 关闭 PyCharm 中的所有代码检查(IDE 处于省电模式)
- 卸载(删除 PyCharm、所有
.idea
目录和~/.PyCharm40
目录)并尝试重新安装 - 卸载 MobaXterm(及其配置)并重新安装后尝试
然而,我没有看到任何改进。我不知道该尝试什么以及如何解决这个问题。Windows 主机上绝对没有性能问题。top
显示 PyCharm 的 Java 进程的 CPU 使用率合理(介于 5% 和 15% 之间;我认为还不错?)。
uptime
也没有显示任何高负载:
$ uptime
20:04:54 up 57 min, 1 user, load average: 0.00, 0.00, 0.00
答案1
我解决了这个问题,但我不明白为什么它有效,所以任何关于这个问题的解释都是有用的。我记录下来是为了让其他遇到这个问题的人受益。
我所做的是DISPLAY
在 MobaXterm 中设置环境变量,如下所示:
$ export DISPLAY=<my_windows_ip>:0.0
根据 MobaXterm 文档,这显然是不必要的,因为它自行转发。
那么如何解决我的问题:
> ssh my_linux_ip
$ pycharm
就是这样。我不需要明确设置 DISPLAY 变量。但是,这对面临同样问题的同事不起作用。
更新:
最后我同事电脑上的问题也解决了。这是因为他在 VirtualBox 上的 Linux VM 的 CPU 设置导致了这个问题。
脚步:
- 启动 Oracle VirtualBox Manager
- 单击相关的虚拟机
->
设置 - 系统
->
处理器 - 将执行上限拖至 100%
他之前的执行上限设定为44%。