tail -f 打印有延迟,有更好实时打印 log 的工具么?

2017-12-05 15:16:43 +08:00
 lzjamao

tail -s 设置 X 秒扫描文本(单位秒),

但是,我的程序 1 秒内,有大量 IO 输出操作,另外加上 IO 延迟。有好多 LOG 输出延迟,影响看 LOG 的逻辑思路。

希望能满足后台启动程序的条件下,有更好实时显示 LOG 的方法

7059 次点击
所在节点    Linux
36 条回复
QAPTEAWH
2017-12-05 15:24:00 +08:00
你确定延迟不是在写入端产生的么...
GuiPulp
2017-12-05 15:32:51 +08:00
你居然对一个用了 20 多年的命令产生了怀疑
YMB
2017-12-05 15:36:57 +08:00
你居然对一个用了 20 多年的命令产生了怀疑
privil
2017-12-05 15:41:20 +08:00
大量的 IO 输出,你想想人眼能看过来么,我就问……不过 tail -f 的问题我总觉得在于 ssh 传输的延迟上面
xlrtx
2017-12-05 15:47:26 +08:00
记得 python 有 buffer, 可以加-u
lzjamao
2017-12-05 15:52:52 +08:00
@QAPTEAWH 对比用 nohup 与不用的情况下,有些 LOG 在 nohup 下延迟 7、8 秒才出现
phttc
2017-12-05 15:52:53 +08:00
一个大池子,,,写入端 以 10L 每秒的速度 倒水,,而你读取端 每秒只能消化 5L,,,你说的延迟,,是你终端来不及输出,,并不会阻塞写入端的行为
lzjamao
2017-12-05 15:53:25 +08:00
@privil 对比用 nohup 与不用的情况下,有些 LOG 在 nohup 下延迟 7、8 秒才出现
lzjamao
2017-12-05 15:54:44 +08:00
@phttc 我认同终端可能不及输出的可能,我用的是 xshell,局域网内 ssh
lzjamao
2017-12-05 15:56:51 +08:00
@phttc 有更好的 倒水=》接水 做法么?
b821025551b
2017-12-05 16:02:44 +08:00
大量 IO,那不得刷屏么,我只好奇眼睛能看过来?
shoaly
2017-12-05 16:04:46 +08:00
我就是楼上提到的 "眼睛看不过来的那种人" , 所以我一般都是直接用 vim 日志, 然后 :e 手动刷新...
Victor215
2017-12-05 16:13:45 +08:00
你可以测试一下你的硬盘 io 性能,是不是 io 有问题
time dd if=/dev/zero of=/test.dbf bs=32k count=1000
Victor215
2017-12-05 16:14:33 +08:00
@shoaly 日志能用 vim 打开,说明日志量不大啊
acoder2013
2017-12-05 16:24:09 +08:00
@Victor215 tail -f 的内容才输出到 vim。。。
lonenol
2017-12-05 16:29:10 +08:00
看啥日志需要这么实时...
vus520
2017-12-05 16:31:19 +08:00
你居然对一个用了 20 多年的命令产生了怀疑
privil
2017-12-05 16:31:28 +08:00
@Victor215 日志轮转完每天的大小还用 vim 看的,打开比较快,要是有大日志肯定上 ELK 啥的了
vincenttone
2017-12-05 17:59:59 +08:00
既然是局域网内 ssh,不考虑网络延迟,tail
vincenttone
2017-12-05 18:02:44 +08:00
@vincenttone tail 应该是个死循环拿的,应该是写日志那头的延迟。
一般来讲,写日志不会产生就往里写,不然磁盘的 io 受不了,一般都是弄一个 buffer,buffer 满了且碰到了换行再往文件里 flush,然后继续指导进程退出做最后一次 flush。所以到底多久 flush 一次,取决于你的日志的量,如果是量很大的 log,条数也多,flush 也更频繁一些,不然最后那点日志可能要等进程退出才给 flush。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/412174

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX