作者famayo (砝碼)
看板Soft_Job
標題[請益] 記憶體問題該如何突破?
時間Wed Sep 30 07:57:35 2015
因為在計算上會需要用到很大的記憶體
但是發現自己電腦的8G ram 常常沒跑滿
大概都跑到5G左右就會出現 memory error
現在是用python 3.4 32位元
如果改成64位元版本似乎能夠用上更多記憶體?
但是查了一下發現有些python的library只有32位元版本
請問各位前輩
如果在這種情況下
我雖安裝了python 64位元版
但是我的library卻參雜32位元版
我能用的記憶體天花板是不是就是32位元版的 而不是64位元
感謝各位
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.127.173.173
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1443571057.A.336.html
※ 編輯: famayo (59.127.173.173), 09/30/2015 08:01:14
1F:推 david81915: 有錢好任性 09/30 09:21
2F:推 Masakiad: 笑了... 09/30 09:57
3F:→ qrtt1: 你系統不跑 python 時要吃多少啊@@? 要留點活路給別人啊... 09/30 10:08
4F:→ famayo: 原本系統吃4G 跑python時整個電腦的RAM會吃到5G 09/30 10:19
5F:→ Deltaguita: 是不是要考慮調整你的程式碼,怎麽會用那麼多 09/30 10:44
6F:→ Deltaguita: 你載入很多影響 09/30 10:45
7F:→ famayo: 主要是要把1gb的數據全部載入numpy array跟pandas array 09/30 10:49
8F:→ famayo: 然後作一些計算轉換 常常就卡在陣列變換或讀取的地方 09/30 10:49
9F:推 phoenixrace: 差16g ram 09/30 11:12
10F:→ qrtt1: 所以看起來你的 limit 是 2G 啊 09/30 12:12
11F:→ azureblaze: 還有fragmentation的問題 09/30 12:27
12F:→ carlcarl: 一定要一次讀1GB出來嗎? 09/30 13:24
13F:→ realmeat: 為啥不考慮平行處理 09/30 14:12
14F:→ robler: 平行處理和記憶體限制的關聯在哪 09/30 15:09
15F:推 tomtang0406: 32bit程式單一程序記憶體使用的上限就是4GB, 但因為 09/30 15:26
16F:→ tomtang0406: 這4GB還要切割2GB kernel mode 給OS使用,你 user mo 09/30 15:26
17F:→ tomtang0406: de 的記憶體只剩下2GB,而且你用array在操作是privat 09/30 15:26
18F:→ tomtang0406: e bytes,無法被swap,很快就遇到天險了... 09/30 15:26
19F:→ realmeat: 說錯, 平行處理(x)應該是分散運算才對 09/30 17:15
20F:→ famayo: 關於平行的技術都還沒點QQ 想說如果可以用64bit先解最好 09/30 17:37
21F:→ famayo: 所以如果我中間有一個library是32bit 即使其他事64bit 09/30 17:38
22F:→ famayo: 這樣也等於只能用到2G的極限嗎? 09/30 17:39
23F:→ famayo: 如果不平行 一定要一次讀 因為這是off-line learning 09/30 17:39
24F:→ tomtang0406: 是的,一個32bit的老鼠屎就會壞了整鍋粥 09/30 17:46
25F:→ famayo: 感謝大大解惑啊 我來開始裝64bit 09/30 17:47
26F:→ tomtang0406: 想想64bit的程式要傳遞一個參數指標到32bit lib 內 09/30 17:51
27F:→ tomtang0406: 的function, 但這個lib吃不下來怎麼辦?當然只能降 09/30 17:51
28F:→ tomtang0406: 等用兩邊都能解讀的記憶體指標 09/30 17:51
29F:推 ug945: 8G不夠換16G再不夠換32G再不夠分散式運算 09/30 18:06
30F:→ qrtt1: 適當的 sampling 來減少資量啊qq 09/30 21:01
31F:推 berton1679: 運算龐大成這樣還用python你新手? 10/01 21:10
32F:→ famayo: 換64bit後已可執行 10/02 03:17