全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 统计软件培训班VIP答疑区
829 3
2013-09-11
     因为处理的数据较大,每次进行append的时候总是提示“op. sys. refuses to provide memory Stata's data-storage memory manager has already allocated 1472m bytes and it just attempted to allocate another 16m bytes.  The operating system said no.  Perhaps you are running another memory-consuming task and the command will work later when the task  completes.  Perhaps you are on a multiuser system that is especially busy and the command will work later when activity quiets down.  Perhaps a system administrator has put a limit on what you can allocate; see help memory.  Or perhaps that's all the memory your computer can allocate to Stata.”。在网络上搜集了相关的解决办法,依旧没有解决这个问题。我的电脑内存是4G的,可是stata每次最多只能提供1472M内存,在stata11中set memory处理以后还是最多提供1472M内存,在内存8G的电脑上试过了,结果还是这样。
    实在没有办法,只有请教连老师了,有什么解决方案吗?谢谢连老师


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-9-12 15:29:59
stata 能够分配的内存决定于你的电脑中留存的内存大小,因为系统文件和各种应用程序的安装都会占用内存。
我建议在 append 之前,可以使用 keep 或 drop 命令仅保留后续分析中使用的变量,其他那些不必要的变量可以全部删除,这可以节省很多存储空间。分别对两份数据执行上述“瘦身”操作后再 append。如果这个方法也不奏效,我们再行商议。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-9-12 23:15:18
arlionn 发表于 2013-9-12 15:29
stata 能够分配的内存决定于你的电脑中留存的内存大小,因为系统文件和各种应用程序的安装都会占用内存。
...
可是4g和8g内存的电脑我都试过了,订单分配1472m内存给stata。
我已经drop掉很多变量了,剩下的基本上都是后续需要的变量。因为有些变量含有中文,是不是这些变量就占用很大的空间,有没有办法可以压缩这些变量呢?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-9-15 22:17:30
可以用 encode 命令把中文变量转换成数值变量,然后再执行后续合并动作,或许会有所改善。
同时,可以把数据切割成多个片段,每个片段分别生成最终变量,然后删除所有中间变量,再把所有数据片段合并起来。

总之,整体的思路就是:切割 --> 分块处理 --> 合并。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群