V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
kisshere
V2EX  ›  程序员

Elasticsearch Java 的 CPU 占用奇高, CPU 几乎 100%的使用率了,怎么排查原因?

  •  
  •   kisshere · Aug 21, 2020 · 6432 views
    This topic created in 2086 days ago, the information mentioned may be changed or developed.

    服务器一直以来请求数几乎没啥变化,但是 ES 的 java cpu 使用率突然飙升,top 命令一查,CPU 几乎 100%,怎么排查是哪方面造成的?以及如何找出恶意的批量暴力请求?

    12 replies    2022-10-11 19:42:55 +08:00
    zhangxudong
        1
    zhangxudong  
       Aug 21, 2020
    可以看下 hot threads
    gabon
        2
    gabon  
       Aug 21, 2020 via Android
    threaddump
    Jooooooooo
        3
    Jooooooooo  
       Aug 21, 2020
    top -H -p <pid>

    找到对应进程里占用高的线程

    然后 jstack grep 这些线程, 注意进制转换, 上面看见的进程号是十进制的, jstack 里的进程号是十六进制的
    lff0305
        4
    lff0305  
       Aug 21, 2020
    jmap 看下是不是 heap 满了,100%是在不停的做 GC (按三楼的方法,会看到是 GC Thread 在占 cpu)
    Morriaty
        5
    Morriaty  
       Aug 21, 2020
    官方推荐的 debug 方式也是 _cat/hot_threads,但这玩意的输出不是资深 es 专家真的很难看懂

    建议还是观察 kibana 的 monitor 信息,以及观察 gc log 、slow log 之类的
    Navee
        6
    Navee  
       Aug 21, 2020
    先看 GC,GC 没问题看系统 IO (磁盘、网络)
    yuxianghe
        7
    yuxianghe  
       Aug 21, 2020
    这个原因有很多,我前段时间也排查过一起这种问题,可以参考我的博客
    https://my.oschina.net/110NotFound/blog/4311256
    TuGai
        8
    TuGai  
       Aug 21, 2020
    https://github.com/jvm-profiling-tools/async-profiler
    `/profiler.sh -d 10 -e cpu -f ./flamegraph.svg <PID>` 一行命令直接生成热点方法的火焰图
    lavvrence
        9
    lavvrence  
       Aug 21, 2020
    elastic 官网的权威指南:
    https://www.elastic.co/guide/cn/elasticsearch/guide/current/heap-sizing.html
    机器至少要分配一半内存给 Lucene 、禁用 swap 。
    artifact
        10
    artifact  
       Aug 21, 2020
    我们这边最近也遇到了这个问题,发现是上容器之后,es 没办法正确获取容器核心数, 设置了过大的线程池,创建过多线程导致
    brewin
        11
    brewin  
       Sep 18, 2020
    导出线程快照、内存快照、火焰图看看
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1008 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 49ms · UTC 19:18 · PVG 03:18 · LAX 12:18 · JFK 15:18
    ♥ Do have faith in what you're doing.