解决phpstorm运行很卡问题

phpStorm一旦达到这个临界值,所有智能提示、自动补全都失效了这TM就很尴尬了,顿时感觉自己就是个废人了,纯手写代码跟便秘一样

众所周知phpStorm基于JAVA,那么这个内存限制肯定跟JAVA的虚拟机参数有关来到phpStorm的安装目录,例如我的安装目录是

找到64位系统用这个会好一些

在PhpStorm2017之后的版本中,修改bin目录下的vmoptions文件可能是无效的这时需要打开PhpStorm,

在顶部菜单中选择Help – Edit Custom VM Options然后修改其中的内容才行

使用任意文本编辑器打开,将里面的数字调大即可

添加和修改以下代码:

其实这时候需要使用64位版本的

比较好

双击,提示需要64位的(如果你没安装过的话)

然而JAVA官网下到的都是JRE,搜索引擎搜出来的多半是JRE,更有打着JDK名号的JRE,要么就是32位的JDK

最后终于在这里找到个能用的。(P.S. 不要点那个大大的“立即下载”按钮,拉到下面找普通下载即可)

--------------配置文档中的参数说明-----------------------

phpStorm是使用JAVA开发的。由于IDE提供源文件关键字渲染功能,我们对文件的任何编辑或移动鼠标,都会触发渲染操作。而phpstorm默认的JAVA环境并没有利用机器的硬件加速技术去实现实时渲染,因此当然会让系统卡死。而只要在JAVA环境中让系统默认使用硬件加速,就可以解决占用系统资源过大,让phpstorm卡的问题了。

其中堆内存和非堆内存的区别为:

Java虚拟机具有一个堆,堆是运行时的数据区域,所有类实例和数组的内存均从此处分配。堆是在Java虚拟机启动时创建的。在JVM中堆之外的内存成为非堆内存(Non-heap memory)

堆内存分配

初始分配的堆内存由-Xms指定,默认是物理内存的1/64;最大分配的堆内存由-Xmx指定,默认是物理内存的1/4。默认空余堆内存小于40%时,Jvm就会增大堆直到-Xmx的最大限制;同理,空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制。因此一般设置-Xms、-Xmx相等以避免每次GC后调整堆的大小。

说明:如果-Xmx不指定或者指定偏小,应用可能会导致java.lang.OutOfMemory错误,此错误来自JVM,不是Throwable的,无法用try……catch捕捉

非堆内存分配

JVM使用-XX:PermSize设置非堆内存初始值,默认是物理内存的1/64;由XX:MaxPermSize设置最大非堆内存的大小,默认是物理内存的1/4。