V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
chunrong918
V2EX  ›  职场话题

面试:做过 jvm 调优吗

  •  
  •   chunrong918 · 2019-05-02 23:12:46 +08:00 · 4604 次点击
    这是一个创建于 2030 天前的主题,其中的信息可能已经有所发展或是发生改变。

    答:做过,主要是根据项目特点选择什么样的垃圾收集器

    感觉回答怪怪的,所以想问下怎么回答比较好

    11 条回复    2019-05-06 08:17:16 +08:00
    lol0
        1
    lol0  
       2019-05-02 23:35:05 +08:00 via Android
    不用调优阿,我们广告服务器每天全球加起来发出 2 万亿请求吧, c++阿笨蛋
    p2pCoder
        2
    p2pCoder  
       2019-05-02 23:49:02 +08:00 via Android   ❤️ 3
    既然已经选择了不同的垃圾收集器,为啥选择,以及各种垃圾收集器的优劣 以及调优点可以说下
    性能优化的步骤要熟悉,基准测试,以及监控日志 寻找瓶颈,压测这些关键步骤要熟悉,不要简单的说调优点,否则一看就是背面试题

    然后就是工具的使用 jdk 带的各种命令要清楚 ,btrace arthas 这些开源工具要有了解,核心问题都在于定位问题,然后才是优化

    监控日志定位瓶颈所在,然后用 btrace.或者 arthas.更细节的调用链

    关于 gc,首先就是要打印出 gc 日志,然后能读懂 gc 日志

    堆分析 的话,还要分析具体哪些对象

    堆内实在不好搞,有些转到堆外会不错,能说出一些堆外应用实例会不错

    还有就是最蛋疼的线程池调优,针对 各种类型的应用,有啥调优选择

    当然,最好的还是要有真正的经验



    如果你没有真正经验的话,一定要把调优的流程说清,基础测试,日志监控,定位瓶颈,压测对比分析这些,其余的 jvm 调优,就死记硬背,看能记住多少
    MrCourtier
        3
    MrCourtier  
       2019-05-02 23:58:38 +08:00
    @p2pCoder 有相关文章查看?深入理解 jvm 的那个调优是否可以借鉴
    p2pCoder
        4
    p2pCoder  
       2019-05-02 23:59:10 +08:00 via Android
    @lol0 我们计算广告场景 ctr 预估有个模型服务 qps.维持在 1w 左右,也用的 java,不过 gc 也的确操蛋,调的让人心累,有些也在用堆外
    p2pCoder
        5
    p2pCoder  
       2019-05-03 00:04:18 +08:00 via Android   ❤️ 1
    @MrCourtier 我最近一两个月都在做性能优化,推荐 java 性能权威指南 ,这本对于性能调优调优很有用,而且是针对于调优场景,不像只讲 jvm 的书,更贴近实践
    chunrong918
        6
    chunrong918  
    OP
       2019-05-04 21:19:07 +08:00
    @p2pCoder 如果我这样子答:

    做过,有段时间用户反馈网站变慢,线上查看 gc 日志,发现 GC 时间变长,用 jmap 去查看了一下,定位到具体的代码块,发现没有及时垃圾回收的代码做了缓存,仔细查看代码,去掉了缓存,同时针对业务是 cpu 计算密集型,选择使用 CMS 作为垃圾收集器。


    这样子有哪些不妥的地方,大佬指正一下?
    wenweihu86
        7
    wenweihu86  
       2019-05-05 13:16:15 +08:00
    @p2pCoder 什么公司广告系统用 java ?
    p2pCoder
        8
    p2pCoder  
       2019-05-05 13:41:11 +08:00
    @wenweihu86 在线预估用 java,和训练平台很多工具打通
    上游的 rank recall 用的 c++
    坐标步步高系
    lol0
        9
    lol0  
       2019-05-05 13:53:31 +08:00 via Android
    vivo 大佬!
    muzi
        10
    muzi  
       2019-05-05 23:28:10 +08:00
    广告 SDK 开发的路过
    TonyYOYO
        11
    TonyYOYO  
       2019-05-06 08:17:16 +08:00 via iPhone
    @lol0 这是大佬…
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2452 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 15:59 · PVG 23:59 · LAX 07:59 · JFK 10:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.