说实话,我不知道这种情况是特定于我的计算机还是适用于任何Linux用户...但请听我说。
我以前在Windows 8.1平台上使用GitHub的Atom文本编辑器进行编码。我很喜欢它,所以当我切换到Linux(Ubuntu 15.10 Wily)时,我做的第一件事就是下载Atom的Linux版本并将其安装在我的系统上。一开始效果非常好。它非常快,甚至比Windows版本更快,所以我非常满意。
然而,在接下来的几天里,我重新安装了Linux和Atom - 它变得非常非常慢。我正在编辑一个Markdown文件,光标定位到我点击的位置要等2秒钟。我认为可能是某个软件包在吃掉CPU/内存方面有问题,因此我删除了所有软件包并从头开始。
但是,仍然没有改变。
然后,我决定检查系统监视器,因为一定有些事情发生了,因为自从我重新安装了Ubuntu 15.10(之前我玩了一些配置文件,把系统弄糟了...)并重新安装了Atom - 每次启动Atom时,我的CPU会变得非常热,风扇会变得非常响。显然这不是一个好兆头。
看,罪犯就在这里:
“atom --type=renderer --js-flags=--harmony --no-sandbox --lang=en-US --node-integration=true --enable-delegated-renderer --num-raster-threads=4 --gpu-rasterization-msaa-sample-count=8 --content-image-texture-target=3553 --video-image-texture-target=3553 --disable-accelerated-video-decode --disable-webrtc-hw-encoding --disable-gpu-compositing --channel=14354.0.624276243 --v8-natives-passed-by-fd --v8-snapshot-passed-by-fd”
是的,进程名称很长,但这里有一个更易读的参数列表:
--type=renderer
--js-flags=--harmony
--no-sandbox
--lang=en-US
--node-integration=true
--enable-delegated-renderer
--num-raster-threads=4
--gpu-rasterization-msaa-sample-count=8
--content-image-texture-target=3553
--video-image-texture-target=3553
--disable-accelerated-video-decode
--disable-webrtc-hw-encoding
--disable-gpu-compositing
--channel=14354.0.624276243
--v8-natives-passed-by-fd
--v8-snapshot-passed-by-fd
这是一个详细描述/统计过程的图像 - 为什么这个渲染器单独占用了如此多的虚拟内存……?
看到Atom的创建者也开发了Electron平台,我认为Atom是用Electron构建的。否则,我无法解释为什么当我启动Atom时Javascript V8引擎会作为渲染器运行-不管那意味着什么。
我真的很好奇为什么会发生这种情况,但最重要的是我太喜欢Atom了,不想轻易放弃它,所以我愿意奋斗一下,看看你们是否知道发生了什么。
如果有关系的话,我正在运行Ubuntu 15.10
和GNOME Shell 3.16.4
桌面环境。另外,apm --version
输出:
apm 1.5.0
npm 2.13.3
node 0.10.40
python 2.7.10
git 2.5.0
顺便提一句,由于这是我的第一个问题,我可能会在SE/SO上违反某些标准和网络礼仪,无论是通过我表达问题的方式还是任何原因 - 我不知道。如果是这样,请原谅我,因为我仍然有很多关于StackOverflow和这个帮助我进行编程旅程的惊人社区需要学习。提前感谢你们了。
sudo prime-select nvidia
没有起到作用,但还是谢谢帮助! - Eddo Hintoso