forum.bitel.ru http://forum.bitel.ru/ |
|
произошло странное - BGIPNNetflowCollector съел всю память? http://forum.bitel.ru/viewtopic.php?f=7&t=6472 |
Страница 1 из 1 |
Автор: | sda0 [ 20 фев 2012, 14:21 ] |
Заголовок сообщения: | произошло странное - BGIPNNetflowCollector съел всю память? |
[root@bgbill log]# uptime 12:13:31 up 66 days, 22:52, 1 user, load average: 0.04, 0.03, 0.05 столько же проработал BGIPNNetflowCollector. сегодня утром с ужасом обнаружил, что вчера перестала собираться статистика, начиная с 23 часа. статистика была утеряна за 11 часов. стал грешить на samplicator. перезапустил. ситуация не изменилась. полез в логи нетфлоуколлектора. а там error.log раздулся: Цитата: flowListener 02-20/10:23:36 ERROR [] LoggingPrintStream - java.lang.OutOfMemoryError: Direct buffer memory flowListener 02-20/10:23:36 ERROR [] LoggingPrintStream - at java.nio.Bits.reserveMemory(Bits.java:656) flowListener 02-20/10:23:36 ERROR [] LoggingPrintStream - at java.nio.DirectByteBuffer.<init>(DirectByteBuffer.java:113) flowListener 02-20/10:23:36 ERROR [] LoggingPrintStream - at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:305) flowListener 02-20/10:23:36 ERROR [] LoggingPrintStream - at ru.bitel.bgbilling.kernel.network.flow.FlowListener.run(FlowListener.jav flowListener 02-20/10:23:36 ERROR [] LoggingPrintStream - at java.lang.Thread.run(Thread.java:636) и этих логов на 20 метров одними и теми же записями. статус до перезапуска: Код: Traffic collector for IPN v 5.1 build 151 from 30.09.2010 14:42:06 Started: 15.12.2011 13:14:28 Uptime: 66 d 21:10:55 Memory total: 151 322 624; max: 238 616 576; free: 125 955 520 Memory pools: Non-heap memory[Code Cache]: max: 50 331 648; used: 3 333 056; peek: 3 335 616 Heap memory[PS Eden Space]: max: 89 194 496; used: 373 456; peek: 68 354 048 Heap memory[PS Survivor Space]: max: 131 072; used: 0; peek: 29 755 136 Heap memory[PS Old Gen]: max: 178 978 816; used: 25 360 080; peek: 112 503 032 Non-heap memory[PS Perm Gen]: max: 174 063 616; used: 14 317 232; peek: 14 318 168 Thread count: 52 FlowListener: queue_size: 0; threads_active: 0; largest: 10; core: 10; pool_size: 10; recv_socket_buf_size: 131 071; recv_buf_size: 8 388 6 08; packets: 781166314 FlowListener: queue_size: 0; threads_active: 0; largest: 10; core: 10; pool_size: 10; recv_socket_buf_size: 131 071; recv_buf_size: 8 388 6 08; packets: 4721380 FlowListener: queue_size: 0; threads_active: 0; largest: 0; core: 10; pool_size: 0; recv_socket_buf_size: 131 071; recv_buf_size: 8 388 608 ; packets: 0 FlowListener: queue_size: 0; threads_active: 0; largest: 10; core: 10; pool_size: 10; recv_socket_buf_size: 131 071; recv_buf_size: 8 388 6 08; packets: 5798676 Flow loader: ru.bitel.bgbilling.kernel.network.datalog.hourly.IPHourlyDataLogger@7d991142 [files: 0] после чего я сделал netflow_stop.sh потом netflow_start.sh но лог показал что адрес уже используется. я посмотрел ps ax, показало что процесс запущен. пришлось сделать kill -9 чтобы убить процесс. после чего стартанул нормально. Цитата: Клиент: вер. 5.1 сборка 573 от 22.07.2011 18:57:26 os:Windows 7; java:Sun Microsystems Inc., v.1.6.0_30 Сервер: вер. 5.1 сборка 694 от 22.07.2011 18:57:17 os:Linux; java:Sun Microsystems Inc., v.1.6.0_20 dialup вер. 5.1 сборка 183 от 06.07.2011 14:13:51 ipn вер. 5.1 сборка 241 от 06.07.2011 14:18:05 в связи с этим вопрос - что это было? и как избежать дальнейшего повторения? |
Автор: | sda0 [ 20 фев 2012, 14:55 ] |
Заголовок сообщения: | Re: произошло странное - BGIPNNetflowCollector съел всю памя |
Up! вот снова началось: Код: flowListener 02-20/13:36:59 ERROR [] LoggingPrintStream - at java.lang.Thread.run(Thread.java:636) flowListener 02-20/13:36:59 ERROR [] LoggingPrintStream - java.lang.OutOfMemoryError: Direct buffer memory flowListener 02-20/13:36:59 ERROR [] LoggingPrintStream - at java.nio.Bits.reserveMemory(Bits.java:656) flowListener 02-20/13:36:59 ERROR [] LoggingPrintStream - at java.nio.DirectByteBuffer.<init>(DirectByteBuffer.java:113) flowListener 02-20/13:36:59 ERROR [] LoggingPrintStream - at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:305) flowListener 02-20/13:36:59 ERROR [] LoggingPrintStream - at ru.bitel.bgbilling.kernel.network.flow.FlowListener.run(FlowListener.jav a:84) top с сортировкой по используемой памяти: Код: top - 14:00:02 up 67 days, 38 min, 1 user, load average: 0.35, 0.41, 0.36 Tasks: 103 total, 1 running, 102 sleeping, 0 stopped, 0 zombie Cpu0 : 30.9%us, 0.3%sy, 0.0%ni, 64.1%id, 3.7%wa, 0.0%hi, 1.0%si, 0.0%st Cpu1 : 23.9%us, 0.7%sy, 0.0%ni, 74.8%id, 0.0%wa, 0.0%hi, 0.7%si, 0.0%st Mem: 4047688k total, 3996208k used, 51480k free, 200460k buffers Swap: 8191996k total, 96380k used, 8095616k free, 1272452k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1333 root 5 -15 1576m 1.2g 496 S 0.3 29.8 136:55.77 ipcad 20621 root 20 0 1808m 426m 9.9m S 55.9 10.8 27:04.63 java 1298 root 20 0 1618m 191m 3772 S 0.7 4.8 132:46.02 java 1277 root 20 0 1761m 171m 3440 S 0.7 4.3 280:11.75 java 23816 root 20 0 1629m 137m 4648 S 0.0 3.5 61:09.40 java 826 root 20 0 1912m 82m 2560 S 0.7 2.1 137:24.11 java 1093 mysql 20 0 1149m 43m 2788 S 0.0 1.1 110:10.47 mysqld 1238 root 25 5 1597m 36m 2432 S 0.0 0.9 38:56.76 java 4928 root 20 0 106m 4112 3224 S 0.0 0.1 0:00.08 sshd 4966 root 20 0 116m 4028 2648 S 0.0 0.1 0:01.63 mc 4968 root 20 0 106m 2084 1588 S 0.0 0.1 0:00.05 bash 4935 root 20 0 106m 2052 1576 S 0.0 0.1 0:00.00 bash 1321 root 20 0 363m 1748 944 S 0.0 0.0 3:21.72 accel-pppd 856 root 20 0 144m 1476 1196 S 0.0 0.0 0:09.12 NetworkManager 869 root 20 0 60328 1384 1116 S 0.0 0.0 0:11.31 modem-manager 945 root 20 0 105m 1276 1276 S 0.0 0.0 0:00.00 mysqld_safe 27685 root 20 0 15168 1232 932 R 0.0 0.0 0:00.05 top помогите пожалуйста, что случилось? куда копать? |
Автор: | Phricker [ 20 фев 2012, 14:59 ] |
Заголовок сообщения: | Re: произошло странное - BGIPNNetflowCollector съел всю памя |
Увеличить память коллектору? -Xmx не по умолчанию стоит? |
Автор: | sda0 [ 20 фев 2012, 15:00 ] |
Заголовок сообщения: | Re: произошло странное - BGIPNNetflowCollector съел всю памя |
стоит по умолчанию. скрипт не трогал: Код: if [ "$1" = "start" ]; then nohup ${JAVA_HOME}/bin/java -Dapp.name=BGIPNNetflowCollector -Dlog4j.configuration=log4j-collector.xml -Dlog.dir.path=log/ -Dnetworkad dress.cache.ttl=3600 -Xmx256m -Djava.awt.headless=true -cp ${CLASSPATH} bitel.billing.server.netflow.ipn.Collector $1 $2 $3 > ./log/netf low.out 2>&1 & else ${JAVA_HOME}/bin/java -Dnetworkaddress.cache.ttl=3600 -Xmx256m -Djava.awt.headless=true -cp ${CLASSPATH} bitel.billing.server.netf low.ipn.Collector $1 $2 $3 $4 $5 fi как узнать сколько ему надо памяти? |
Автор: | skyb [ 20 фев 2012, 15:21 ] |
Заголовок сообщения: | Re: произошло странное - BGIPNNetflowCollector съел всю памя |
sda0 писал(а): стоит по умолчанию. скрипт не трогал: Код: if [ "$1" = "start" ]; then nohup ${JAVA_HOME}/bin/java -Dapp.name=BGIPNNetflowCollector -Dlog4j.configuration=log4j-collector.xml -Dlog.dir.path=log/ -Dnetworkad dress.cache.ttl=3600 -Xmx256m -Djava.awt.headless=true -cp ${CLASSPATH} bitel.billing.server.netflow.ipn.Collector $1 $2 $3 > ./log/netf low.out 2>&1 & else ${JAVA_HOME}/bin/java -Dnetworkaddress.cache.ttl=3600 -Xmx256m -Djava.awt.headless=true -cp ${CLASSPATH} bitel.billing.server.netf low.ipn.Collector $1 $2 $3 $4 $5 fi как узнать сколько ему надо памяти? с увеличением абоненской базы, нада увеличавать память, вам на электронку оповещение приходить должно, щас поставьте 512 |
Автор: | Phricker [ 20 фев 2012, 15:22 ] |
Заголовок сообщения: | Re: произошло странное - BGIPNNetflowCollector съел всю памя |
В вики посмотрите мониторинг java процессов по snmp. Полезная штука |
Автор: | sda0 [ 20 фев 2012, 15:35 ] |
Заголовок сообщения: | Re: произошло странное - BGIPNNetflowCollector съел всю памя |
skyb писал(а): с увеличением абоненской базы, нада увеличавать память, вам на электронку оповещение приходить должно, щас поставьте 512 в том то и дело, что абон база осталась на уровне 10 абонов как и была ![]() только может увеличился поток нетфлоу. а электронку сейчас проверю. я и забыл что оповещения на другой ящик включал ![]() упд. на почте ничего нет ![]() не приходили ни алармы ни оповещения ![]() |
Автор: | sda0 [ 20 фев 2012, 18:32 ] |
Заголовок сообщения: | Re: произошло странное - BGIPNNetflowCollector съел всю памя |
skyb писал(а): щас поставьте 512 спасибо. поставил 512 буду наблюдать. |
Автор: | stark [ 20 фев 2012, 19:43 ] |
Заголовок сообщения: | Re: произошло странное - BGIPNNetflowCollector съел всю памя |
sda0 писал(а): skyb писал(а): щас поставьте 512 спасибо. поставил 512 буду наблюдать. Вас это не спасет . Покажите конфигурацию коллектора . Скорее всего стоит много потоков. А -Xmx тут не поможет , это ошибка другого вида. Тут не хватило нативной памяти системы. |
Автор: | sda0 [ 21 фев 2012, 11:47 ] |
Заголовок сообщения: | Re: произошло странное - BGIPNNetflowCollector съел всю памя |
stark, вот: Код: port.admin=2003
ipn.collector.detail.class=bitel.billing.server.netflow.ipn.detail.AnalyzedFlowDetailMaker collector.mid=2 generate.minutes=5 db.driver=com.mysql.jdbc.Driver db.url=jdbc:mysql://127.0.0.1/bgbilling?useUnicode=true&characterEncoding=Cp1251&zeroDateTimeBehavior=convertToNull&jdbcCompliantTruncation=false&elideSetAutoCommits=true&cachePrepStmts=true db.user=bill db.pswd=bgbilling db.maxActive=300 db.maxIdle=100 mq.url=failover:(nio://127.0.0.1:61616) mq.user=bill mq.pswd=bgbilling log.dir=/usr/local/BGIPNNetflowCollector/data load=1 process=1 sources=1,2,5,6 collector.capture.flow.port.1=2044 collector.capture.flow.port.1.type=netflow collector.capture.flow.port.1.sources=1 collector.capture.flow.port.1.thread.count=10 collector.capture.flow.port.2=2004 collector.capture.flow.port.2.type=netflow collector.capture.flow.port.2.sources=2 collector.capture.flow.port.2.thread.count=10 collector.capture.flow.port.3=2025 collector.capture.flow.port.3.type=netflow collector.capture.flow.port.3.sources=5 collector.capture.flow.port.3.thread.count=10 collector.capture.flow.port.4=2026 collector.capture.flow.port.4.type=netflow collector.capture.flow.port.4.sources=6 collector.capture.flow.port.4.thread.count=10 datalog.chunk.size=524288 datalog.flow.compression.type=1 |
Автор: | Phricker [ 21 фев 2012, 11:51 ] |
Заголовок сообщения: | Re: произошло странное - BGIPNNetflowCollector съел всю памя |
Код: db.user=bill db.pswd=bgbilling Хохо ![]() |
Автор: | sda0 [ 21 фев 2012, 12:12 ] |
Заголовок сообщения: | Re: произошло странное - BGIPNNetflowCollector съел всю памя |
да пофиг, всё равно никто не попадёт ![]() да к тому же софт пока в полу-тестовом режиме гоняем ![]() как только наберём абонов свыше 20, так сразу сменю. |
Автор: | stark [ 21 фев 2012, 14:38 ] |
Заголовок сообщения: | Re: произошло странное - BGIPNNetflowCollector съел всю памя |
Тут 2 варианта: 1. Поставить в netflow_ipn.properties: collector.capture.flow.buffer.capacity=2097152. По умолчанию там 8388608. 2 . Увеличить параметр -XX:MaxDirectMemorySize=<size>. В скрипте запуска коллектора. По умолчанию там 64М. Попробуйте 128 -XX:MaxDirectMemorySize=128M |
Автор: | Phricker [ 21 фев 2012, 14:43 ] |
Заголовок сообщения: | Re: произошло странное - BGIPNNetflowCollector съел всю памя |
Т.е. если этот параметр не указан - его можно указать? Если не указан - 64 Мб? У меня такое на даталоадере временами |
Автор: | sda0 [ 21 фев 2012, 15:58 ] |
Заголовок сообщения: | Re: произошло странное - BGIPNNetflowCollector съел всю памя |
stark писал(а): Тут 2 варианта: -Xmx256m мне поставить назад в скрипте запуска? з.ы. полез в логи. действительно не спасло ![]() Код: flowListener 02-21/08:49:38 ERROR [] LoggingPrintStream - at java.lang.Thread.run(Thread.java:636) flowListener 02-21/08:49:38 ERROR [] LoggingPrintStream - java.lang.OutOfMemoryError: Direct buffer memory flowListener 02-21/08:49:38 ERROR [] LoggingPrintStream - at java.nio.Bits.reserveMemory(Bits.java:656) flowListener 02-21/08:49:38 ERROR [] LoggingPrintStream - at java.nio.DirectByteBuffer.<init>(DirectByteBuffer.java:113) flowListener 02-21/08:49:38 ERROR [] LoggingPrintStream - at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:305) flowListener 02-21/08:49:38 ERROR [] LoggingPrintStream - at ru.bitel.bgbilling.kernel.network.flow.FlowListener.run(FlowListener.jav a:84) это было утром и таких записей с десяток. длилось час, потом прекратилось. выбрал второй вариант. буду снова наблюдать. |
Автор: | sda0 [ 21 фев 2012, 18:53 ] |
Заголовок сообщения: | Re: произошло странное - BGIPNNetflowCollector съел всю памя |
всё равно так же, но немного с другим сообщением: Код: flowListener 02-21/17:39:35 ERROR [] LoggingPrintStream - at java.lang.Thread.run(Thread.java:636) flowListener 02-21/17:39:35 ERROR [] LoggingPrintStream - java.lang.OutOfMemoryError: Direct buffer memory flowListener 02-21/17:39:35 ERROR [] LoggingPrintStream - at java.nio.Bits.reserveMemory(Bits.java:656) flowListener 02-21/17:39:35 ERROR [] LoggingPrintStream - at java.nio.DirectByteBuffer.<init> DirectByteBuffer.java:113) flowListener 02-21/17:39:35 ERROR [] LoggingPrintStream - at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:305) flowListener 02-21/17:39:35 ERROR [] LoggingPrintStream - at ru.bitel.bgbilling.kernel.network.flow.FlowListener.run(FlowListener.java:84) flowListener 02-21/17:39:35 ERROR [] LoggingPrintStream - at java.lang.Thread.run(Thread.java:636) flowListener 02-21/17:39:35 ERROR [] LoggingPrintStream - java.lang.OutOfMemoryError: Direct buffer memory flowListener 02-21/17:39:35 ERROR [] LoggingPrintStream - at java.nio.Bits.reserveMemory(Bits.java:656) flowListener 02-21/17:39:35 ERROR [] LoggingPrintStream - at java.nio.DirectByteBuffer.<init>(DirectByteBuffer.java:113) flowListener 02-21/17:39:35 ERROR [] LoggingPrintStream - at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:305) flowListener 02-21/17:39:35 ERROR [] LoggingPrintStream - at ru.bitel.bgbilling.kernel.network.flow.FlowListener.run(FlowListener.jav a:84) flowListener 02-21/17:39:35 ERROR [] LoggingPrintStream - at java.lang.Thread.run(Thread.java:636) flowListener 02-21/17:39:35 ERROR [flow-p-3-t-5] LoggingPrintStream - Exception in thread "flow-p-3-t-5" flowListener 02-21/17:39:35 ERROR [flow-p-3-t-5] LoggingPrintStream - java.lang.OutOfMemoryError: Direct buffer memory flowListener 02-21/17:39:35 ERROR [flow-p-3-t-5] LoggingPrintStream - at java.nio.Bits.reserveMemory(Bits.java:656) flowListener 02-21/17:39:35 ERROR [flow-p-3-t-5] LoggingPrintStream - at java.nio.DirectByteBuffer.<init>(DirectByteBuffer.java:113) flowListener 02-21/17:39:35 ERROR [flow-p-3-t-5] LoggingPrintStream - at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:305) flowListener 02-21/17:39:35 ERROR [flow-p-3-t-5] LoggingPrintStream - at sun.nio.ch.Util.getTemporaryDirectBuffer(Util.java:75) flowListener 02-21/17:39:35 ERROR [flow-p-3-t-5] LoggingPrintStream - at sun.nio.ch.IOUtil.write(IOUtil.java:87) flowListener 02-21/17:39:35 ERROR [flow-p-3-t-5] LoggingPrintStream - at sun.nio.ch.FileChannelImpl.write(FileChannelImpl.java:224) flowListener 02-21/17:39:35 ERROR [flow-p-3-t-5] LoggingPrintStream - at ru.bitel.bgbilling.kernel.base.server.datalog.BGDataLog.writeHea der(BGDataLog.java:526) flowListener 02-21/17:39:35 ERROR [flow-p-3-t-5] LoggingPrintStream - at ru.bitel.bgbilling.kernel.base.server.datalog.BGDataLog.asWriter Impl(BGDataLog.java:444) flowListener 02-21/17:39:35 ERROR [flow-p-3-t-5] LoggingPrintStream - at ru.bitel.bgbilling.kernel.base.server.datalog.DataLog.asWriter(D ataLog.java:225) flowListener 02-21/17:39:35 ERROR [flow-p-3-t-5] LoggingPrintStream - at ru.bitel.bgbilling.kernel.base.server.datalog.hourly.HourlyDataL ogEntry.<init>(HourlyDataLogEntry.java:37) flowListener 02-21/17:39:35 ERROR [flow-p-3-t-5] LoggingPrintStream - at ru.bitel.bgbilling.kernel.network.datalog.hourly.IPHourlyDataLog ger$IPHourlyDataLogEntry.<init>(IPHourlyDataLogger.java:53) flowListener 02-21/17:39:35 ERROR [flow-p-3-t-5] LoggingPrintStream - at ru.bitel.bgbilling.kernel.network.datalog.hourly.IPHourlyDataLog ger.getWriter(IPHourlyDataLogger.java:169) flowListener 02-21/17:39:35 ERROR [flow-p-3-t-5] LoggingPrintStream - at ru.bitel.bgbilling.modules.ipn.collector.FlowListenerWorkerNetFl ow.process(FlowListenerWorkerNetFlow.java:54) flowListener 02-21/17:39:35 ERROR [flow-p-3-t-5] LoggingPrintStream - at ru.bitel.bgbilling.modules.ipn.collector.FlowListenerWorker.run( FlowListenerWorker.java:47) flowListener 02-21/17:39:35 ERROR [flow-p-3-t-5] LoggingPrintStream - at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExec utor.java:1110) flowListener 02-21/17:39:35 ERROR [flow-p-3-t-5] LoggingPrintStream - at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) flowListener 02-21/17:39:35 ERROR [flow-p-3-t-5] LoggingPrintStream - at java.lang.Thread.run(Thread.java:636) flowListener 02-21/17:39:35 ERROR [flow-p-3-t-5] LoggingPrintStream - at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40) параметры запуска такие: Код: nohup ${JAVA_HOME}/bin/java -Dapp.name=BGIPNNetflowCollector -Dlog4j.configuration=log4j-collector.xml -Dlog.dir.path=log/ -Dnetworkad dress.cache.ttl=3600 -Xmx256m -XX:MaxDirectMemorySize=128M -Djava.awt.headless=true -cp ${CLASSPATH} bitel.billing.server.netflow.ipn.Coll ector $1 $2 $3 > ./log/netflow.out 2>&1 & ещё увеличить директмемори? или проблема кроется в другом месте? апд. коллектор теперь вообще пал смертью храбрых. перед смертью успел появится лог падения. Вложение: hs_err_pid14534.log
|
Автор: | Amir [ 21 фев 2012, 20:02 ] |
Заголовок сообщения: | Re: произошло странное - BGIPNNetflowCollector съел всю памя |
У вас коллектор вроде бы не последний. Сейчас указано в netflow_ipn.properties? Код: collector.capture.flow.buffer.capacity=2097152 Попробуйте такжеЦитата: datalog.chunk.size=393216 Если не поможет - еще увеличить DirectBufferSize.
|
Автор: | sda0 [ 22 фев 2012, 00:34 ] |
Заголовок сообщения: | Re: произошло странное - BGIPNNetflowCollector съел всю памя |
Amir писал(а): У вас коллектор вроде бы не последний. Сейчас указано в netflow_ipn.properties? Код: collector.capture.flow.buffer.capacity=2097152 да, не последний. строки этой не было в конфиге. добавил. буду дальше наблюдать. Цитата: Попробуйте также Цитата: datalog.chunk.size=393216 Если не поможет - еще увеличить DirectBufferSize.но у меня сейчас стоит значение даже больше - 524288 то есть чем меньше тем лучше? |
Автор: | Amir [ 22 фев 2012, 01:28 ] |
Заголовок сообщения: | Re: произошло странное - BGIPNNetflowCollector съел всю памя |
Да, collector.capture.flow.buffer.capacity это какого размера буфер приема для сокета, т.е. в вашем случае умножить на 4, datalog.chunk.size - это размер блока в лог файле и он же - размер буфера на поток, т.е. умножить на 4*10. Эти буферы используют direct buffer memory. Но в каких-то старых билдах ошибка была, возможно проблема не в конфиге, а нужно обновить коллектор. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |