我在 Linux 上使用 IntelliJ IDEA,最近我有 16 GB 的 RAM,所以有什么方法可以使用这个内存加快我的项目编译?
首先,为了加速 IntelliJ IDEA 本身,您可能会发现this discussion非常有用。
加速编译的最简单方法是将编译输出移动到 RAM 磁盘。
RAM 磁盘设置
打开 fstab
$ sudo gedit /etc/fstab
(而不是gedit
你可以使用vi
或任何你喜欢的)
设置 RAM 磁盘装入点
我在系统中的几个地方使用 RAM 磁盘,其中一个是/tmp
,所以我只是把我的编译输出放在那里:
tmpfs /var/tmp tmpfs defaults 0 0
在这种情况下,您的文件系统大小将不受限制,但没关系,我的/tmp
大小现在是 73MB。但是,如果您担心 RAM 磁盘大小会变得太大-您可以限制它的大小,例如:
tmpfs /var/tmp tmpfs defaults,size=512M 0 0
项目设置
在 IntelliJ IDEA 中,打开项目结构(默认情况下为Ctrl+Alt+Shift+S
),然后转到项目-'项目编译器输出' 并将其移动到 RAM 磁盘装入点:
/tmp/projectName/out
(我添加了projectName
文件夹,以便在需要到达那里或同时处理多个项目时轻松找到它)
然后,转到模块,在所有模块中,转到路径并选择“继承项目编译输出路径”,或者,如果要使用自定义编译输出路径,请修改“输出路径”和“测试输出路径”。
就这样,伙计们!
P.S.几个数字:我目前的项目编译在不同情况下的时间(约):
HDD: 80s
SSD: 30s
SSD+RAM: 20s
P.P.S.如果您使用 SSD 磁盘,除了编译加速之外,您还将减少磁盘上的写入操作,因此它也将帮助您的 SSD 从此过上幸福的生活;)
是的你可以。有几种方法可以做到这一点。首先你可以微调 JVM 的内存量你有。以这个https://gist.github.com/zafarella/43bc260c3c0cdc34f109一个为例。
此外,根据您使用的 Linux 发行版,有一种方法可以创建 RAM 磁盘并将内容同步到 HDD 中。基本上,您将把所有日志和 tmp 文件(包括索引)放入 RAM 中-您的想飞。
使用类似 this profile-sync-daemon 的东西来保持文件同步。可以轻松地将 Idea 添加为应用程序。或者你可以使用 anything-sync-daemon
您需要更改“idea.system.path”和“idea.log.path”有关 Idea 设置的更多详细信息可以在他们的文档中找到。
更多 RAM 磁盘选择https://wiki.debian.org/SSDOptimization#Persistent_RAMDISK
这个解决方案的缺点是,当你在 RAM 操作系统中耗尽空间时,它会分页,它会减慢一切。
希望有帮助。
除了 ramdisk 方法之外,您还可以通过为其进程提供更多内存(但不要太多)并并行编译独立模块来加速编译。这两个选项都可以在设置 | 编译器上找到。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(87条)