【问题标题】:How do I get my application server CPU to 100%?如何使我的应用程序服务器 CPU 达到 100%?
【发布时间】:2017-02-10 04:48:53
【问题描述】:

我有一个专门的应用服务器来进行分析。

我在 2CPU、8GB RAM 的机器上运行。

我有两个相同的应用程序运行如下。

python do_analytics.py &
python do_analytics.py &

但是,我的 CPU 低于 20%。我可以运行更多进程以充分利用我的 CPU 吗?由于我只有 2 个 CPU,它会加快速度还是我的单个进程现在运行速度会变慢?

谢谢。

【问题讨论】:

  • 你的 CPU 支持多线程吗?你的程序简介是什么?是否经常执行 I/O?它是否使用numpy 或其他一些本机代码库来加快计算速度?
  • @abukaj,嗨,它经常做 I/O 和网络。它不使用 numpy。我正在使用 aws t2.small
  • 对于t2.small,20% 的利用率是基本性能(请参阅here)。你有CPU积分吗?还是您的问题是为什么您甚至没有达到 20%?
  • @stephan,我有 200 个 CPU 积分。我认为这只是我没有充分利用我的 CPU。我应该添加更多进程以并行运行吗?
  • @moeseth:如果不是 AWS 将您的 CPU 限制到 20%,那么这取决于。你必须找出你的瓶颈是什么,以及它是有效的串行化操作(例如内存访问、单个硬盘或单个 Web 服务器)还是可以并行化(例如写入多个硬盘或多个 Web 服务器)。

标签: python linux operating-system


【解决方案1】:

您的 CPU 使用率低于 20%,这意味着您的 CPU 可以承受更多负载。所以是的,您可以运行更多进程。

由于我只有 2 个 CPU,它会加快速度还是我的单个进程现在运行速度会变慢?

这取决于您的应用程序正在做什么的其他因素。如果大多数分析逻辑只是使用处理能力和内存。你不必担心。但是如果更多的进程意味着更多的磁盘访问或共享资源。那么运行更多的进程可能会降低整体性能。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-23
    • 1970-01-01
    • 2014-11-16
    • 2015-02-19
    • 1970-01-01
    • 1970-01-01
    • 2012-07-17
    相关资源
    最近更新 更多