【问题标题】:IntelliJ IDEA compilation speedup in LinuxLinux 中的 IntelliJ IDEA 编译加速
【发布时间】:2013-10-24 08:25:33
【问题描述】:

我在 Linux 上使用 IntelliJ IDEA,最近我有 16 GB 的 RAM,那么有什么方法可以使用此内存加速我的项目编译?

【问题讨论】:

标签: linux ubuntu intellij-idea ramdisk tmpfs


【解决方案1】:

首先,为了加速 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 中,打开 Project Structure(默认为Ctrl+Alt+Shift+S),然后转到 Project - 'Project compiler output' 并将其移动到 RAM 磁盘挂载点:

/tmp/projectName/out

(我添加了projectName 文件夹,以便在我需要到达那里或同时处理多个项目时轻松找到它)

然后,转到模块,在所有模块中转到路径并选择“继承项目编译输出路径”,或者,如果您想使用自定义编译输出路径,请修改“输出路径”和“测试输出路径”你以前用它来投影编译器输出的方式。

就是这样,伙计们!

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

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

P.P.S.如果你使用 SSD 磁盘,除了编译加速之外,你会减少磁盘上的写入操作,所以它也将帮助你的 SSD 过上幸福的生活;)

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

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

      使用类似 profile-sync-daemon 的东西来保持文件同步。可以轻松地将 Idea 添加为应用程序。或者,您可以使用任何同步守护进程

      您需要更改“idea.system.path”和“idea.log.path” 可以在他们的文档中找到有关 Idea 设置的更多详细信息。这个想法是将任何经常发生的变化移到 RAM 中。

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

      这个解决方案的坏处在于,当 RAM 中的空间用完时,操作系统会分页并减慢一切。

      希望对您有所帮助。

      【讨论】:

        猜你喜欢
        • 2023-03-06
        • 1970-01-01
        • 1970-01-01
        • 2014-04-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-22
        • 1970-01-01
        相关资源
        最近更新 更多