找回密码
 成为会员
查看: 23883|回复: 7

[图文教程] AVL Cruise限制内存占用的方法|Cruise在Win32 Platform下的内存优化

[复制链接]

394

帖子

8

精华

5878

铜板

管理员

Rank: 9Rank: 9Rank: 9

积分
75912
发表于 2020-5-6 21:18:49 | 显示全部楼层 |阅读模式

Cruise默认设置,允许cruise_m.exe进程占用约8G内存;

当系统内存不足,或Cruise运行于Win32 Platform下时,仿真过程中,可能会因内存不足,无法分配内存地址而报类似“DM_Realloc - Memory Reallocation failed”这样的错误;

通常情况下,Cruise的大部分仿真任务都可以在Win32 Platform下顺利完成,但当进行联合仿真,或纯电动及混合动力车辆模型进行Cycle Run任务循环工况多次迭代仿真时,可能会因内存超限而导致仿真中途报错失败;

此时建议将Cruise软件切换到Win64 Platform下;

我们在《AVL Cruise前向仿真(Simulation 1~5)算法详解》中也介绍过一些降低内存占用方面的方法;

本文介绍的方法支持在极限内存条件下(甚至256MB内存)完成Cruise仿真计算,但一般情况下不建议使用;

当然,对于有特殊需求的用户,例如,喜欢轻量化的软件环境,不想安装64位编译器,习惯32位Matlab自带的lcc编译器编译dll进行联合仿真的朋友,可以使用本教程中的方法限制cruise_m.exe的内存占用;

此外,对于复杂系统的仿真,也可以使用此方法加大默认的8G内存限制到16G、32G、256G...

AVL Cruise限制内存占用的方法:


购买主题 已有 25 人购买  本主题需向作者支付 8 金币 才能浏览

本帖被以下淘专辑推荐:

4

帖子

0

精华

54

铜板

中级会员

Rank: 2

积分
80
发表于 2022-5-24 21:43:27 | 显示全部楼层
您好,我用的2015版本自带的hybrid2 混动模型根据您第二种方法进行最高车速仿真,仍然会出现,error 199就是内存不足的错误,请问是为什么呢?

394

帖子

8

精华

5878

铜板

管理员

Rank: 9Rank: 9Rank: 9

积分
75912
 楼主| 发表于 2022-5-24 22:31:04 | 显示全部楼层
spring2022 发表于 2022-5-24 21:43
您好,我用的2015版本自带的hybrid2 混动模型根据您第二种方法进行最高车速仿真,仍然会出现,error 199就 ...

本教程主要用途:使用32位matlab自带lcc编译器不想另外安装编译器的用户进行联合仿真时防止ring buffer溢出。
你说的内置hybrid2模型进行最高车速仿真,理论上即便使用32位platform也不会内存溢出,切换到64位platform则肯定不会内存溢出。
问题原因大概率还是没完全理解教程配置错误,或者仿真任务设定错误导致非线性仿真组求解不收敛无限循环计算。

4

帖子

0

精华

54

铜板

中级会员

Rank: 2

积分
80
发表于 2022-5-24 23:21:21 | 显示全部楼层
autosim 发表于 2022-5-24 22:31
本教程主要用途:使用32位matlab自带lcc编译器不想另外安装编译器的用户进行联合仿真时防止ring buffer溢 ...

您好,我现在已经切换到win64下了,只是代入了车型的基本参数的模型,把步长改到1×10-4次方,然后改为0.1秒输出一个结果,现在进行constant drive任务进行不了了。而且full load acceleration测零百加速也测不出来,请问可以从哪些方面考虑呢

394

帖子

8

精华

5878

铜板

管理员

Rank: 9Rank: 9Rank: 9

积分
75912
 楼主| 发表于 2022-5-25 09:23:08 | 显示全部楼层
spring2022 发表于 2022-5-24 23:21
您好,我现在已经切换到win64下了,只是代入了车型的基本参数的模型,把步长改到1×10-4次方,然后改为0. ...

步长改为0.01s。

实在需要0.001s步长,按教程设置限制内存是一种方案,报错就继续减小参数阈值。

另外可以尝试增大参数,把默认的8G内存限制,增大到32G,前提是你电脑有足够的内存。

2

帖子

0

精华

58

铜板

中级会员

Rank: 2

积分
80
发表于 2022-6-15 14:19:24 | 显示全部楼层
autosim 发表于 2022-5-25 09:23
步长改为0.01s。

实在需要0.001s步长,按教程设置限制内存是一种方案,报错就继续减小参数阈值。

增大内存对仿真计算时间有加速效果吗?

394

帖子

8

精华

5878

铜板

管理员

Rank: 9Rank: 9Rank: 9

积分
75912
 楼主| 发表于 2022-6-16 10:15:41 | 显示全部楼层
xjjay1108 发表于 2022-6-15 14:19
增大内存对仿真计算时间有加速效果吗?

没有加速效果,一般用不到。
迭代仿真的时候循环次数过多,8G内存不够的时候才需要加大。

1

帖子

0

精华

29

铜板

中级会员

Rank: 2

积分
50
发表于 2023-12-23 16:06:57 | 显示全部楼层
谢谢分享,按照此方法确实解决了这个问题
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

Archiver|手机版|AutoSim仿真教程 ( 皖ICP备15024617号-9 )

GMT+8, 2024-4-20 18:59 , Processed in 0.039278 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc. Design AutoSim

快速回复 返回顶部 返回列表