V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
zhangyaxiao072
V2EX  ›  问与答

Linux 上使用 tail -f 查看日志会影响服务器性能吗

  •  
  •   zhangyaxiao072 · 11 天前 · 3938 次点击
    昨晚上夜班,没什么事就一直 tail -f 查看日志,早上被技术 leader 看到了。很着急的让我赶紧关了,说会影响性能。之前就说过不让我们 tail-f 看日志,最好下载下来看。
    Java 项目,公司刚上线的内部使用的管理系统,只部署了一台服务器 16 核 32G 。spring+logback 因为打印了很多 sql ,每天会产生 10G 左右的日子,流量比较平均,晚上也一样有很多请求。如果我在部署的服务器上用 tail -f 查看实时日志,会影响性能吗,大约影响多少。
    46 条回复    2024-12-02 10:21:18 +08:00
    COW
        1
    COW  
       11 天前 via Android   ❤️ 1
    一般来说没太大影响,主要增加了点磁盘 IO ,除非日志刷的特别快,你一直 tail -f 挂着。
    IvanLi127
        2
    IvanLi127  
       11 天前   ❤️ 2
    下载下来看,那代替不了 tail -f 吧。

    我寻思用 java 的项目不应该在意这点性能损失,难道正好会卡什么 bug ?
    zhangyaxiao072
        3
    zhangyaxiao072  
    OP
       11 天前
    @IvanLi127 不会卡什么 bug ,就是担心性能,我也有点不理解。
    felixcode
        4
    felixcode  
       11 天前   ❤️ 7
    很小,你们的 leader 有点菜
    ZeawinL
        5
    ZeawinL  
       11 天前 via iPhone   ❤️ 7
    Leader 叫你关是一回事,影不影响性能是另一回事
    Hookery
        6
    Hookery  
       11 天前   ❤️ 2
    GPT 的回答:
    4. 总结
    使用 tail -f 实时查看日志文件在大多数情况下不会对服务器性能造成显著影响。然而,在高负载环境中,频繁的 I/O 操作可能会导致一些性能问题。为了优化性能,建议限制并发实例的数量,或使用更专业的日志处理工具。

    个人感觉,如果因为 tail -f 就影响了服务器的性能的话,说明服务器已经快到崩溃的边缘了,这种情况难道不是优先扩容吗
    zhangyaxiao072
        7
    zhangyaxiao072  
    OP
       11 天前
    @Hookery 有道理
    mingliao
        8
    mingliao  
       11 天前
    纯纯装蒜,能影响啥,好奇为啥还有夜班
    chenqh
        9
    chenqh  
       11 天前
    负载有那么高吗?这东西不是看服务器负载的吗?
    iOCZS
        10
    iOCZS  
       11 天前
    Leader 也是人,只是人为加了个帽子而已。影响肯定是有的,至于多大呢,也没有论证。
    zhangyaxiao072
        11
    zhangyaxiao072  
    OP
       11 天前
    @mingliao 刚上线一周,倒班 24 小时改线上 bug ,被我干的都怀疑自己了
    hehe5120
        12
    hehe5120  
       11 天前
    每天 10G 的日志,用 tail -f 挂着一直盯着看吗?如果不是一直盯着,报错日志一闪而过也看不见吧
    zhangyaxiao072
        13
    zhangyaxiao072  
    OP
       11 天前
    @hehe5120 我当时想的是确认程序正常在跑,如果崩溃频繁 error ,能及时发现
    datocp
        14
    datocp  
       11 天前
    这么简单的问题。
    无非就是现在 cpu 性能以 100 计数,用其它的就算它 50 吧,剩下使用这 tail 它到底是 1 还是 10 还是 50 。

    没看清楚这台服务器是否是本地电脑,vps 经常提醒 cpu 超限要想使用买更好的配置。路由嘛因为开启 wifi 也会影响 50mbps 的呑吐量,因为 cpu 性能被 wifi 功能占用了。
    Greendays
        15
    Greendays  
       11 天前
    人肉运维啊。一般来讲影响不大的,不过这么搞也很折磨人啊
    xbleey
        16
    xbleey  
       11 天前
    微乎其微
    tingyunsay
        17
    tingyunsay  
       11 天前
    你领导比较菜
    PolarBears
        18
    PolarBears  
       11 天前   ❤️ 2
    下载下来消耗的性能不比 tail -f 高吗?不能理解你领导的想法
    BarackLee
        19
    BarackLee  
       11 天前   ❤️ 1
    不是哥们,你下载下来的性能损耗不是比 tail -f 更大吗?
    首先你下载下来 10 个 G, 磁盘都要读取 10G, 网卡和带宽都要占据 10 个 G 的总流量。
    一个 tail-f 能占据多少,隔着闹呢。。。。。。。
    ysc3839
        20
    ysc3839  
       11 天前 via Android
    理论上下载下来看性能影响更大。
    一直开着 tail -f 的情况下,程序输出日志后数据还在缓存中就被 tail 读取并显示,不需要读硬盘。而且日志输出速率一般不会太大,短时间不会占用过高 CPU 。
    而下载的话,首先日志开头部分需要读盘,其次日志从头读到尾,速率是硬盘速度,硬盘读取速度显然是会比日志输出速度高的,CPU 需要处理加密等操作,短时间内占用率变高。
    wzhpro
        21
    wzhpro  
       11 天前   ❤️ 2
    这是一个运维习惯的问题。
    今天你在服务器上 tail 可能影响不大,但是当你养成了在生产环境做数据分析的习惯,保不准哪天你就会不知不觉得运行其他耗资源命令,甚至 rm -rf
    所以养成好的运维习惯很重要。
    ahsjs
        22
    ahsjs  
       11 天前
    担心哪个性能呢,cpu 、内存、IO...?,前后对比下不就知道了
    IDAEngine
        23
    IDAEngine  
       11 天前
    不是高负载的服务器,基本没有影响
    sagaxu
        24
    sagaxu  
       11 天前
    tail -f 不是 grep ,基本上不消耗 CPU ,也不消耗内存,每天才 10G ,由于是顺序读,且大概率在 VFS cache 中,也不消耗磁盘 IO 。那么唯一的消耗就是带宽,大概占用 2M-3M 带宽,如果服务器带宽小于 10M ,可能能观测到性能差异。但是直接下载,不是更消耗带宽么?
    wwhc
        25
    wwhc  
       11 天前
    完全不影响
    JEME
        26
    JEME  
       11 天前
    我通常习惯用 less 命令 查看日志
    lucasj
        27
    lucasj  
       11 天前   ❤️ 1
    @ZeawinL #5 你是懂职场的
    Daylight1993
        28
    Daylight1993  
       11 天前
    你领导比较菜
    akira
        29
    akira  
       11 天前
    硬要说的话,会轻微影响网络吧。。。
    piero66
        30
    piero66  
       11 天前 via Android
    没下载日志影响大
    vhysug01
        31
    vhysug01  
       11 天前
    没影响,我们一天 500G 日志,照样 grep ,tail
    guanhui07
        32
    guanhui07  
       11 天前
    微乎其微 你领导确实菜 额
    niubee1
        33
    niubee1  
       11 天前
    你们的服务器比树莓派还要弱咩?是那种土豆服务器?
    WhatTheBridgeSay
        34
    WhatTheBridgeSay  
       11 天前
    唉,你司一定是那种躺着赚钱的,不需要靠技术
    Binwalker
        35
    Binwalker  
       11 天前
    tail -f 能到影响性能的程度,那你服务器该扩容了
    nikenidage1
        36
    nikenidage1  
       11 天前
    不是,普通开发人员能接触到生产服务器?
    ivvei
        37
    ivvei  
       11 天前 via Android
    彼可取而代之
    julyclyde
        38
    julyclyde  
       11 天前
    你如果 vi 那个日志,那肯定是会影响
    tail 没啥事
    Linxing
        39
    Linxing  
       11 天前
    可以跑路了 这个 leader 水平
    skyjerry
        40
    skyjerry  
       11 天前
    @wzhpro 更同意你的观点。很多人只是关注 tail -f 本身的性能问题,就能得出"领导菜"的结论,我觉得是不太合适的。
    skyjerry
        41
    skyjerry  
       11 天前
    @skyjerry 同觉得在生产环境上搞数据分析是个很不好的习惯
    felixcode
        42
    felixcode  
       11 天前   ❤️ 1
    @skyjerry @wzhpro @wzhpro
    "早上被技术 leader 看到了。很着急的让我赶紧关了,说会影响性能。之前就说过不让我们 tail-f 看日志,最好下载下来看。"

    这个 leader 说的就是性能。

    下载下来看和 tail -f 看效果一样?
    除非日志输出到其他服务器,如果不在生产服务器上那在哪里看日志更新情况? 1 分钟手动下载一次日志?
    更何况关心安全性的话可以只用数据分析专用的帐号登录,严格限制权限。
    fcten
        43
    fcten  
       11 天前
    影响点性能咋了,就算这台服务器挂了,也不会有多大影响[doge]
    julyclyde
        44
    julyclyde  
       10 天前
    @skyjerry 如果这个领导仅仅说不许 tail 而不说其他的,那确实菜
    你能想到运维不良习惯扩大化的问题,不代表他也能想到
    nicebird
        45
    nicebird  
       9 天前
    一天才 10g 问题很小。但是日志多的服务,影响蛮大的。
    nmap
        46
    nmap  
       9 天前
    完全就是个悖论:
    能用 tail -f 分析的日志,说明日志量非常小,能影响啥?
    如果 tail 都能影响性能,说明量非常大,-f 能看到啥?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   862 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 21:16 · PVG 05:16 · LAX 13:16 · JFK 16:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.