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

看板java作者 (Terry)時間13年前 (2011/02/13 10:28), 編輯推噓1(1013)
留言14則, 5人參與, 最新討論串2/3 (看更多)
※ 引述《jyleef (龍蝦)》之銘言: : 我的資料量大約有五百萬筆(小於) : 然後每一筆要分為45欄 : 所以陣列宣告下去等於 5百萬*45 (型態會用到String 或 double(二選一)) : 已經有將記憶體配置改成 -Xmx1575 (已經是最大了) → 無解 : 也有想過要改用分批讀取再寫入的方式 : 可是之後要跑 k-means 演算法,還是要一次看全部的資料 → 再度無解 : 目前我的電腦配備為(只用一台電腦跑) : CPU :AMD 飛龍Ⅱ X4 : 記憶體:創見 DDR2 800 4G : 原本是打算要將記憶體衝到8G : 不過以原本的配備下去跑也只能跑到50幾萬筆資料(單純存入) : 怕說就算真的衝到8G也未必能跑得完 : 難道要衝到16G? : 不知道版上有沒有人能夠解決這個問題 : 謝謝各位了~ 還不簡單, 這邊一定很多人可以回答你的. 請你改成64 bit OS, 改成64 bit JDK. 再去買44G memory 回來插就好了. 因為就算是double 也要吃38G 多的記憶體. 如果你的板子不能support 44G RAM, 哪就換電腦吧. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.45.232.37

02/13 13:24, , 1F
我目前跑50萬筆資料javax約要用1G記憶體 所以正常推論要跑
02/13 13:24, 1F

02/13 13:26, , 2F
500萬筆資料需要10G記憶體 為何要用到44G? 是不能這樣算嗎?
02/13 13:26, 2F

02/14 00:18, , 3F
你不是寫一筆是一個double 的大小,哪不就是8 bytes?
02/14 00:18, 3F

02/14 00:20, , 4F
哪麼50萬筆就是要乘8 啊,還是你不是哪意思哦
02/14 00:20, 4F

02/14 00:22, , 5F
10G 就簡單啦, 換OS,JDK部分不變,就是去買4支4G的RAM吧
02/14 00:22, 5F

02/15 09:33, , 6F
重點應該放在想出另一種方法來處理data吧......你這次加
02/15 09:33, 6F

02/15 09:35, , 7F
記憶體ok,阿下次資料變成5000萬筆怎麼辦?繼續加??
02/15 09:35, 7F

02/15 15:00, , 8F
如果資料遲早會增長到至少要貨櫃型資料中心處理的話
02/15 15:00, 8F

02/15 15:01, , 9F
持續規畫硬體架構的擴充也是一個要兼顧的層面...
02/15 15:01, 9F

02/15 18:28, , 10F
不會吧,5000萬筆就要貨櫃中心? 要用到貨櫃中心這麼大的
02/15 18:28, 10F

02/15 18:30, , 11F
還用java來處理, 哪就是時間太多了.
02/15 18:30, 11F

02/16 18:34, , 12F
我是不知道你從哪邊看到5000萬筆就要貨櫃中心...
02/16 18:34, 12F

02/17 16:10, , 13F
怎覺得這篇是在反串..那些搞資料ETL不就dram加不完
02/17 16:10, 13F

02/23 11:04, , 14F
如果不想改變你的AP,取簡單就是加加加,有問題嗎?
02/23 11:04, 14F
文章代碼(AID): #1DLq7NSq (java)
文章代碼(AID): #1DLq7NSq (java)