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

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

  •  
  •   zhangyaxiao072 · 2 天前 · 3649 次点击
    昨晚上夜班,没什么事就一直 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  
       2 天前 via Android   ❤️ 1
    一般来说没太大影响,主要增加了点磁盘 IO ,除非日志刷的特别快,你一直 tail -f 挂着。
    IvanLi127
        2
    IvanLi127  
       2 天前   ❤️ 2
    下载下来看,那代替不了 tail -f 吧。

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

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

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

    这个 leader 说的就是性能。

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