matlab占用太多内存 | 您所在的位置:网站首页 › 云服务登录账号oppo页面出现15分钟后退出是什么情况 › matlab占用太多内存 |
一、利用clear清除内存时,要用pack函数进行内存整理 Matlab在运行大数据时,会出现Out of Memory,在程序中加入clear不需要的变量,能否解决Out of Memory问题。答案是或许可以,或许不可以, 原因清除变量或者给该变量重新赋值只是释放了该变量先前分配的内存块,由于matlab是分连续块分配内存给变量,所以如果清除的这个内存空间不一定可以用上,比如,一个萝卜一个坑,为了腾出更多的坑,把不用的萝卜拔掉,然而如果来一个比较大的萝卜,先前的坑不一定能够容的下,仍然会出现Out of Memory的问题,这个时候最好用pack函数,把腾出的内存空间重新整理成连续的块,这样如果后面有较大内存占用的变量,满足内存使用的概率较大。 附pack函数的说明: 用法: pack pack filename pack('filename') pack可以为用户整理内存的机制在于,pack函数重新整理MATLAB工作空间中驻留的变量,将原来断断续续的内存整理的连续起来,这样原来断断续续的内存可能不足以存储大的矩阵,而整理之后,可以很显著的提高内存的使用效率。整理步骤: (1)将base空间以及全局变量保存到一个mat文件 (2)清空工作空间中的所有资源 (3)重新载入mat文件中保存的base空间变量和全局变量,然后删掉mat文件 这样一来,重新分配的空间将是连续的,避免掉原来断 |
CopyRight 2018-2019 实验室设备网 版权所有 |