我想用ccze
给我的日志着色,但是太慢了:
对1832行日志进行操作:
$ journalctl --since 12:00 --until 12:30 | wc -l
1832
如果不着色,获取日志需要用户时间 0.01 秒:
$ time journalctl --since 12:00 --until 12:30 > /dev/null
real 0m0.021s
user 0m0.010s
sys 0m0.007s
使用 时ccze
,需要 32.66 秒(长 3260 倍!):
$ time journalctl --since 12:00 --until 12:30 | ccze > /dev/null
real 0m40.965s
user 0m32.660s
sys 0m2.193s
相比下,grc
只需要 0.24 秒(24 倍长):
$ time grc journalctl --since 12:00 --until 12:30 > /dev/null 24.3s | 24 Aug 13:04
real 0m0.230s
user 0m0.237s
sys 0m0.017s
AFAIK 我正在使用默认配置ccze 0.2.1
。
如果这么慢,它可能只对跟踪日志文件末尾的新写入有用,例如使用journalctl -f
.
ccze
通常这么慢吗?
答案1
尝试使用-o nolookups
论证。请参阅详细信息的手册页。
18 秒没有参数:
time journalctl --since 12:00 --until 12:10 | ccze > /dev/null
journalctl --since 12:00 --until 12:10 0.01s user 0.01s system 0% cpu 10.686 total
ccze > /dev/null 12.51s user 1.27s system 76% cpu 18.041 total
0.15秒和-o nolookups
:
time journalctl --since 12:00 --until 12:10 | ccze -o nolookups > /dev/null
journalctl --since 12:00 --until 12:10 0.01s user 0.01s system 24% cpu 0.091 total
ccze -o nolookups > /dev/null 0.13s user 0.01s system 95% cpu 0.145 total