@hyoromo なるよー。GCしてもCompaction(デフラグ)ないらしいから空き容量とOOMの因果はとってもおっかけにくい。
2010-11-26 00:55:20JavaVMが初期値2MBで立ち上がる、そのあと足りなくなったら都度メモリ確保するけどその際にLinux管理部分が断片化してる、はあり得るかも。
2010-11-26 00:56:02JavaVMはGCあり。Compactionは未実装、初期ヒープ2MB、最大24MB(標準)まで拡張される。たしかmmapで確保
2010-11-26 00:58:14@mhidaka linux管理側のプロセスヒープはLowMemoryKillerにひっかかりやすくなるだけちゃいますかねー。OOMにはならん気がします。
2010-11-26 00:59:09bitmapデータ作成 → recycleしてnull → またbitmapデータ作成 を合計2MBの画像データでやってるとOOMになってりするのは何でだろう。これも断片化とかなのかしら。
2010-11-26 01:00:33空きHeap自体はOS管理。取れない時点でOOMKillerが発動。動作中にメモリ不足な雰囲気が出てきたらActivityManagerあたりがLowMemoryKiller発動。
2010-11-26 01:00:37@youten_redo linux管理側のプロセスヒープも結局mmapで確保してるだけなので、断片化してしまうとVMHeapを拡張するタイミングでOOMじゃないでしょーか?
2010-11-26 01:02:04GDDでクリスと話したときはVMHeap?24MBまで使い切れるよ、うん。ってすんなり言われて驚いた記憶あるからなんかテクニックあるはず。
2010-11-26 01:06:52@youten_redo Dalvikさんは最初に2MBだけ確保してたとおもいます。足りないタイミングで都度確保かと。vmallocだったかは記憶にないれす…。
2010-11-26 01:08:12業務系で24時間動作するアプリとか作ったらネックになりそうだなぁ RT @mhidaka JavaVMはGCあり。Compactionは未実装、初期ヒープ2MB、最大24MB(標準)まで拡張される。たしかmmapで確保
2010-11-26 01:11:03@mhidaka kMinHeapStartSize (1*1024*1024) これかな。 kMinHeapSize (2*1024*1024)となにがちがうんだろ
2010-11-26 01:15:41