近期很多朋友反馈说使用Simulink过程中MATLAB软件会自动闪退,影响工作进展。校长也遇到了同样的问题,分享一下我这里的情况和解决方法。
校长这边情况估计是因为显而易见的C盘被日积月累的临时文件搞爆炸了,再加上Windows11莫名其妙的更新,近期虚拟内存完全变为0了。
分页文件,也称为虚拟内存。它的作用是扩展物理内存(RAM)。
当物理内存不足时:操作系统会将物理内存中暂时不用的“页”数据写入到分页文件中,从而腾出空间给当前急需的程序使用。
所以主要应对措施是两个:
一、删除临时文件释放C盘空间
二、设置系统分页文件大小,给定足够大且合理的虚拟内存,以备系统不时之需
第一个相信大家都会做,不赘述。第二个设置虚拟内存,先右键“此电脑”选择属性,在弹出对话框里搜索“高级系统设置”,如下图:
下一步,在弹出“系统属性”对话框里点击“设置”,如图:
在新的弹出对话框里选择“高级”页面,点击“更改"按钮,如下图:
在弹出的”虚拟内存“页面查看分页文件大小是否均为无,如果都是无,那么分别选中每个盘符,在自定义大小中设置初始大小和最大值(可相同),不要超出你每个硬盘可用空间大小,也不要完全用光每个盘的剩余空间。
设置好上述值,一路点击“确定”完成配置,再尝试启动Simulink并工作,看看是否能解决你的闪退问题。
如果经过上述设置,你的问题依然存在,还有“一手”可以兜底, 就是在启动MATLAB之前,关闭你的WIFI,断开你的网线,等到MATLAB启动完毕后,在无网情况下使用5-10分钟,这时一般不会出现闪退情况。然后在打开你的网络,就大概率不会自行闪退了。
PS:如果你的C Mex S函数存在“野指针”,那么依然不能避免崩溃问题,代码安全还需要你对自己的C代码进行调试和打磨。
|