forum.bitel.ru http://forum.bitel.ru/ |
|
Обсчёт логов IPN - зависает задача. http://forum.bitel.ru/viewtopic.php?f=7&t=7607 |
Страница 1 из 1 |
Автор: | Alick [ 14 янв 2013, 16:32 ] |
Заголовок сообщения: | Обсчёт логов IPN - зависает задача. |
В планировщике задач имеется задача "обсчёт логов IPN". Задача запускается через каждые 15 минут: в 0, 15, 30 и 45 минут каждого часа. Проблема в том, через 5-6 циклов работы задача начинает "виснуть". Со временем количество раз запущенных задач увеличивается, но они никак не выполняются. После перезагрузки сервера, задача "обсчёт логов IPN" исчезает из списка выполняемых задач, 5-6 раз задача обрабатывается нормально, а потом опять "зависает". В чём может быть проблема? Версия программы 5.2. |
Автор: | stark [ 14 янв 2013, 16:52 ] |
Заголовок сообщения: | Re: Обсчёт логов IPN - зависает задача. |
при зависании запустите jstack <код процесса планировщика> желательно несколько раз с интервалом небольшим. результаты сюда прикрепите. jstack входит в java jdk |
Автор: | Cromeshnic [ 15 янв 2013, 06:52 ] |
Заголовок сообщения: | Re: Обсчёт логов IPN - зависает задача. |
Кстати, если результат не показывается на выходе jstack, то скорее всего вывод будет в scheduler.out |
Автор: | Alick [ 15 янв 2013, 15:42 ] |
Заголовок сообщения: | Re: Обсчёт логов IPN - зависает задача. |
stark писал(а): при зависании запустите jstack <код процесса планировщика> желательно несколько раз с интервалом небольшим. результаты сюда прикрепите. jstack входит в java jdk java jdk сейчас на сервере не установлен и с ходу его установить не удалось. Как решим проблему, я тогда пришлю необходимую информацию. |
Автор: | Alick [ 13 мар 2013, 19:31 ] |
Заголовок сообщения: | Re: Обсчёт логов IPN - зависает задача. |
Подскажите как правильно определить код зависшего процесса планировщика. По команде ps aux | grep scheduler выходит порядка 20 процессов с одними и теми же путями. Также запускал команду с одним из предполагаемых процессов jstack -l 11748 вот ответ: Код: jstack -l 11748
2013-03-13 14:29:03 Full thread dump Java HotSpot(TM) 64-Bit Server VM (20.5-b03 mixed mode): "Attach Listener" daemon prio=10 tid=0x00007fd130001800 nid=0x3254 waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - None "InactivityMonitor WriteCheck" daemon prio=10 tid=0x00007fd118008800 nid=0x2c5a in Object.wait() [0x00007fd147286000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000000f7a44238> (a java.util.TaskQueue) at java.util.TimerThread.mainLoop(Timer.java:509) - locked <0x00000000f7a44238> (a java.util.TaskQueue) at java.util.TimerThread.run(Timer.java:462) Locked ownable synchronizers: - None "InactivityMonitor ReadCheck" daemon prio=10 tid=0x00007fd118007800 nid=0x2c59 in Object.wait() [0x00007fd14625e000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000000f7a43d40> (a java.util.TaskQueue) at java.util.TimerThread.mainLoop(Timer.java:509) - locked <0x00000000f7a43d40> (a java.util.TaskQueue) at java.util.TimerThread.run(Timer.java:462) Locked ownable synchronizers: - None "pool-2-thread-7" prio=10 tid=0x00007fd0d8001800 nid=0x2b64 waiting on condition [0x00007fd145d59000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000f07fb748> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:662) Locked ownable synchronizers: - None "pool-2-thread-5" prio=10 tid=0x00007fd0d8005000 nid=0x6840 waiting on condition [0x00007fd145b57000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000f07fb748> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:662) Locked ownable synchronizers: - None "evpool-pblsh-p-4-t-2" prio=10 tid=0x00007fd0e4009800 nid=0x542a waiting on condition [0x00007fd145f5b000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000f19dc9d8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) at java.util.concurrent.DelayQueue.take(DelayQueue.java:160) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:609) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:602) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:662) at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40) Locked ownable synchronizers: - None "pool-2-thread-4" prio=10 tid=0x00007fd0d8003000 nid=0x52b6 waiting on condition [0x00007fd145c58000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000f07fb748> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:662) Locked ownable synchronizers: - None "evpool-pblsh-p-4-t-1" prio=10 tid=0x00007fd0e8026000 nid=0x3d3a waiting on condition [0x00007fd146965000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000f19dc9d8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) at java.util.concurrent.DelayQueue.take(DelayQueue.java:160) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:609) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:602) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:662) at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40) Locked ownable synchronizers: - None "pool-2-thread-2" prio=10 tid=0x00007fd0d8006000 nid=0x3cef waiting on condition [0x00007fd146d70000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000f07fb748> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:662) Locked ownable synchronizers: - None "DestroyJavaVM" prio=10 tid=0x00007fd160007000 nid=0x2de8 waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - None "Thread-13" prio=10 tid=0x00007fd1605fb800 nid=0x2e93 waiting on condition [0x00007fd146460000] java.lang.Thread.State: TIMED_WAITING (sleeping) at java.lang.Thread.sleep(Native Method) at bitel.billing.server.admin.errorlog.AlarmSender.run(AlarmSender.java:229) Locked ownable synchronizers: - None "Thread-11" prio=10 tid=0x00007fd1605ea000 nid=0x2e56 runnable [0x00007fd146561000] java.lang.Thread.State: RUNNABLE at java.net.PlainSocketImpl.socketAccept(Native Method) at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:408) - locked <0x00000000f0875988> (a java.net.SocksSocketImpl) at java.net.ServerSocket.implAccept(ServerSocket.java:462) at java.net.ServerSocket.accept(ServerSocket.java:430) at bitel.billing.server.util.manager.ProcessManager.run(ProcessManager.java:39) Locked ownable synchronizers: - None "Selector Worker: 1" daemon prio=10 tid=0x00007fd100022000 nid=0x2e3d runnable [0x00007fd146a66000] java.lang.Thread.State: RUNNABLE at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method) at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:210) at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:65) at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69) - locked <0x00000000f7a22fd0> (a sun.nio.ch.Util$2) - locked <0x00000000f7a22fc0> (a java.util.Collections$UnmodifiableSet) - locked <0x00000000f7a22db8> (a sun.nio.ch.EPollSelectorImpl) at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80) at org.apache.activemq.transport.nio.SelectorWorker.run(SelectorWorker.java:93) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Locked ownable synchronizers: - <0x00000000f021fad8> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) "ActiveMQConnection[ID:bill.woskresensk.ru-53152-1363092756740-0:1] Scheduler" daemon prio=10 tid=0x00007fd108014800 nid=0x2e0d in Object.wait() [0x00007fd146e71000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000000f085d0a8> (a java.util.TaskQueue) at java.lang.Object.wait(Object.java:485) at java.util.TimerThread.mainLoop(Timer.java:483) - locked <0x00000000f085d0a8> (a java.util.TaskQueue) at java.util.TimerThread.run(Timer.java:462) Locked ownable synchronizers: - None "Timer-0" daemon prio=10 tid=0x00007fd16053c000 nid=0x2dfd in Object.wait() [0x00007fd147174000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000000f021eda0> (a java.util.TaskQueue) at java.util.TimerThread.mainLoop(Timer.java:509) - locked <0x00000000f021eda0> (a java.util.TaskQueue) at java.util.TimerThread.run(Timer.java:462) Locked ownable synchronizers: - None "Low Memory Detector" daemon prio=10 tid=0x00007fd160091000 nid=0x2df4 runnable [0x0000000000000000] java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - None "C2 CompilerThread1" daemon prio=10 tid=0x00007fd16008e800 nid=0x2df3 waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - None "C2 CompilerThread0" daemon prio=10 tid=0x00007fd16008b800 nid=0x2df2 waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - None "Signal Dispatcher" daemon prio=10 tid=0x00007fd160089800 nid=0x2df1 runnable [0x0000000000000000] java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - None "Finalizer" daemon prio=10 tid=0x00007fd16006d800 nid=0x2def in Object.wait() [0x00007fd147ffe000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000000f021e010> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118) - locked <0x00000000f021e010> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) Locked ownable synchronizers: - None "Reference Handler" daemon prio=10 tid=0x00007fd16006b800 nid=0x2dee in Object.wait() [0x00007fd15c1a8000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000000f02f4bb8> (a java.lang.ref.Reference$Lock) at java.lang.Object.wait(Object.java:485) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116) - locked <0x00000000f02f4bb8> (a java.lang.ref.Reference$Lock) Locked ownable synchronizers: - None "VM Thread" prio=10 tid=0x00007fd160064800 nid=0x2ded runnable "GC task thread#0 (ParallelGC)" prio=10 tid=0x00007fd16001a000 nid=0x2de9 runnable "GC task thread#1 (ParallelGC)" prio=10 tid=0x00007fd16001b800 nid=0x2dea runnable "GC task thread#2 (ParallelGC)" prio=10 tid=0x00007fd16001d800 nid=0x2deb runnable "GC task thread#3 (ParallelGC)" prio=10 tid=0x00007fd16001f800 nid=0x2dec runnable "VM Periodic Task Thread" prio=10 tid=0x00007fd16009b800 nid=0x2df5 waiting on condition JNI global references: 1732 |
Автор: | stark [ 13 мар 2013, 21:01 ] |
Заголовок сообщения: | Re: Обсчёт логов IPN - зависает задача. |
Alick писал(а): Подскажите как правильно определить код зависшего процесса планировщика. По команде ps aux | grep scheduler выходит порядка 20 процессов с одними и теми же путями. У вас freebsd чтоли ? Вот тут у пользователя похожая проблема - не может найти свой процесс . Ему там посоветовали Цитата: ps -ax | grep DataLoader Нужен главный процесс , а не потоки внутри . Ни одного доступа к freebsd, чтобы посмотреть как там , у меня нет. |
Автор: | lacost [ 28 июн 2015, 03:49 ] |
Заголовок сообщения: | Re: Обсчёт логов IPN - зависает задача. |
Подниму старую тему. Как подходит месяц к концу - так проблема с шедулером. Зависают задачи, засыпает почту сообщениями lowmemory. Памяти выделено 4Гб. Подви сает переобсчет логов IPN. Код: #/home/jdk/bin/jstack 18201 18201: Unable to open socket file: target process not responding or HotSpot VM not loaded The -F option can be used when the target process is not responding # /home/jdk/bin/jstack -F 18201 Attaching to process ID 18201, please wait... Debugger attached successfully. Server compiler detected. JVM version is 17.1-b03 Deadlock Detection: No deadlocks found. Thread 22309: (state = BLOCKED) Error occurred during stack walking: sun.jvm.hotspot.debugger.DebuggerException: sun.jvm.hotspot.debugger.DebuggerException: get_thread_regs failed for a lwp at sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal$LinuxDebuggerLocalWorkerThread.execute(LinuxDebuggerLocal.java:152) at sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal.getThreadIntegerRegisterSet(LinuxDebuggerLocal.java:466) at sun.jvm.hotspot.debugger.linux.LinuxThread.getContext(LinuxThread.java:65) at sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess.getCurrentFrameGuess(LinuxAMD64JavaThreadPDAccess.java:92) at sun.jvm.hotspot.runtime.JavaThread.getCurrentFrameGuess(JavaThread.java:256) at sun.jvm.hotspot.runtime.JavaThread.getLastJavaVFrameDbg(JavaThread.java:218) at sun.jvm.hotspot.tools.StackTrace.run(StackTrace.java:76) at sun.jvm.hotspot.tools.StackTrace.run(StackTrace.java:45) at sun.jvm.hotspot.tools.JStack.run(JStack.java:60) at sun.jvm.hotspot.tools.Tool.start(Tool.java:221) at sun.jvm.hotspot.tools.JStack.main(JStack.java:86) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at sun.tools.jstack.JStack.runJStackTool(JStack.java:118) at sun.tools.jstack.JStack.main(JStack.java:84) Caused by: sun.jvm.hotspot.debugger.DebuggerException: get_thread_regs failed for a lwp at sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal.getThreadIntegerRegisterSet0(Native Method) at sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal.access$800(LinuxDebuggerLocal.java:51) at sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal$1GetThreadIntegerRegisterSetTask.doit(LinuxDebuggerLocal.java:460) at sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal$LinuxDebuggerLocalWorkerThread.run(LinuxDebuggerLocal.java:127) Thread 22224: (state = BLOCKED) Error occurred during stack walking: sun.jvm.hotspot.debugger.DebuggerException: sun.jvm.hotspot.debugger.DebuggerException: get_thread_regs failed for a lwp at sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal$LinuxDebuggerLocalWorkerThread.execute(LinuxDebuggerLocal.java:152) at sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal.getThreadIntegerRegisterSet(LinuxDebuggerLocal.java:466) at sun.jvm.hotspot.debugger.linux.LinuxThread.getContext(LinuxThread.java:65) at sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess.getCurrentFrameGuess(LinuxAMD64JavaThreadPDAccess.java:92) at sun.jvm.hotspot.runtime.JavaThread.getCurrentFrameGuess(JavaThread.java:256) at sun.jvm.hotspot.runtime.JavaThread.getLastJavaVFrameDbg(JavaThread.java:218) at sun.jvm.hotspot.tools.StackTrace.run(StackTrace.java:76) at sun.jvm.hotspot.tools.StackTrace.run(StackTrace.java:45) at sun.jvm.hotspot.tools.JStack.run(JStack.java:60) at sun.jvm.hotspot.tools.Tool.start(Tool.java:221) at sun.jvm.hotspot.tools.JStack.main(JStack.java:86) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at sun.tools.jstack.JStack.runJStackTool(JStack.java:118) at sun.tools.jstack.JStack.main(JStack.java:84) Caused by: sun.jvm.hotspot.debugger.DebuggerException: get_thread_regs failed for a lwp at sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal.getThreadIntegerRegisterSet0(Native Method) at sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal.access$800(LinuxDebuggerLocal.java:51) at sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal$1GetThreadIntegerRegisterSetTask.doit(LinuxDebuggerLocal.java:460) at sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal$LinuxDebuggerLocalWorkerThread.run(LinuxDebuggerLocal.java:127) ...... Уже и не знаю куда смотреть |
Автор: | stark [ 29 июн 2015, 12:35 ] |
Заголовок сообщения: | Re: Обсчёт логов IPN - зависает задача. |
что показывает статус? что в на вкладке "состояние планировщика" ? |
Автор: | lacost [ 29 июн 2015, 17:15 ] |
Заголовок сообщения: | Re: Обсчёт логов IPN - зависает задача. |
Код: # ./scheduler.sh -estatus Sending 'status' on 127.0.0.1:9066 Result: TaskExecuter working Started: 27.06.2015 23:15:08 Uptime: 1 d 14:56:58 Memory total: 4 772 200 448; max: 4 772 200 448; free: 1 265 531 272 Memory pools: Non-heap memory[Code Cache]: max: 50 331 648; used: 8 052 992; peek: 8 064 256 Heap memory[PS Eden Space]: max: 596 508 672; used: 14 398 520; peek: 1 259 864 064 Heap memory[PS Survivor Space]: max: 596 508 672; used: 0; peek: 596 508 672 Heap memory[PS Old Gen]: max: 3 579 183 104; used: 3 492 270 656; peek: 3 579 178 856 Non-heap memory[PS Perm Gen]: max: 88 080 384; used: 31 429 424; peek: 31 563 328 Thread count: 45 Trees in cache: 72 Periodic tasks executed: 5260; active: 3 Urgent tasks executed: 113; active: 0 Connections pool to Master status Idle: 6; Active: 2; maxActive: 300; maxIdle: 20 В планировщике висит задача переобсчета логов IPN. В логах: LogCalculator - Task finished time=3101859 ms. |
Автор: | stark [ 29 июн 2015, 17:49 ] |
Заголовок сообщения: | Re: Обсчёт логов IPN - зависает задача. |
lacost писал(а): [ В логах: LogCalculator - Task finished time=3101859 ms. Судя по этой записи задача(видимо не эта, а предыдущая) закончилась за 51 минуту. Оно висит или долго выполняется ? Как часто запускается задача ? во кладке о состоянии планировщика пишут сколько копий задач запущено - сколько ? |
Автор: | lacost [ 29 июн 2015, 18:32 ] |
Заголовок сообщения: | Re: Обсчёт логов IPN - зависает задача. |
Задача запускается раз в час, и обычно за час успевает выполниться. Очень редко я видел 2 запущенных задачи. Задача все же та самая, вот более подробный вывод: Код: # cat log/scheduler.log | grep LogCalculator
06-29/14:04:02 INFO [Thread-4] TaskExecuter - Starting periodic task #4: bitel.billing.server.ipn.LogCalculator 06-29/14:04:24 INFO [pool-2-thread-2] LogCalculator - Difficult mode INIT 06-29/14:07:26 ERROR [pool-2-thread-2] LogCalculator - Tree not found for contract id: 1046 06-29/14:07:26 ERROR [pool-2-thread-2] LogCalculator - Tree not found for contract id: 1046 06-29/14:07:26 ERROR [pool-2-thread-2] LogCalculator - Tree not found for contract id: 1046 06-29/14:07:40 ERROR [pool-2-thread-2] LogCalculator - Tree not found for contract id: 1299 06-29/14:08:07 ERROR [pool-2-thread-2] LogCalculator - Tree not found for contract id: 1760 06-29/14:08:14 ERROR [pool-2-thread-2] LogCalculator - Tree not found for contract id: 1914 06-29/14:08:14 ERROR [pool-2-thread-2] LogCalculator - Tree not found for contract id: 1914 06-29/14:08:14 ERROR [pool-2-thread-2] LogCalculator - Tree not found for contract id: 1914 06-29/14:08:14 ERROR [pool-2-thread-2] LogCalculator - Tree not found for contract id: 1914 06-29/14:32:28 INFO [pool-2-thread-2] LogCalculator - Init time => 1705933 ms |
Автор: | stark [ 29 июн 2015, 19:10 ] |
Заголовок сообщения: | Re: Обсчёт логов IPN - зависает задача. |
lacost писал(а): Задача запускается раз в час, и обычно за час успевает выполниться. Очень редко я видел 2 запущенных задачи. Задача все же та самая, вот более подробный вывод: Код: # cat log/scheduler.log | grep LogCalculator 06-29/14:04:02 INFO [Thread-4] TaskExecuter - Starting periodic task #4: bitel.billing.server.ipn.LogCalculator 06-29/14:04:24 INFO [pool-2-thread-2] LogCalculator - Difficult mode INIT 06-29/14:07:26 ERROR [pool-2-thread-2] LogCalculator - Tree not found for contract id: 1046 06-29/14:07:26 ERROR [pool-2-thread-2] LogCalculator - Tree not found for contract id: 1046 06-29/14:07:26 ERROR [pool-2-thread-2] LogCalculator - Tree not found for contract id: 1046 06-29/14:07:40 ERROR [pool-2-thread-2] LogCalculator - Tree not found for contract id: 1299 06-29/14:08:07 ERROR [pool-2-thread-2] LogCalculator - Tree not found for contract id: 1760 06-29/14:08:14 ERROR [pool-2-thread-2] LogCalculator - Tree not found for contract id: 1914 06-29/14:08:14 ERROR [pool-2-thread-2] LogCalculator - Tree not found for contract id: 1914 06-29/14:08:14 ERROR [pool-2-thread-2] LogCalculator - Tree not found for contract id: 1914 06-29/14:08:14 ERROR [pool-2-thread-2] LogCalculator - Tree not found for contract id: 1914 06-29/14:32:28 INFO [pool-2-thread-2] LogCalculator - Init time => 1705933 ms Это не может быть той же самой задачей . Про ту вас же в логах написано что она закончилась в логах . А сколько висит текущая подвисшая задача ?. в состоянии планировщика вроде бы пишут когда она была запущена. Не понятно задача висит или все-таки долго работает ? А какая у вас версия ? Есть возможность перейти на модуль Inet ? Там этих проблем быть не должно. У вас из 51-ой минуты (если предположить что это время работы задачи переобсчета в среднем) 28 занимается только инициализацией тарифных счетчиков. В inet это оптииизировано - счетчики хранятся в базе, да и обсчитывать все логи каждый час там не надо. Пришлите нам архив с логам планировщика целиком для изучения. |
Автор: | lacost [ 29 июн 2015, 19:29 ] |
Заголовок сообщения: | Re: Обсчёт логов IPN - зависает задача. |
что-то я тупанул... не весь кусок лога запостил... Код: 06-29/15:04:03 INFO [Thread-4] TaskExecuter - Starting periodic task #4: bitel.billing.server.ipn.LogCalculator 06-29/15:04:25 INFO [pool-2-thread-2] LogCalculator - Difficult mode INIT 06-29/15:07:17 ERROR [pool-2-thread-2] LogCalculator - Tree not found for contract id: 1046 06-29/15:07:17 ERROR [pool-2-thread-2] LogCalculator - Tree not found for contract id: 1046 06-29/15:07:17 ERROR [pool-2-thread-2] LogCalculator - Tree not found for contract id: 1046 06-29/15:07:30 ERROR [pool-2-thread-2] LogCalculator - Tree not found for contract id: 1299 06-29/15:07:57 ERROR [pool-2-thread-2] LogCalculator - Tree not found for contract id: 1760 06-29/15:08:04 ERROR [pool-2-thread-2] LogCalculator - Tree not found for contract id: 1914 06-29/15:08:04 ERROR [pool-2-thread-2] LogCalculator - Tree not found for contract id: 1914 06-29/15:08:04 ERROR [pool-2-thread-2] LogCalculator - Tree not found for contract id: 1914 06-29/15:08:04 ERROR [pool-2-thread-2] LogCalculator - Tree not found for contract id: 1914 06-29/15:32:38 INFO [pool-2-thread-2] LogCalculator - Init time => 1714963 ms 06-29/15:32:38 INFO [pool-2-thread-2] LogCalculator - Processing.. 06-29/15:34:16 INFO [pool-2-thread-2] LogCalculator - Select records time=98197 ms. 06-29/16:01:36 INFO [pool-2-thread-2] LogCalculator - Records processing time=1737693 ms. 06-29/16:01:36 ERROR [pool-2-thread-2] LogCalculator - Detected errors => 33094 06-29/16:01:37 INFO [pool-2-thread-2] LogCalculator - Setting balances for independ and subs.. 06-29/16:01:37 INFO [pool-2-thread-2] LogCalculator - Task finished time=3453937 ms. Мы уже несколько раз пытались осмыслить как бы нам осуществить переход на Inet и на 6-ю версию, но все никак не осилим... Сейчас 5.2. Да, инициализация 30 минут, ну и обсчет 30 минут.... |
Автор: | stark [ 30 июн 2015, 12:25 ] |
Заголовок сообщения: | Re: Обсчёт логов IPN - зависает задача. |
lacost писал(а): Мы уже несколько раз пытались осмыслить как бы нам осуществить переход на Inet и на 6-ю версию, но все никак не осилим... Сейчас 5.2. Проще вначале перейти на 6-ю ничего не меняя, потом на inet. |
Автор: | stark [ 30 июн 2015, 12:26 ] |
Заголовок сообщения: | Re: Обсчёт логов IPN - зависает задача. |
Т.е все-таки не повисает, а медленно работает . Час где-то . |
Автор: | lacost [ 30 июн 2015, 12:36 ] |
Заголовок сообщения: | Re: Обсчёт логов IPN - зависает задача. |
У нас задача обсчета логов запускается раз в час. Под конец месяца - данных много - обсчет затягивается. Иногда за час не успевает все обсчитаться и запускается 2-й экземпляр и т.д. Сейчас перенесли шедулер на сервер с 32 гб оперативки. проблема с нехваткой памяти снялась. Не подскажите - есть ли возможность разносить по разным шедулерам (разным физическим машинам) задачи? По поводу 6й версии. Я так понял что ipn в ней уже не поддерживается... насколько помню - когда крутили тестовую версию там постоянно вылетало сообщение о том, что нет лицензии на ipn (или что-то в этом роде)... |
Автор: | stark [ 30 июн 2015, 13:12 ] |
Заголовок сообщения: | Re: Обсчёт логов IPN - зависает задача. |
lacost писал(а): По поводу 6й версии. Я так понял что ipn в ней уже не поддерживается... насколько помню - когда крутили тестовую версию там постоянно вылетало сообщение о том, что нет лицензии на ipn (или что-то в этом роде)... Поддерживается . Просто по умолчанию в лицензию на 6-ой его не добавляют . Пишите - добавим. |
Автор: | stark [ 30 июн 2015, 13:13 ] |
Заголовок сообщения: | Re: Обсчёт логов IPN - зависает задача. |
lacost писал(а): Не подскажите - есть ли возможность разносить по разным шедулерам (разным физическим машинам) задачи? C этим пока сложно, специально для этого ничего не делали. |
Автор: | lacost [ 30 июн 2015, 13:34 ] |
Заголовок сообщения: | Re: Обсчёт логов IPN - зависает задача. |
По поводу 6-й версии - понятно. А по поводу шедулера - было бы полезно тяжелые задачи выносить на отдельные сервера. А по моей задаче - решение было найдено выделением большего количества памяти. Теперь за 8 минут. Код: 06-30/10:04:03 INFO [Thread-4] TaskExecuter - Starting periodic task #4: bitel.billing.server.ipn.LogCalculator
06-30/10:04:25 INFO [pool-2-thread-4] LogCalculator - Difficult mode INIT 06-30/10:06:09 ERROR [pool-2-thread-4] LogCalculator - Tree not found for contract id: 1046 06-30/10:06:09 ERROR [pool-2-thread-4] LogCalculator - Tree not found for contract id: 1046 06-30/10:06:09 ERROR [pool-2-thread-4] LogCalculator - Tree not found for contract id: 1046 06-30/10:06:12 ERROR [pool-2-thread-4] LogCalculator - Tree not found for contract id: 1299 06-30/10:06:16 ERROR [pool-2-thread-4] LogCalculator - Tree not found for contract id: 1760 06-30/10:06:18 ERROR [pool-2-thread-4] LogCalculator - Tree not found for contract id: 1914 06-30/10:06:18 ERROR [pool-2-thread-4] LogCalculator - Tree not found for contract id: 1914 06-30/10:06:18 ERROR [pool-2-thread-4] LogCalculator - Tree not found for contract id: 1914 06-30/10:06:18 ERROR [pool-2-thread-4] LogCalculator - Tree not found for contract id: 1914 06-30/10:08:52 INFO [pool-2-thread-4] LogCalculator - Init time => 288940 ms 06-30/10:08:52 INFO [pool-2-thread-4] LogCalculator - Processing.. 06-30/10:09:57 INFO [pool-2-thread-4] LogCalculator - Select records time=65203 ms. 06-30/10:12:41 INFO [pool-2-thread-4] LogCalculator - Records processing time=228989 ms. 06-30/10:12:41 ERROR [pool-2-thread-4] LogCalculator - Detected errors => 34342 06-30/10:12:42 INFO [pool-2-thread-4] LogCalculator - Setting balances for independ and subs.. 06-30/10:12:42 INFO [pool-2-thread-4] LogCalculator - Task finished time=518971 ms. |
Автор: | stark [ 30 июн 2015, 13:40 ] |
Заголовок сообщения: | Re: Обсчёт логов IPN - зависает задача. |
lacost писал(а): По поводу 6-й версии - понятно. А по поводу шедулера - было бы полезно тяжелые задачи выносить на отдельные сервера. А по моей задаче - решение было найдено выделением большего количества памяти. Теперь за 8 минут. Код: 06-30/10:04:03 INFO [Thread-4] TaskExecuter - Starting periodic task #4: bitel.billing.server.ipn.LogCalculator 06-30/10:04:25 INFO [pool-2-thread-4] LogCalculator - Difficult mode INIT 06-30/10:06:09 ERROR [pool-2-thread-4] LogCalculator - Tree not found for contract id: 1046 06-30/10:06:09 ERROR [pool-2-thread-4] LogCalculator - Tree not found for contract id: 1046 06-30/10:06:09 ERROR [pool-2-thread-4] LogCalculator - Tree not found for contract id: 1046 06-30/10:06:12 ERROR [pool-2-thread-4] LogCalculator - Tree not found for contract id: 1299 06-30/10:06:16 ERROR [pool-2-thread-4] LogCalculator - Tree not found for contract id: 1760 06-30/10:06:18 ERROR [pool-2-thread-4] LogCalculator - Tree not found for contract id: 1914 06-30/10:06:18 ERROR [pool-2-thread-4] LogCalculator - Tree not found for contract id: 1914 06-30/10:06:18 ERROR [pool-2-thread-4] LogCalculator - Tree not found for contract id: 1914 06-30/10:06:18 ERROR [pool-2-thread-4] LogCalculator - Tree not found for contract id: 1914 06-30/10:08:52 INFO [pool-2-thread-4] LogCalculator - Init time => 288940 ms 06-30/10:08:52 INFO [pool-2-thread-4] LogCalculator - Processing.. 06-30/10:09:57 INFO [pool-2-thread-4] LogCalculator - Select records time=65203 ms. 06-30/10:12:41 INFO [pool-2-thread-4] LogCalculator - Records processing time=228989 ms. 06-30/10:12:41 ERROR [pool-2-thread-4] LogCalculator - Detected errors => 34342 06-30/10:12:42 INFO [pool-2-thread-4] LogCalculator - Setting balances for independ and subs.. 06-30/10:12:42 INFO [pool-2-thread-4] LogCalculator - Task finished time=518971 ms. В inet обсчет фактически идет на accounting серверах и может распределятся по нескольким серверам. А по памяти, сколько выделили ? Сколько показывает статус во время работы задачи ? Возможно там утечка, но в этом случае у нас там есть определитель утечек , в логах должна появляться ошибка по обсчета. |
Автор: | Amir [ 30 июн 2015, 14:28 ] |
Заголовок сообщения: | Re: Обсчёт логов IPN - зависает задача. |
Возможно из-за недостатка памяти постоянно вызывался сборщик мусора и из-за этого тормозило, но при этом для работы памяти хватало. |
Автор: | lacost [ 30 июн 2015, 14:35 ] |
Заголовок сообщения: | Re: Обсчёт логов IPN - зависает задача. |
Раньше было 5 Гб. - сейчас дали 10 |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |