如何创建非数据gc.log文件?

时间:2016-11-25 21:17:01

标签: java linux tomcat

我看到我的gc.log文件是数据文件,而其他日志文件是ASCII文本。

由于我无法浏览非gc.log文件。

$ 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打印到gc.log文件的参数为-Xloggc:/app/tomcat7/logs/gc.log

如何确保将gc.log文件创建为ASCII文本文件而不是数据文件?

1 个答案:

答案 0 :(得分:0)

你的问题是grep将GC日志解释为二进制数据文件,它实际上是文本。如果在grep上使用-a或--text参数,它会将其视为文本。

grep -a a gc.log-20161118