python请求占用100%的cpu

Posted

技术标签:

【中文标题】python请求占用100%的cpu【英文标题】:python requests taking 100% of cpu 【发布时间】:2020-03-22 20:19:48 【问题描述】:

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

【问题讨论】:

我们能提供什么帮助?您没有向我们提供有关该应用正在做什么的任何信息,也没有显示任何代码。 【参考方案1】:

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

因此 htop 和 cloudwatch 之间存在差异:

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

【讨论】:

以上是关于python请求占用100%的cpu的主要内容,如果未能解决你的问题,请参考以下文章

请教php并发导致cpu占用100%的问题

explorer 占用100%CPU

SQL占用了CPU将近100%的资源

Linux下Apache占用CPU100%

Delphi For循环占用CPU100%释放问题

win10cpu占用100%怎么办