2015-10-07 22 views
16

我在使用GC日誌的幾臺服務器上遇到問題。它充滿了這一點:Java GC日誌中充滿了奇怪的字符

^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ 
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ 
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ 

注意到了這個發生在服務器與給予JVM的一個大內存:-Xms32G -Xmx48G。這可能是一個紅鯡魚,但想到提及它。

由於這些是低延遲/高吞吐量的應用程序,分析日誌是至關重要的。相反,它充滿了上面的那些角色。

我們使用的是Java 8:

java version "1.8.0_40" 
Java(TM) SE Runtime Environment (build 1.8.0_40-b26) 
Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode) 

我們用它來創建日誌:

-verbose:gc 
-Xloggc:/path/to/gc.log 
-XX:+PrintGCDetails 
-XX:+PrintGCDateStamps 

沒有人見過這個問題?什麼可能導致它?

+0

你是如何創建gc日誌的?你使用'verbose:gc'標誌還是其他方式? –

+0

@kucing_terbang:是的,我用信息更新了這個問題 – bdem

+3

'^ @'是Ctrl- @,ASCII 0的Unix/Linux符號。通常情況下,歸零內存就像java中發生的那樣。 –

回答

1

如果您保存的文本使用UTF-16編碼,則它可能會在常規文本文件中附加「^ @」。我以前有這個問題,在UNIX系統中打開一些編碼文件。