Python 请求占用 100% 的 CPU



我们的一个 API 服务器存在 CPU 使用率问题。API 是用 python 编写的,并在 ubuntu AWS EC2 实例中配置。这个应用程序使用Python 2.7和Django 1。这可以通过代理传递通过端口 80 进行访问。 有时我们在日志中收到 499 个请求,该时间$htop值显示服务器中的 CPU 使用率为 100%。唯一需要的python是在这个服务器中运行。但在AWS云监视监控中,情况并非如此。 只有40%到50%。

PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
23086 root      20   0  815776  96056  12792 S  100  4.7   2:43.12 python                                                                      
24041 root      20   0  292756  92820  12696 S  8.0  4.5   0:33.73 python                                                                      
24072 root      20   0  815656  95696  12792 S  5.3  4.7   0:28.27 python 

请帮助 TIA

你很可能使用双核服务器,你的python进程是单线程的,并且使用尽可能多的CPU(一个核心(。

因此,htop和cloudwatch之间的差异:

  • 在htop中,"100%"表示"一个CPU内核",因此CPU总使用率最高可达200%
  • 在 CloudWatch 中,报告的 CPU 使用率是内核之间的平均值,这解释了 50%(一个内核为 100%,另一个内核为 0%(

最新更新