Linux中的IntelliJ IDEA编译加速



我正在Linux上使用IntelliJ IDEA,最近我有16 GB的RAM,所以有什么方法可以使用这个内存加快我的项目编译吗?

首先,为了加速IntelliJ IDEA本身,你可能会发现这个讨论非常有用。

加速编译的最简单方法是将编译输出移动到 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文件夹,以便在我需要到达那里或同时处理多个项目时轻松找到它)

然后,转到"模块",在所有模块中转到"路径"并选择"继承项目编译输出路径",

或者,如果要使用自定义编译输出路径,请修改"输出路径"和"测试输出路径",就像之前对项目编译器输出所做的那样。

就是这样,伙计们!

附言几个数字:不同情况下我当前项目编译的时间(大约):

HDD:     80s
SSD:     30s
SSD+RAM: 20s

附言如果您使用SSD磁盘,除了编译加速外,您还可以减少磁盘上的写入操作,因此它还将帮助您的SSD从此过上幸福的生活;)

是的,你可以。有几种方法可以做到这一点。首先,您可以根据您拥有的内存量微调 JVM。以这个 https://gist.github.com/zafarella/43bc260c3c0cdc34f109 为例。

此外,根据您使用的 Linux 发行版,还有一种方法可以创建 RAM 磁盘并将内容重新同步到 HDD。基本上,您将所有日志和tmp文件(包括索引)放入RAM中-您的想法会飞。

使用类似此配置文件同步守护程序的内容来保持文件同步。可以轻松地将Idea添加为应用程序。或者,您可以使用任何同步守护程序

您需要更改"idea.system.path"和"idea.log.path"有关 Idea 设置的更多详细信息,请参阅他们的文档。这个想法是将经常更改的任何内容移动到RAM中。

更多 RAM 磁盘替代品 https://wiki.debian.org/SSDOptimization#Persistent_RAMDISK

这个解决方案的缺点是,当您在RAM操作系统中没有足够的空间时,它会对内容进行页面,并且会减慢一切。

希望有帮助。

除了虚拟硬盘方法之外,您还可以通过为其进程提供更多内存(但不要太多)并并行编译独立模块来加快编译速度。这两个选项都可以在"设置"|"编译器。

相关内容

  • 没有找到相关文章

最新更新