[JAVA高手入] 幾億個item要點先fit到入2gb heap space?

213 回覆
5 Like 26 Dislike
2022-08-11 22:03:06
sorry頭先開錯台
利申番先: 功課黎 一個同學都唔識 TA唔覆email 走投無路

我依加要砌一個 50000 row x 50000 column嘅matrix黎裝一大堆double
唔係個個postion都有non-zero value, 但每行實際上有幾多個value係non-zero value我係唔知
所以我用左hash map黎裝啲value, e.g. HashMap<Point, Double>

但行到第600行停左, error出'java.lang.OutOfMemoryError: Java heap space'

想問下有咩其他方法可以減低個memory usage?
linked-list? sparse array?
2022-08-11 22:08:04
拆細佢
淨係要用既先LOAD
2022-08-11 22:11:56
講多啲你實際要做啲咩?
2022-08-11 22:12:14
淨係記低non-zero位置
2022-08-11 22:12:58
因為係analytic功課黎
所以份功課fix死左一定要load曬所有data
然後write一個50000 x 50000 matrix嘅file
2022-08-11 22:14:52
其實係要整個50000人嘅pearson's correlation matrix
計correlation個part已經做曬
但就唔知點先可以係2gb ram嘅情況下output到一個matrix出黎
2022-08-11 22:15:24
係咪有條for loop炒左
2022-08-11 22:16:13
你唔駛LOAD晒再WRITE架
逐D黎
唔清楚你要做乜
2022-08-11 22:17:09
應該無事
我計左幾十萬個item都行到 但就因為memory space limit所以scale唔到上去
2022-08-11 22:18:17
唔係data analyst 所以唔係好明點解50000人會變50000x50000
但如果要write file, 你一行一行唔得咩?咪變左array with size 50000?
2022-08-11 22:19:44
one off野咪睇下有無得改下D config by pass左佢算
唔得就要sort左,拆開來做,再merge返埋個result
2022-08-11 22:20:35
JVM個heap size有冇改
2022-08-11 22:22:02
份功課fix死左一定要跟佢個format:
matrix = calculate(inputdata);
matrix.writeCorrelationMatrix(outputFile);

write個part我寫完, 應該係行到

但係出matrix個part卡住左
2022-08-11 22:22:38
功課唔比
2022-08-11 22:22:39
有冇試過重新開機?
2022-08-11 22:24:23
因為係睇人同人之間嘅correlation
write個part無事
但功課format關係唔可以直接write落個outputfile度
一定要出一個matrix黎比個write function去write
2022-08-11 22:24:55
用 arrary 唔得咩
2022-08-11 22:25:37
2d array 可以變做x,y coordinate
如果係搵到哂所有correlation
最好嘅方法係搵到一條formula係sub x,y 會搵返個value
不過條formula唔易搵

利申 數學U
2022-08-11 22:26:43
即係死係calculate?
2022-08-11 22:27:01
功課唔比改config
2022-08-11 22:28:35

計數無問題
但點將啲數係2gb ram下output出一個matrix/sort of matrix 搞唔掂
2022-08-11 22:29:27
試過用sparse array
int[][] sparse = new int[3][50000*50000];
立即出error
2022-08-11 22:30:33
其實你應該係未計曬
如果計曬你應該已經有個matrix?
係咪你計數個邊variable 問題 所以oom
2022-08-11 22:31:07
教書都無咩時間自己整功課
建議係佢個recommendation reading list到揾下答案
2022-08-11 22:32:37
清咩U
份功課咁有挑戰性
吹水台自選台熱 門最 新手機台時事台政事台World體育台娛樂台動漫台Apps台遊戲台影視台講故台健康台感情台家庭台潮流台美容台上班台財經台房屋台飲食台旅遊台學術台校園台汽車台音樂台創意台硬件台電器台攝影台玩具台寵物台軟件台活動台電訊台直播台站務台黑 洞