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的主要内容,如果未能解决你的问题,请参考以下文章