[問題] 大資料量導致記憶體不足

看板java作者 (龍蝦)時間13年前 (2011/02/13 00:42), 編輯推噓3(3012)
留言15則, 10人參與, 最新討論串1/3 (看更多)
我的資料量大約有五百萬筆(小於) 然後每一筆要分為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

02/13 01:17, , 1F
真的不夠 就把硬碟當記憶體用?
02/13 01:17, 1F

02/13 01:36, , 2F
如果要一次看全部資料的話 該如何把硬碟當記憶體用呢?
02/13 01:36, 2F

02/13 03:51, , 3F
newegg 上 24G (6*4G) 不到 US$400 了,可以衝了 XD
02/13 03:51, 3F

02/13 08:37, , 4F
提高記憶體...又吃不到,改64bit吧.不然就是不要用[][]
02/13 08:37, 4F

02/13 09:55, , 5F
他那台應該是只能插4條記憶體吧....
02/13 09:55, 5F

02/13 11:17, , 6F
請參考搭配hadoop的方式來做也許有解
02/13 11:17, 6F

02/13 13:20, , 7F
OS我可以改64bit 記憶體可能要用DDR3 4G*4 16G可能就可以吧
02/13 13:20, 7F

02/13 16:04, , 8F
運算過程為什麼不透過資料庫紀錄?
02/13 16:04, 8F

02/13 20:49, , 9F
基本上這是最無腦的解法
02/13 20:49, 9F

02/13 23:55, , 10F
你用到k-means的distance是一筆資料跟另一筆資料嗎?
02/13 23:55, 10F

02/13 23:58, , 11F
一筆資料45個column跟另一筆資料45個column算出一個距離
02/13 23:58, 11F

02/14 00:01, , 12F
如果是這樣可以不用 load 全部資料算出initial distance
02/14 00:01, 12F

02/14 00:03, , 13F
matrix,而有initial distance matrix應該能跑之後集群法
02/14 00:03, 13F

02/15 01:12, , 14F
同樓上兩位 該做的不是把東西全部inicial後才開始
02/15 01:12, 14F

02/18 18:37, , 15F
用64G memory
02/18 18:37, 15F
文章代碼(AID): #1DLhXajg (java)
討論串 (同標題文章)
文章代碼(AID): #1DLhXajg (java)