作者jyleef (龙虾)
看板java
标题[问题] 大资料量导致记忆体不足
时间Sun Feb 13 00:42:08 2011
我的资料量大约有五百万笔(小於)
然後每一笔要分为45栏
所以阵列宣告下去等於 5百万*45 (型态会用到String 或 double(二选一))
已经有将记忆体配置改成 -Xmx1575 (已经是最大了) → 无解
也有想过要改用分批读取再写入的方式
可是之後要跑 k-means 演算法,还是要一次看全部的资料 → 再度无解
目前我的电脑配备为(只用一台电脑跑)
CPU :AMD 飞龙Ⅱ X4
记忆体:创见 DDR2 800 4G
原本是打算要将记忆体冲到8G
不过以原本的配备下去跑也只能跑到50几万笔资料(单纯存入)
怕说就算真的冲到8G也未必能跑得完
难道要冲到16G?
不知道版上有没有人能够解决这个问题
谢谢各位了~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.85.40.79
1F:→ luoqr:真的不够 就把硬碟当记忆体用? 02/13 01:17
2F:→ jyleef:如果要一次看全部资料的话 该如何把硬碟当记忆体用呢? 02/13 01:36
3F:→ AmosYang:newegg 上 24G (6*4G) 不到 US$400 了,可以冲了 XD 02/13 03:51
4F:→ MonyemLi:提高记忆体...又吃不到,改64bit吧.不然就是不要用[][] 02/13 08:37
5F:→ dewking:他那台应该是只能插4条记忆体吧.... 02/13 09:55
6F:→ youknowme09:请参考搭配hadoop的方式来做也许有解 02/13 11:17
7F:→ jyleef:OS我可以改64bit 记忆体可能要用DDR3 4G*4 16G可能就可以吧 02/13 13:20
8F:推 slalala:运算过程为什麽不透过资料库纪录? 02/13 16:04
9F:推 a1234957:基本上这是最无脑的解法 02/13 20:49
10F:→ flowwinds:你用到k-means的distance是一笔资料跟另一笔资料吗? 02/13 23:55
11F:→ flowwinds:一笔资料45个column跟另一笔资料45个column算出一个距离 02/13 23:58
12F:→ flowwinds:如果是这样可以不用 load 全部资料算出initial distance 02/14 00:01
13F:→ flowwinds:matrix,而有initial distance matrix应该能跑之後集群法 02/14 00:03
14F:推 slalala:同楼上两位 该做的不是把东西全部inicial後才开始 02/15 01:12
15F:→ final01:用64G memory 02/18 18:37