2016-11-25 16 views
0

私のgc.logファイルはデータファイルで、他のログファイルはASCIIテキストです。非データgc.logファイルの作成方法は?

私はnon-gc.logファイルでgrepできません。

$ pwd 
/app/tomcat7/logs 


$ du -hsmc *log* | sort -n 

50 access_log2016-11-21.log 
74 access_log2016-11-25.log 
79 access_log2016-11-24.log 
300 gc.log-20161118 
418 gc.log-20161119 
542 gc.log-20161120 



$ file access_log2016-11-24.log gc.log-20161118 
access_log2016-11-24.log: ASCII text 
gc.log-20161118:   data 



$ time grep a access_log2016-11-24.log | wc -l 
426520 

real 0m0.888s 
user 0m0.740s 
sys 0m0.150s 



$ time grep a gc.log-20161118 
Binary file gc.log-20161118 matches 

real 0m9.574s 
user 0m9.278s 
sys 0m0.274s 

gc.logファイルではgrepの処理に時間がかかり、有用な結果が返されないことがわかります。 gc.logファイルにGCを印刷する

引数は、私がgc.logファイルはASCIIテキストファイルではなく、データファイルとして作成されていることを確認するにはどうすればよい-Xloggc:/app/tomcat7/logs/gc.log

のですか?

答えて

0

grepがGCログを実際にテキストであるバイナリデータファイルとして解釈しています。 grepで-aまたは--textパラメータを使用すると、それをテキストとして扱います。

grep -a a gc.log-20161118

+0

これは役に立ちましたが、まだまだ時間がかかります。約10秒。他のファイル(サイズの約4分の1)は1秒未満しかかかりません。 – user2250246

+0

私は使い方が間違っていると思います。上記のgrepが時々30秒以上になることがあるので、ログファイルを非データにする方法についてのあらゆる指針は素晴らしいでしょう。 – user2250246

関連する問題