【问题标题】:High CPU Utilization issue on Moqui instanceMoqui 实例上的高 CPU 使用率问题
【发布时间】:2018-01-24 17:08:35
【问题描述】:

我们在生产服务器上面临一个随机高 CPU 利用率问题,这导致应用程序无响应。我们需要再次重新启动应用程序。我们已完成初始级别诊断,但无法得出结论。

我们正在为生产服务器使用以下配置

  • Amazon EC2 8gb RAM(m4.large) ubuntu 14.04 LTS
  • Amazon RDS 2gb RAM(t2.small) Mysql 数据库
  • Java 堆大小 -Xms2048M -Xmx4096
  • 数据库连接池大小最小值:20 和最大值:150
  • 最大线程数 100

以下两个结果是top命令

1) 下午 6:52:50

KiB Mem :  8173968 total,  2100304 free,  4116436 used,  1957228 buff/cache
KiB Swap:  1048572 total,  1047676 free,      896 used.  3628092 avail Mem  
PID   USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND  
20698 root      20   0 6967736 3.827g  21808 S   3.0 49.1   6:52.50 java 

2) 下午 6:53:36

KiB Mem :  8173968 total,  2099000 free,  4116964 used,  1958004 buff/cache
KiB Swap:  1048572 total,  1047676 free,      896 used.  3627512 avail Mem 
PID   USER  PR  NI   VIRT    RES    SHR S  %CPU %MEM TIME+COMMAND                                                                           
20698 root 20   0 6967736 3.828g  21808 S  200.0 49.1  6:53.36 java 

注意:

  • 并发用户数 - 5 或 6(此时)

  • 下午 6:52:50 到下午 6:53:36 - 4 之间的请求数

结果显示 CPU 利用率急剧增加。

有什么建议或方向可以解决吗??

此外,以下是上周的 cpu 利用率图表。 谢谢!

【问题讨论】:

  • 它是什么JVM,什么版本的Moqui?什么 Java Servlet 容器?你有堆栈转储吗?
  • 我假设高 CPU 负载在 Moqui 服务器上,而不是 MySQL 数据库服务器上,是吗?
  • JVM 版本 - 1.8.0_151 (Oracle Corporation 25.151-b12) Moqui 版本 - 2.1.1-rc1
  • Moqui 版本 - 2.1.1-rc1 Java Servlet 容器 - Jetty 是的,Moqui 服务器的 CPU 利用率很高

标签: amazon-ec2 moqui


【解决方案1】:

在没有看到堆栈跟踪的情况下,我猜测问题很可能是 Jetty,因为最近记录的 Jetty 中的错误会导致您在 EC2 上描述的行为(对此进行谷歌搜索。)。我建议您在 100% cpu 期间执行几个堆栈跟踪转储,以确认它是 Jetty,然后如果您查看有关此错误的 Jetty 文档,希望您会发现您只需要更新 Jetty。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-16
    • 1970-01-01
    • 2010-12-06
    • 1970-01-01
    相关资源
    最近更新 更多