2016-03-31 18 views
3

Ben gibi seçeneklerle, bir günlük dosyasına Çöp Toplama istatistikleri yazmak benim JVM yapılandırılmış ettik:Java'nın GC günlüğü için saat dilimi nasıl belirlenir?

-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:gc.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=1 -XX:GCLogFileSize=64M sorundur

, benim uygulamanın sunucusu günlük günlüğü iletileri için UTC kullanır, ancak GC günlük kullanımları UTC’nin 4 saat gerisinde olan sunucu saat dilimi. Bu, sunucu günlüğümdeki olayları GC duraklatmalarıyla uzlaştırmak için biraz daha zor hale getirir.

Java GC günlüğünün hangi saat dilimini kullandığını yapılandırmanın herhangi bir yolu var mı?

Linux üzerinde iseniz UTC için TZ değişkeni ayarlayabilirsiniz Java 7.

+0

JVM'nin varsayılan saat dilimini UTC-4'e ayarlayabilir misiniz? (GC günlüğünün kullandığı durum bu değil mi?) –

+0

JVM'nin varsayılan zaman dilimi zaten, UT günlüğünün kullandığı UTC-4'dür. Benim sorunum, sunucu günlüğümü UTC zaman damgaları ile günlük iletileri yazmak için yapılandırdığım, böylece GC günlüğündeki zaman damgalarını eşleştirmediğidir. Tabii ki sunucu günlüğümün saat dilimini UTC-4 olarak değiştirebilirdim, ancak GC günlüğünün saat dilimini değiştirmenin mümkün olup olmadığını merak ediyordum. –

+0

Oh, doğru, anlıyorum. Zaman damgalarını çıkaracak ve değiştirecek bir şeyden başka bir kayıt ya da başka bir şey yapmaktan ne haber? (Tam olarak değil ...) –

cevap

-1

gidiyorum. E.g.

TZ=UTC java -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:gc.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=1 -XX:GCLogFileSize=64M SomeClass 

Ya küresel (veya komut dosyasında, o başvurunuzu başlar)

:

export TZ=UTC 

Bu java GC günlüğünün zaman damgalarını değiştirir.