电脑打开 Simulink 很慢怎么办?MATLAB / Simulink 启动慢的完整解决方法

摘要

很多人在使用 MATLAB / Simulink 时都会遇到一个问题:MATLAB 能打开,但是点击 Simulink 后要等很久;或者打开 .slx 模型时一直卡在初始化、加载库、更新缓存等界面。其实 Simulink 打开慢不一定是电脑配置差,更多时候是杀毒软件实时扫描、路径缓存异常、启动脚本过重、模型缓存损坏、工程目录放在网盘或同步盘等原因导致的。

本文总结一套比较完整的排查方法,重点包括:关闭杀毒软件实时防护或添加白名单、刷新 MATLAB 工具箱路径缓存、清理 Simulink 缓存、检查 startup.m、检查模型回调函数、避免网络盘和同步盘路径等。MathWorks 官方文档也明确把启用工具箱路径缓存、减少启动代码、使用本地磁盘、卸载不用的产品等作为解决 MATLAB 启动慢的常见方法。(MathWorks)

目录

摘要

目录

一、问题现象

[二、第一步:关闭杀毒软件实时防护,或者把 MATLAB 加入白名单](#二、第一步:关闭杀毒软件实时防护,或者把 MATLAB 加入白名单)

[1. 为什么第一步要查杀毒软件?](#1. 为什么第一步要查杀毒软件?)

[2. 临时关闭杀毒软件测试](#2. 临时关闭杀毒软件测试)

[3. 更推荐的方法:添加白名单](#3. 更推荐的方法:添加白名单)

[三、第二步:刷新 MATLAB 工具箱路径缓存](#三、第二步:刷新 MATLAB 工具箱路径缓存)

[四、第三步:检查是否启用了 Toolbox Path Cache](#四、第三步:检查是否启用了 Toolbox Path Cache)

[五、第四步:检查 MATLAB 是否安装在本地 SSD](#五、第四步:检查 MATLAB 是否安装在本地 SSD)

[六、第五步:清理 Simulink 缓存文件](#六、第五步:清理 Simulink 缓存文件)

[1. 可以清理的缓存文件](#1. 可以清理的缓存文件)

[七、第六步:检查 startup.m 启动脚本](#七、第六步:检查 startup.m 启动脚本)

八、第七步:恢复默认路径并重新保存

[九、第八步:检查 Simulink 模型回调函数](#九、第八步:检查 Simulink 模型回调函数)

[十、第九步:关闭不必要的 Add-On 和工具箱](#十、第九步:关闭不必要的 Add-On 和工具箱)

[十一、第十步:避免把工程放在 OneDrive、网盘或网络路径中](#十一、第十步:避免把工程放在 OneDrive、网盘或网络路径中)

十二、第十一步:检查许可证和网络连接

[十三、第十二步:重置 MATLAB 用户配置目录](#十三、第十二步:重置 MATLAB 用户配置目录)

十四、推荐排查顺序

十五、常用命令汇总

[1. 刷新工具箱路径缓存](#1. 刷新工具箱路径缓存)

[2. 关闭所有模型并清理部分类缓存](#2. 关闭所有模型并清理部分类缓存)

[3. 查找 startup.m](#3. 查找 startup.m)

[4. 恢复默认路径](#4. 恢复默认路径)

[5. 备份当前路径](#5. 备份当前路径)

十六、我个人推荐的快速处理方法

十七、总结

参考资料


一、问题现象

电脑打开 Simulink 慢,一般会出现下面几种情况:

  1. MATLAB 本身启动很慢;

  2. MATLAB 已经打开,但点击 Simulink 图标后长时间无响应;

  3. 打开 .slx 模型时一直卡在加载界面;

  4. 第一次打开特别慢,第二次打开稍微快一点;

  5. Simulink Library Browser 打开慢;

  6. 打开模型后,命令行显示 Busy 或 Initializing;

  7. CPU、磁盘占用突然升高;

  8. 杀毒软件提示正在扫描 MATLAB 相关文件。

这些问题通常不是单一原因造成的,所以建议按照下面的顺序逐步排查。


二、第一步:关闭杀毒软件实时防护,或者把 MATLAB 加入白名单

1. 为什么第一步要查杀毒软件?

MATLAB / Simulink 启动时会加载大量文件,包括:

cpp 复制代码
.m 文件
.p 文件
.mexw64 文件
.dll 文件
工具箱目录
Simulink 库文件
模型缓存文件
临时文件
用户配置文件

如果杀毒软件开启了实时防护,就可能在 MATLAB / Simulink 启动时逐个扫描这些文件,导致启动速度明显变慢。MathWorks 社区中也有用户反馈,杀毒软件实时扫描 MATLAB 文件夹可能影响 MATLAB 启动速度,解决方法是给 MATLAB 安装目录和配置目录添加排除项。(MathWorks)

所以,电脑打开 Simulink 很慢时,第一步不是重装软件,而是先排查杀毒软件

2. 临时关闭杀毒软件测试

可以先临时关闭杀毒软件的实时防护,然后重新启动 MATLAB / Simulink 测试速度。

以 Windows 安全中心为例:

复制代码
Windows 安全中心
→ 病毒和威胁防护
→ 管理设置
→ 实时保护
→ 暂时关闭

如果你使用的是 360、火绒、电脑管家、联想电脑管家等软件,也可以临时关闭实时防护功能。

注意:这里的关闭只是为了测试问题来源,不建议长期关闭杀毒软件。

3. 更推荐的方法:添加白名单

如果关闭杀毒软件后 Simulink 明显变快,说明问题大概率出在实时扫描上。此时建议把 MATLAB 和工程目录加入白名单,而不是一直关闭杀毒软件。

建议加入白名单的目录如下:

复制代码
C:\Program Files\MATLAB\R20XXx

例如:

复制代码
C:\Program Files\MATLAB\R2023b
C:\Program Files\MATLAB\R2024a

如果你的工程文件放在 D 盘,也建议加入:

复制代码
D:\MATLAB_Project
D:\Simulink_Project

还可以加入 MATLAB 用户配置和缓存目录:

复制代码
C:\Users\用户名\AppData\Roaming\MathWorks
C:\Users\用户名\AppData\Local\Temp

这样既能保留杀毒软件防护,又能减少 MATLAB / Simulink 启动时被反复扫描。


三、第二步:刷新 MATLAB 工具箱路径缓存

如果杀毒软件排查后仍然很慢,第二步建议刷新 MATLAB 的工具箱路径缓存。

在 MATLAB 命令行输入:

复制代码
rehash toolboxcache
savepath

其中:

复制代码
rehash toolboxcache

用于刷新 MATLAB 的函数和文件系统路径缓存,并更新工具箱路径缓存文件。MathWorks 官方文档说明,rehash toolboxcache 等价于在 MATLAB 设置窗口中点击 Update Toolbox Path Cache 。(MathWorks)

复制代码
savepath

用于保存当前路径设置。

执行完成后,关闭 MATLAB,再重新打开 MATLAB 和 Simulink 测试速度。


四、第三步:检查是否启用了 Toolbox Path Cache

MATLAB 有一个工具箱路径缓存功能,叫做 Toolbox Path Cache 。如果这个功能关闭,MATLAB 启动时可能需要重新扫描大量工具箱目录,从而导致启动变慢。MathWorks 官方文档说明,可以在 MATLAB 设置窗口中点击 Update Toolbox Path Cache 更新缓存,也可以使用 rehash toolboxcache 命令更新缓存和缓存文件。(MathWorks)

操作路径如下:

复制代码
Home
→ Preferences
→ MATLAB
→ General
→ Enable toolbox path cache
→ Update Toolbox Path Cache

建议这样设置:

  1. 勾选 Enable toolbox path cache

  2. 点击 Update Toolbox Path Cache

  3. 点击 OK;

  4. 重启 MATLAB。


五、第四步:检查 MATLAB 是否安装在本地 SSD

如果 MATLAB 安装在机械硬盘、移动硬盘、U 盘、网络共享盘、OneDrive 同步目录中,启动速度可能会明显变慢。

MathWorks 官方解决 MATLAB 启动慢的文档中,也建议尽量从本地磁盘访问文件,而不是网络位置。(MathWorks)

推荐安装路径:

复制代码
C:\Program Files\MATLAB\R20XXx

不推荐安装或运行在:

复制代码
U 盘
移动硬盘
网络共享盘
OneDrive 同步目录
桌面超深层目录
包含大量中文和特殊字符的路径

如果你的电脑有 SSD,建议 MATLAB 和 Simulink 工程都放在 SSD 上。


Simulink 在仿真、模型引用、代码生成时会产生一些缓存文件。常见的有:

复制代码
slprj
*.slxc

.slxc 是 Simulink 缓存文件,MathWorks 官方文档说明,在模型层级结构生成代码时,每个被引用模型可能会有对应的 .slxc 缓存文件,这些缓存文件可以减少后续仿真和代码生成所需时间。(MathWorks)

但是,如果缓存文件异常、版本切换频繁、模型路径变化较大,也可能导致打开模型变慢。

1. 可以清理的缓存文件

关闭 MATLAB 后,可以尝试删除或移动以下文件:

复制代码
项目目录\slprj
项目目录\*.slxc

还可以清理临时目录:

复制代码
C:\Users\用户名\AppData\Local\Temp

注意:如果你不确定能不能删除,可以先把文件夹改名备份,例如:

复制代码
slprj → slprj_backup

重新打开模型后,Simulink 会自动重新生成相关缓存。


七、第六步:检查 startup.m 启动脚本

MATLAB 启动时会自动执行 startup.m 文件。如果这个文件中写了大量初始化代码,就可能导致 MATLAB 和 Simulink 打开很慢。

在 MATLAB 命令行输入:

复制代码
which startup -all

如果返回了 startup.m 文件路径,说明你的 MATLAB 启动时会执行这个脚本。

常见的拖慢写法如下:

复制代码
addpath(genpath('D:\All_Project'))
load('big_data.mat')
open_system('large_model.slx')
run('init_all.m')

其中最容易拖慢的是:

复制代码
addpath(genpath(...))

如果 genpath 作用在一个非常大的工程目录上,MATLAB 每次启动都会扫描大量子文件夹。

建议改成只添加必要路径:

复制代码
addpath('D:\MATLAB_Project\model')
addpath('D:\MATLAB_Project\scripts')
addpath('D:\MATLAB_Project\data')

如果怀疑是 startup.m 导致启动慢,可以先把文件改名:

复制代码
startup.m → startup_backup.m

然后重启 MATLAB 测试速度。

MathWorks 官方启动慢排查文档中,也把减少启动时运行的用户代码作为解决启动慢的一个方向。(MathWorks)


八、第七步:恢复默认路径并重新保存

如果 MATLAB 路径被改乱,或者安装过很多第三方工具箱,可以尝试恢复默认路径。

先备份当前路径:

复制代码
path_backup = path;
save('path_backup.mat','path_backup');

然后执行:

复制代码
restoredefaultpath
rehash toolboxcache
savepath

三个命令的作用如下:

命令 作用
restoredefaultpath 恢复 MATLAB 默认搜索路径
rehash toolboxcache 刷新工具箱路径缓存
savepath 保存当前路径设置

注意:这个方法会移除你自己添加过的路径,所以不要一上来就执行。建议在杀毒软件、缓存、启动脚本都排查后再使用。


如果 MATLAB 启动速度正常,但某一个 Simulink 模型打开特别慢,那么问题可能不是 MATLAB 本身,而是模型里写了回调函数。

打开模型后,依次进入:

复制代码
File
→ Model Properties
→ Callbacks

重点检查下面几个位置:

复制代码
PreLoadFcn
PostLoadFcn
InitFcn
StartFcn
StopFcn
CloseFcn

如果这些回调函数中有大量代码,例如:

复制代码
load('large_data.mat')
run('init_parameter.m')
addpath(genpath('D:\Big_Project'))
open_system('another_model.slx')

那么模型打开速度就会变慢。

建议把模型初始化脚本拆分,只保留必要内容。大文件数据不要在模型打开时自动加载,可以改成仿真前手动加载。


十、第九步:关闭不必要的 Add-On 和工具箱

如果 MATLAB 安装了很多第三方工具箱、支持包、Add-On 插件,也可能影响启动速度。MathWorks 官方启动慢排查文档中也提到,可以卸载不用的产品来减少启动负担。(MathWorks)

操作路径:

复制代码
Home
→ Add-Ons
→ Manage Add-Ons

可以检查以下内容:

  1. 是否安装了不常用的第三方工具箱;

  2. 是否安装了多个硬件支持包;

  3. 是否安装了很久不用的插件;

  4. 是否有路径已经失效的 Add-On。

不常用的可以暂时禁用或卸载。


十一、第十步:避免把工程放在 OneDrive、网盘或网络路径中

很多人的工程文件喜欢放在桌面、OneDrive、坚果云、学校服务器、网络共享盘里。这样做虽然方便同步,但对 MATLAB / Simulink 并不友好。

不推荐路径:

复制代码
C:\Users\用户名\OneDrive\桌面\Simulink_Project
\\server\share\MATLAB_Project
移动硬盘:\MATLAB_Project

推荐路径:

复制代码
D:\MATLAB_Workspace
D:\Simulink_Project
E:\MATLAB_Project

尤其是 Simulink 模型中如果引用了大量库文件、数据文件、模型引用文件,放在网络路径中会明显拖慢加载速度。


十二、第十一步:检查许可证和网络连接

如果学校或公司使用的是网络许可证,MATLAB 启动时可能需要连接许可证服务器。如果网络不稳定,启动也可能变慢。

可以观察 MATLAB 启动时是否卡在 License 相关步骤。如果是校园网或实验室服务器环境,可以检查:

复制代码
是否连接校园网
VPN 是否正常
许可证服务器是否可访问
网络是否延迟较高

MathWorks 官方启动慢文档中也把许可证路径异常作为可能原因之一。(MathWorks)


十三、第十二步:重置 MATLAB 用户配置目录

如果 MATLAB 用户配置目录损坏,也可能导致启动慢、界面卡顿、Simulink 初始化慢等问题。

可以关闭 MATLAB 后,找到下面路径:

复制代码
C:\Users\用户名\AppData\Roaming\MathWorks\MATLAB

里面通常会有类似这样的文件夹:

复制代码
R2022b
R2023a
R2023b
R2024a

可以把当前版本的文件夹改名,例如:

复制代码
R2023b → R2023b_backup

然后重新打开 MATLAB,软件会自动生成新的配置目录。

注意:不要随便删除带有 license 字样的文件夹。MathWorks 社区回答中也提到过类似方法:退出 MATLAB 后重命名当前版本的设置目录,重启后 MATLAB 会重新创建该目录。(MathWorks)


十四、推荐排查顺序

建议按照下面顺序排查,不要一开始就重装 MATLAB。

复制代码
1. 临时关闭杀毒软件实时防护,测试 Simulink 是否变快
2. 如果变快,把 MATLAB 安装目录和工程目录加入白名单
3. 执行 rehash toolboxcache 和 savepath
4. 检查 Enable toolbox path cache 是否开启
5. 重启 MATLAB 和 Simulink
6. 检查 MATLAB 是否安装在本地 SSD
7. 清理 slprj 和 *.slxc 缓存文件
8. 检查 startup.m 启动脚本
9. 检查模型 Callbacks 回调函数
10. 关闭不必要的 Add-On 和工具箱
11. 避免使用 OneDrive、网盘、网络共享盘
12. 检查许可证和网络连接
13. 重置 MATLAB 用户配置目录
14. 最后再考虑重装 MATLAB

十五、常用命令汇总

1. 刷新工具箱路径缓存

复制代码
rehash toolboxcache
savepath

2. 关闭所有模型并清理部分类缓存

复制代码
bdclose all
clear classes
clear mex
rehash toolboxcache

3. 查找 startup.m

复制代码
which startup -all

4. 恢复默认路径

复制代码
restoredefaultpath
rehash toolboxcache
savepath

5. 备份当前路径

复制代码
path_backup = path;
save('path_backup.mat','path_backup');

十六、我个人推荐的快速处理方法

如果你只是想快速试一下,可以按照下面这套方法:

第一步,临时关闭杀毒软件实时防护,重新打开 MATLAB / Simulink 测试。

第二步,如果变快,把下面路径加入杀毒软件白名单:

复制代码
C:\Program Files\MATLAB\R20XXx
D:\MATLAB_Project
C:\Users\用户名\AppData\Roaming\MathWorks

第三步,在 MATLAB 命令行执行:

复制代码
rehash toolboxcache
savepath

第四步,关闭 MATLAB,重新打开 Simulink。

如果这几步之后还是慢,再继续检查 startup.m、模型回调函数、slprj.slxc 缓存文件。


十七、总结

电脑打开 Simulink 很慢,第一步应该排查杀毒软件实时防护。因为 MATLAB / Simulink 启动时会加载大量工具箱、库文件、缓存文件和模型文件,杀毒软件如果逐个扫描,会明显拖慢启动速度。

如果关闭杀毒软件后速度变快,建议不要长期关闭防护,而是把 MATLAB 安装目录、工程目录和 MathWorks 配置目录加入白名单。

如果杀毒软件不是主要原因,再继续排查:

  1. 工具箱路径缓存;

  2. Simulink 缓存文件;

  3. startup.m 启动脚本;

  4. 模型回调函数;

  5. 网络盘或同步盘路径;

  6. 插件和工具箱;

  7. MATLAB 用户配置目录。

最常用的修复命令是:

复制代码
rehash toolboxcache
savepath

如果是模型本身打开慢,则重点检查:

复制代码
slprj
*.slxc
PreLoadFcn
PostLoadFcn
InitFcn
StartFcn

按照这个顺序排查,基本可以解决大多数 MATLAB / Simulink 打开慢的问题。


参考资料

  1. MathWorks 官方文档:Resolve Slow Startup - MATLAB & Simulink。(MathWorks)

  2. MathWorks 官方文档:rehash - Refresh function and file system path caches。(MathWorks)

  3. MathWorks 官方文档:Toolbox Path Caching in MATLAB。(MathWorks)

  4. MathWorks 官方文档:Simulink Cache Files for Incremental Code Generation。(MathWorks)

  5. MathWorks Community:Slow initialization due to SettingsConstructorLoadingFiles。(MathWorks)

  6. MathWorks Community:Matlab startup painfully slow。(MathWorks)

相关推荐
guygg881 小时前
用 MATLAB 实现步进电机控制的仿真方案
开发语言·matlab
yuan199971 小时前
基于物理光学(波动光学)模型的 MATLAB 程序
开发语言·matlab
吃好睡好便好1 天前
提取矩阵某几行和某几列元素
人工智能·学习·线性代数·算法·matlab·矩阵
nwsuaf_huasir1 天前
RD图绘制-雷达回波模拟-距离多普勒图绘制
算法·matlab·语音识别
加成BUFF1 天前
《机器人学》MATLAB 机器人工具箱 应用指南一
机器学习·matlab·机器人·机器人工具箱
懒惰的coder1 天前
LQR控制算法
matlab
吃好睡好便好2 天前
创建上三角矩阵和下三角矩阵
开发语言·学习·线性代数·matlab·矩阵
吃好睡好便好2 天前
创建对角矩阵
开发语言·学习·线性代数·算法·matlab·信息可视化·矩阵
吃好睡好便好3 天前
创建全0矩阵和全1矩阵
开发语言·学习·线性代数·算法·matlab·信息可视化·矩阵