必须先确认系统位数(uname -m)和PhpStorm真实安装路径(which phpstorm或find定位),64位系统改phpstorm64.vmoptions,32位改phpstorm.vmoptions;Snap/Flatpak安装路径特殊,宿主机文件修改无效;-Xmx勿超可用内存60%,建议-Xms与-Xmx等值,改完需彻底退出并重启IDE。

确认当前系统位数和安装路径再动手
64位系统必须改 phpstorm64.vmoptions,32位系统才用 phpstorm.vmoptions;改错文件完全无效。用 uname -m 看是否为 x86_64,再用 which phpstorm 或 find /opt /usr/local -name "phpstorm*.vmoptions" 2>/dev/null 定位真实路径——Snap/Flatpak 安装的 PhpStorm 路径完全不同(比如 /var/lib/snapd/snaps/phpstorm_*.tar.xz 内部),直接编辑宿主机上的文件没用。
别盲目套用网上“推荐值”,先看物理内存余量
-Xmx 设太高会抢系统资源,导致桌面卡顿甚至 SSH 断连。实操建议:
- 用
free -h看可用内存,-Xmx不要超过这个值的 60% - 8GB 物理内存机器,
-Xmx2048m是安全上限;16GB 可设到-Xmx4096m -
-Xms建议设成和-Xmx相同(比如都设2048m),避免启动后频繁 GC 扩容拖慢响应 - 如果
free -h显示可用内存长期低于 1.5GB,优先加 swap,而不是硬顶-Xmx
改完不重启 = 白改,且注意权限问题
修改 phpstorm64.vmoptions 后必须完全退出 PhpStorm(包括托盘进程),再重新启动才生效。常见坑:
- 用
ps aux | grep phpstorm检查是否还有残留 Java 进程,有就kill掉 - 如果 PhpStorm 是用 root 安装在
/opt/phpstorm,普通用户编辑文件时可能因权限不足保存失败,要用sudo nano /opt/phpstorm/bin/phpstorm64.vmoptions - 某些桌面环境(如 GNOME)会缓存启动器图标,右键“重启”可能只是重开旧实例,建议从终端执行
phpstorm命令启动
加参数不是越多越好,优先保核心三项
新版 JetBrains 运行时(JBR 17+)已弃用 -XX:MaxPermSize,还硬加会导致启动失败;-XX:+UseG1GC 在小内存(≤2GB)下反而增加延迟。真正值得保留的只有:
立即学习“PHP免费学习笔记(深入)”;
-
-Xms2048m和-Xmx2048m(或按需等值) -
-XX:ReservedCodeCacheSize=512m(提升插件和索引加载速度) -
-XX:SoftRefLRUPolicyMSPerMB=50(缓解大项目里频繁 GC 导致的卡顿)
其他像 -Dsun.io.useCanonCaches=false 或 IPv4 强制参数,在现代 Linux 发行版上基本无影响,删掉更干净。


















