Thread-who write to disk?

Что в запущенном java-процессе пишет так много на диск? Снимаем jstack с процесса(лучше несколько раз подряд), смотрим ID треда(например, iotop) — пусть будет 30141. Переводим в HEX=75bd, ищем с стеке:

"Timer-4" daemon prio=10 tid=0x00007f932ca9f800 nid=0x75bd runnable [0x00007f8ff3ffe000]
   java.lang.Thread.State: RUNNABLE
 at java.lang.Throwable.getStackTraceElement(Native Method)
 at java.lang.Throwable.getOurStackTrace(Throwable.java:827)
 - locked <0x000000076615bb80> (a java.lang.Throwable)
 at java.lang.Throwable.getStackTrace(Throwable.java:816)
 at ch.qos.logback.classic.spi.PackagingDataCalculator.populateFrames(PackagingDataCalculator.java:72)
 at ch.qos.logback.classic.spi.PackagingDataCalculator.calculate(PackagingDataCalculator.java:57)
 at ch.qos.logback.classic.spi.ThrowableProxy.calculatePackagingData(ThrowableProxy.java:147)
 at ch.qos.logback.classic.spi.LoggingEvent.(LoggingEvent.java:124)
 at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:440)
 at ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:396)
 at ch.qos.logback.classic.Logger.error(Logger.java:559)
 at com.app.runtime.subsystem.KPIRefresh.run(KPIRefresh.java:59)
 at java.util.TimerThread.mainLoop(Timer.java:555)
 at java.util.TimerThread.run(Timer.java:505)

и видим, что какая-то сущность с именем com.app.runtime.subsystem.KPIRefresh пытается усиленно записать свой лог на диск.

About

View all posts by

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.