日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

log4j2 无垃圾模式

發布時間:2024/4/13 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 log4j2 无垃圾模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

無垃圾記錄

垃圾收集暫停是延遲峰值的常見原因,并且對于許多系統而言,花費大量精力來控制這些暫停。

許多日志庫(包括以前版本的Log4j)在穩態日志記錄期間分配臨時對象,如日志事件對象,字符串,字符數組,字節數組等。這會對垃圾收集器造成壓力并增加GC暫停發生的頻率。

從版本2.6開始,默認情況下Log4j以“無垃圾”模式運行,其中重用對象和緩沖區,并且盡可能不分配臨時對象。還有一個“低垃圾”模式,它不是完全無垃圾,但不使用ThreadLocal字段。

Log4j 2.6中的無垃圾日志記錄部分通過重用ThreadLocal字段中的對象來實現,部分通過在將文本轉換為字節時重用緩沖區來實現。

使用Log4j 2.5:內存分配速率809 MB /秒,141個無效集合。

Log4j 2.6沒有分配臨時對象:0(零)垃圾回收。

有兩個單獨的系統屬性可用于手動控制Log4j用于避免創建臨時對象的機制:

log4j2.enableThreadlocals - 如果“true”(非Web應用程序的默認值)對象存儲在ThreadLocal字段中并重新使用,否則將為每個日志事件創建新對象。

log4j2.enableDirectEncoders - 如果將“true”(默認)日志事件轉換為文本,則將此文本轉換為字節而不創建臨時對象。注意: 由于共享緩沖區上的同步,在此模式下多線程應用程序的同步日志記錄性能可能更差。如果您的應用程序是多線程的并且日志記錄性能很重要,請考慮使用異步記錄器。

總結

以上是生活随笔為你收集整理的log4j2 无垃圾模式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。