Шустрый

Профиль
Группа: Участник
Сообщений: 82
Регистрация: 16.2.2009
Где: Иркутск - San Die go
Репутация: нет Всего: нет
|
Программа падает с OutOfMemoryError при большой загрузке данных в память. Данные читаются из файла через ObjectInputStream, там лежит парочка очень больших Hashtable, занимают они примерно гигов 14 после загрузки. В какой-то момент начинает постоянно запускаться gc, при чем при одном и том же значении занятой памяти, хотя свободной памяти еще очень много. | Код | c:\distAutomappingLoader>java -Xmx17500M -Xms17500M -verbose:gc -XX:-UseGCOverhe adLimit -jar DataIntegrator.jar [17:31:51,457] [INFO ] [AutomappingFolderLoader] [main] Proccessing folder c:\Da taIntegration\ORegAnno Drop db if exists... Launching process... Process started... OUT> DROP DATABASE Process finished Create db... Launching process... Process started... OUT> CREATE DATABASE Process finished Create lang... Launching process... Process started... ERROR> createlang: language "plpgsql" is already installed in database "oreganno " Process finished [17:36:49,667] [INFO ] [Data2FileWriter] [SwingWorker-pool-1-thread-1] Clean up image folders [17:36:49,667] [INFO ] [Data2FileWriter] [SwingWorker-pool-1-thread-1] Clean up image folders finished [17:36:49,667] [INFO ] [Data2FileWriter] [SwingWorker-pool-1-thread-1] Clean up data folders [17:36:49,667] [INFO ] [Data2FileWriter] [SwingWorker-pool-1-thread-1] Clean up data folders finished [GC 4480064K->3485K(17173376K), 0.0088464 secs] [GC 4483549K->3469K(17173376K), 0.0055549 secs] COPY from c:\tempDbUploader\oreganno\0.dat Sat Sep 19 17:37:02 PDT 2009 COPY finished Sat Sep 19 17:37:06 PDT 2009 took 3666 [17:37:06,156] [INFO ] [AutomappingFolderLoader] [main] Creating mapping for c:\ DataIntegration\ORegAnno [17:37:06,156] [INFO ] [AutoMapping] [main] Clean up memory before creating mapp ing [GC 3773889K->3421K(17173376K), 0.0046884 secs] [Full GC 3421K->2384K(17173376K), 0.0437366 secs] [17:37:06,203] [INFO ] [AutoMapping] [main] Free memeory: 17505497232 [17:37:06,250] [INFO ] [AutoMapping] [main] Free memeory after pqm init: 1746501 9448 [17:37:06,265] [INFO ] [AutoMapping] [main] Free memeory before dictionary loadi ng: 17465019448 [17:37:06,296] [INFO ] [DBCache] [main] Reading db cache [GC 4482448K->2661535K(17173376K), 4.1687538 secs] [GC 7141599K->5268681K(17173376K), 5.8632817 secs] [GC 9748745K->7948059K(14684416K), 6.8737520 secs] [GC 9939163K->9148273K(15928896K), 4.3652216 secs] [GC 10632016K->10342571K(15928896K), 5.7408249 secs] [GC 12333675K->11429862K(15928896K), 4.3598314 secs] [Full GC 11429862K->11428664K(15928896K), 27.3218523 secs] [Full GC 13419768K->12570156K(15928896K), 29.8899905 secs] [Full GC 13937791K->12923942K(15928896K), 38.6754758 secs] [Full GC 13937791K->13616689K(15928896K), 33.6074579 secs] [Full GC 13937791K->13791952K(15928896K), 32.5105643 secs] [Full GC 13937791K->13870330K(15928896K), 32.9610150 secs] [Full GC 13937791K->13803091K(15928896K), 35.0629913 secs] [Full GC 13937791K->13937791K(15928896K), 33.4074016 secs] [Full GC[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor6]
[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor13] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor9] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor1] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor12] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor5] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor2] [Unloading class sun.reflect.GeneratedMethodAccessor31] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor11] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor8] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor7] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor3] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor4] 13937791K->13877536K(15928896K), 40.0829279 secs] [Full GC 13937791K->13937791K(15928896K), 32.3159591 secs] [Full GC[Unloading class sun.reflect.GeneratedMethodAccessor28] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor17] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor10] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor23] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor24] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor33] [Unloading class sun.reflect.GeneratedMethodAccessor27] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor16] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor30] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor18] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor32] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor21] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor34] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor31] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor35] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor19] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor22] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor29] [Unloading class sun.reflect.GeneratedMethodAccessor19] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor20] 13937791K->13894248K(15928896K), 39.6858220 secs] [Full GC 13937791K->13937791K(15928896K), 33.3874344 secs] [Full GC[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor45 ] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor49] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor42] [Unloading class sun.reflect.GeneratedMethodAccessor38] [Unloading class sun.reflect.GeneratedMethodAccessor39] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor48] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor43] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor47] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor40] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor44] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor38] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor36] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor39] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor46] 13937791K->13908849K(15928896K), 39.8373431 secs] [Full GC 13937791K->13937791K(15928896K), 33.5401437 secs] [Full GC[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor60 ] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor52] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor53] [Unloading class sun.reflect.GeneratedMethodAccessor40] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor61] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor59] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor37] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor56] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor57] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor51] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor54] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor58] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor50] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor55] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor41] 13937791K->13919589K(15928896K), 34.9016156 secs] [Full GC[Unloading class sun.reflect.GeneratedMethodAccessor41] 13937791K->13937791K(15928896K), 33.6243064 secs] [Full GC[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor71 ] [Unloading class sun.reflect.GeneratedMethodAccessor43] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor65] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor73] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor68] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor74] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor63] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor62] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor72] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor69] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor64] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor66] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor75] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor67] [Unloading class sun.reflect.GeneratedMethodAccessor42] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor70] 13937791K->13924500K(15928896K), 32.5474931 secs] [Full GC 13937791K->13937791K(15928896K), 32.5263038 secs] [Full GC[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor85 ] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor90] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor77] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor88] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor84] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor87] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor92] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor83] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor76] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor91] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor86] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor81] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor78] [Unloading class sun.reflect.GeneratedMethodAccessor44] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor80] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor82] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor89] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor79] 13937791K->13928406K(15928896K), 39.8728543 secs] [Full GC[Unloading class sun.reflect.GeneratedMethodAccessor46] [Unloading class sun.reflect.GeneratedMethodAccessor48] [Unloading class sun.reflect.GeneratedMethodAccessor45] 13937791K->13937791K(15928896K), 34.1698515 secs] [Full GC[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor93 ] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor98] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor95] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor96] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor94] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor97] 13937791K->13928876K(15928896K), 33.8560711 secs] [Full GC 13937791K->13937791K(15928896K), 32.8265567 secs] [Full GC 13937792K->13929578K(15928896K), 33.8523331 secs] Sep 19, 2009 6:00:39 PM ServerCommunicatorAdmin reqIncoming WARNING: The server has decided to close this client connection. Sep 19, 2009 6:00:39 PM ServerCommunicatorAdmin reqIncoming WARNING: The server has decided to close this client connection. Sep 19, 2009 6:00:39 PM ServerCommunicatorAdmin reqIncoming WARNING: The server has decided to close this client connection. [Full GC 13937792K->13937792K(15928896K), 33.3947354 secs] [Full GC[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor10 9] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor110] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor111] [Unloading class sun.reflect.GeneratedMethodAccessor47] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor108] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor101] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor104] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor100] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor103] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor107] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor112] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor102] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor106] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor99] [Unloading class sun.reflect.GeneratedMethodAccessor49] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor105] 13937792K->13933794K(15928896K), 39.3103839 secs] [Full GC 13937791K->13937791K(15928896K), 33.7030317 secs] [Full GC 13937791K->13935977K(15928896K), 35.0548381 secs] [Full GC 13937791K->13937791K(15928896K), 31.8499122 secs] [Full GC 13937791K->13936976K(15928896K), 33.2076415 secs] [Full GC 13937791K->13937791K(15928896K), 33.0390010 secs] [Full GC 13937791K->13936956K(15928896K), 40.1871308 secs] [Full GC 13937791K->13937791K(15928896K), 51.2912798 secs] [Full GC 13937791K->13936954K(15928896K), 32.7097839 secs] [Full GC 13937791K->13937791K(15928896K), 33.7743205 secs] [Full GC 13937791K->13937022K(15928896K), 33.0620488 secs] [Full GC 13937791K->13937791K(15928896K), 33.0626159 secs] [Full GC 13937791K->13937065K(15928896K), 33.7000325 secs] [Full GC 13937791K->13937791K(15928896K), 33.0868086 secs] [Full GC 13937791K->13937175K(15928896K), 32.3891737 secs] [Full GC 13937791K->13937791K(15928896K), 32.1197644 secs] [Full GC 13937791K->13937175K(15928896K), 33.5191229 secs] [Full GC 13937791K->13937791K(15928896K), 33.5263727 secs] [Full GC 13937791K->13937180K(15928896K), 39.4319066 secs] [Full GC 13937792K->13937792K(15928896K), 31.8385318 secs] [Full GC 13937792K->13937182K(15928896K), 33.4553751 secs] [Full GC 13937792K->13937792K(15928896K), 33.1534555 secs] [Full GC 13937792K->13937183K(15928896K), 33.2530708 secs] [Full GC 13937792K->13937792K(15928896K), 33.7065906 secs] [Full GC 13937792K->13937183K(15928896K), 39.5543170 secs] [Full GC 13937791K->13937791K(15928896K), 32.8270381 secs] [Full GC[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor11 4] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor113] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor115] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor116] 13937791K->13937240K(15928896K), 39.6396326 secs] [Full GC 13937791K->13937791K(15928896K), 32.9399291 secs] [Full GC 13937791K->13937791K(15928896K), 33.0255893 secs] [Full GC[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor11 8] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor119] [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor117] 13937791K->13937374K(15928896K), 33.0066365 secs] [Full GC 13937791K->13937477K(15928896K), 32.5185311 secs] [Full GC 13937791K->13937791K(15928896K), 37.0054323 secs] [Full GC 13937792K->13937792K(15928896K), 33.8332424 secs] [Full GC 13937792K->13937661K(15928896K), 33.0850752 secs] [Full GC 13937792K->13937661K(15928896K), 37.3485004 secs] [Full GC 13937792K->13937792K(15928896K), 33.1795653 secs] [Full GC 13937792K->13937689K(15928896K), 33.4663864 secs] [Full GC 13937792K->13937792K(15928896K), 33.3165511 secs] [Full GC 13937792K->13937694K(15928896K), 32.7161477 secs] [Full GC 13937792K->13937792K(15928896K), 33.5911495 secs] [Full GC 13937792K->13937694K(15928896K), 31.7440133 secs] [Full GC 13937792K->13937792K(15928896K), 32.3883825 secs] [Full GC 13937792K->13937695K(15928896K), 33.2798803 secs] [Full GC 13937792K->13937792K(15928896K), 33.8540358 secs] [Full GC 13937792K->13937696K(15928896K), 33.5192905 secs] [Full GC
|
Здесь только кусок лога, т.к. до конца нужно долго ждать, дальше все выглядит примерно одинаково - куча вызовов gc и в конце прога помирает с java.lang.OutOfMemoryError: Java heap space. Если убрать -XX:-UseGCOverheadLimit то прога умрет раньше с java.lang.OutOfMemoryError: GC overhead limit exceeded. Вот тут картинка с java visual vm - т.е. видно что памяти еще много и программа просто зависла на 13937792K. Перед тем начать читать из файла эти большие hastable'ы в лог выводится runtime.maxMemory() - runtime.totalMemory() + runtime.freeMemory() - памяти достаточно. | Код | [17:37:06,265] [INFO ] [AutoMapping] [main] Free memeory before dictionary loadi ng: 17465019448
|
Еще одна подозрительная вещь в самом начале загрузки | Код | [17:37:06,296] [INFO ] [DBCache] [main] Reading db cache [GC 4482448K->2661535K(17173376K), 4.1687538 secs] [GC 7141599K->5268681K(17173376K), 5.8632817 secs] [GC 9748745K->7948059K(14684416K), 6.8737520 secs] [GC 9939163K->9148273K(15928896K), 4.3652216 secs] [GC 10632016K->10342571K(15928896K), 5.7408249 secs] [GC 12333675K->11429862K(15928896K), 4.3598314 secs] [Full GC 11429862K->11428664K(15928896K), 27.3218523 secs]
|
Т.е. макс. памяти было 17173376K, потом вдруг стало 14684416K, 15928896K и на этом значении так и держится. Почему так происходит и как с эти бороться можно?
|