You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle Linux 7.8上IntelliJ启动失败(无可用锁错误)

IntelliJ IDEA启动报错:java.io.IOException: No locks available(Oracle Linux 7.8)

环境信息

  • 操作系统:Oracle Linux Server release 7.8
  • IDE版本:IntelliJ IDEA Community Edition 2022.2.2(安装包:ideaIC-2022.2.2.tar.gz)

复现步骤

  • 下载对应版本的tar包并解压
  • 运行./idea.sh时触发启动失败错误

错误日志

CompileCommand: exclude com/intellij/openapi/vfs/impl/FilePartNodeRoot.trieDescend bool exclude = true

Start Failed
Internal error. Please refer to https://jb.gg/ide/critical-startup-errors

java.io.IOException: No locks available
        at java.base/sun.nio.ch.FileDispatcherImpl.lock0(Native Method)
        at java.base/sun.nio.ch.FileDispatcherImpl.lock(FileDispatcherImpl.java:96)
        at java.base/sun.nio.ch.FileChannelImpl.lock(FileChannelImpl.java:1286)
        at java.base/java.nio.channels.FileChannel.lock(FileChannel.java:1089)
        at com.intellij.idea.SocketLock.lockPortFiles(SocketLock.java:205)
        at com.intellij.idea.SocketLock.lockAndTryActivate(SocketLock.java:131)
        at com.intellij.idea.StartupUtil.lockSystemDirs(StartupUtil.java:781)
        at com.intellij.idea.StartupUtil.start(StartupUtil.java:169)
        at com.intellij.idea.Main.bootstrap(Main.java:119)
        at com.intellij.idea.Main.main(Main.java:81)

-----
Your JRE: 17.0.4+7-b469.53 amd64 (JetBrains s.r.o.)

已尝试操作

执行JetBrains官方支持文档中的所有解决步骤,问题未得到解决。

针对性解决建议

  1. 调整系统文件锁与文件描述符限制
    临时调整当前会话的限制:

    ulimit -n 65536
    ulimit -l unlimited
    

    若需永久生效,编辑/etc/security/limits.conf,添加以下配置后重新登录:

    * soft nofile 65536
    * hard nofile 65536
    * soft memlock unlimited
    * hard memlock unlimited
    
  2. 指定自定义临时目录
    系统默认/tmp目录可能存在权限或锁限制,手动指定IDEA使用的临时目录:

    mkdir -p ~/idea_temp
    export IDEA_TMP_DIR=~/idea_temp
    ./idea.sh
    
  3. 修复目录权限
    确保IDEA安装目录、用户配置及缓存目录拥有当前用户的完整读写权限:

    chown -R $USER:$USER /path/to/your/idea_install_dir
    chown -R $USER:$USER ~/.config/JetBrains
    chown -R $USER:$USER ~/.cache/JetBrains
    
  4. 禁用Socket锁验证(临时测试)
    通过启动参数跳过Socket锁检查:

    IDEA_JVM_ARGS="-Didea.no.locks=true" ./idea.sh
    

    或编辑IDEA安装目录下的idea.vmoptions文件,添加一行:

    -Didea.no.locks=true
    

内容的提问来源于stack exchange,提问作者Chaipau

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 01:10:29