我的操作系统是Windows Server 2003企业版(32位),
服务器CPU:AMD Opteron(tm)Processor 6128 2.0GHz, 内存18G
数据库用的是SQL Server 2008 R2
我做的是关联算法——用户购买了某种产品,很可能会同时购买**产品。在测试数据情况下(数据量很小),跑的很正常。但是在真实数据中(大概:用户数100W,订购记录100W,商品数20W),msmdsrv.exe占用内存增长到1.8G多点后就报错。
说明:我已经设置了【OLAP/MemoryPlan/MemoryLimitErrorEnabled】配置值为false, 并在系统boot.ini中添加了【/AWE /PAE】,但是问题还是没变化
若有能解者,感激涕零!
一、除了操作系统内存限制,还有sql server 2008 r2版本的限制。AMD处理器似乎还要打个什么补丁。
二、内存有是否可收缩之分
@洗洗睡吧: 贴个解答:
1. 用SSAS最好使用64bit的操作系统和Sql Server
2. 关联规则算法与性能相关的一个非常重要的元素是项集的大小,可以通过设置算法参数的Min_Support来控制,默认SSAS会没有设置该值。而实际中该值较低是没有意义的,因为关联的知识必须是支持度高而且概率高的。
3. SSAS有缓存机制,可以通过配置来约定SSAS内存超过某一值时开始释放缓存所占内存,有两个配置,具体记不太清了,可以参考msdn