我终于明白了。解决的办法是……比较奇怪。TL; DR:在下运行
strace。继续阅读以获得更详细的解释。
当我决定在下面运行IntelliJ
strace来查看它正在打开哪些文件以确定它是否是文件系统瓶颈时,我遇到了它。
这给了我一些非常奇怪的结果:
strace正在喷涌出几乎恒定的段错误。不仅如此,而且IntelliJ的运行也很好,不会花很多时间索引。
与朋友协商后,我了解到,在Arch Linux上,每次发生段错误时,systemd都会记录进程内存的转储, 除非附加了调试器
。
strace被认为是调试器。由于所有段错误,Arch保持日志内存转储时,它一直在挫败我的磁盘,因此为什么索引要花这么长时间,因为它在争夺磁盘I /
O。
我现在的解决方案是简单地在IntelliJ下运行
strace。但是,我将进一步研究该问题,因为我认为
java应该不会进行过多的讨论。



