[英]How to create a non-data gc.log file?
我看到我的gc.log文件是数据文件,而其他日志文件是ASCII文本。
因此,我无法通过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打印到gc.log文件的参数是-Xloggc:/app/tomcat7/logs/gc.log
如何确保gc.log文件创建为ASCII文本文件而不是数据文件?
您的问题是grep将GC日志解释为二进制数据文件,而该文件实际上是文本。 如果在grep上使用-a或--text参数,它将被视为文本。
grep -aa gc.log-20161118
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.