ccze 给日志着色非常慢

ccze 给日志着色非常慢

我想用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

相关内容