小编Din*_*inu的帖子

log4j GC免费性能

我们从v2.5迁移到log4j v 2.6.1(不含GC).我想测量一下如何改进我们的应用程序(非基于Web).

我们在配置中所做的更改:

  • 尽可能使用asyncloggers.唯一使用的异步appender是SMTP.
  • 仅使用支持的模式(%d {dd MMM yyyy HH:mm:ss,SSS}).
  • 没有明确地将log4j2.is.webapp设置为false,因为我们没有servlet类,这意味着启用了无垃圾日志记录.

为了比较性能,我们记录GC输出 - 新版本有时需要更多时间每个GC(次要).它确实按预期分配了一些内存.分析确实显示已分配固定内存.

例如.2016-06-28T04:39:49.015 + 0100:1078.995:[GC(分配失败)[PSYoungGen:5603306K-> 91449K(6422528K)] 5603489K-> 91640K(7471104K),0.0332092秒] [次:用户= 0.21 sys = 0.00,实际= 0.03秒]

任何想法,如果我会缺少一些配置或其他方法来衡量这个?

Java版本:JRE 1.8u40 64位

    <?xml version="1.0" encoding="UTF-8"?>
<Configuration status="info" name="foo" packages="">
    <Appenders>
        <!--old appenders-->
        <!--<Async name="AsynchronousConsoleAppender" blocking="false" bufferSize="20000">-->
            <!--<AppenderRef ref="ConsoleAppender"/>-->
        <!--</Async>-->
        <!--<Async name="AsynchronousFoo1Appender" blocking="false" bufferSize="20000">-->
            <!--<AppenderRef ref="Foo1RollingFileAppender"/>-->
        <!--</Async>-->
        <!--<Async name="AsynchronousFoo2Appender" blocking="false" bufferSize="20000">-->
            <!--<AppenderRef ref="Foo2RollingFileAppender"/>-->
        <!--</Async>-->
        <!--<Async name="AsynchronousFoo3Appender" blocking="false" bufferSize="20000">-->
            <!--<AppenderRef ref="Foo3RollingFileAppender"/>-->
        <!--</Async>-->

        <Async name="AsynchronousSMTPAppender" blocking="false">
            <Filters>
                <RegexFilter regex=".*Reason: Refused invalid message \(Missing …
Run Code Online (Sandbox Code Playgroud)

java configuration logging log4j log4j2

4
推荐指数
1
解决办法
781
查看次数

标签 统计

configuration ×1

java ×1

log4j ×1

log4j2 ×1

logging ×1