为什么我的networking服务器只使用2个内核? (8核可用)

Helo,我的服务器是一个2x四核心,8gb内存,它运行一个中型网站的LAMP(每天打开120页)我安装了munin来监视CPU,这是图: http://img834.imageshack。 us / img834 / 3483 / downloadv.png为什么它只使用8个内核中的2个? 也许这个munin算不上cpu的负载?

有一种方法来强制多任务IP的PHP MySQL的Apache? 我已经使用MPM与Apache。

谢谢西蒙

首先,请放心,似乎没有任何硬件或操作系统问题:您的graphics显示系统正确地确认存在8个可用的CPU; 因此,在BIOS或Linux内核中没有什么可调整的。

至于你的应用程序没有充分利用你的所有CPU能力的可能原因,他们基本上是三个:

  1. 你目前的工作量不需要太多的权力。
  2. 您的应用程序不允许太多(如果有)并行化。
  3. 您的服务器(MySQL和Apache)被configuration为仅使用单个CPU。

第三个选项是最不合理的,因为默认情况下,MySQL和Apache都非常乐意去multithreading,如果可以的话; 所以让我们把重点放在其他两个。

服务器在当前负载下的响应时间如何? 它感觉“缓慢”,还是迅速回答? 为了排除这一点,你可以运行基准testing来把更多的负载放到你的服务器上吗? 如果CPU使用率在负载较重的情况下boost,那么你的服务器运行的很好,而目前CPU的功耗不是很高。 但是,如果没有,服务器开始回答不好(或者如果它已经这样做),那么你应该看看选项2。

对此:Apache本质上是并行的,因为它“处理”并提供网页; 所以罪魁祸首可能是MySQL。 你遇到什么样的疑问? 你只是在做select,或者你(可能很重)插入,更新或删除数据? 另外,你使用什么样的交易和锁? 根据所有这些,查询可能只是连续执行,因为服务器无法正确地并行化它们。 此外,同样的事情可能会发生,因为MySQL正在等待磁盘I / O或因为它没有足够的可用内存。 你应该运行一些针对你的MySQL的分析工具,看看有什么要说的。

每天打开120页是花生的力量。 不要靠近一个核心,更不用说8。

你似乎在寻找一个问题,是否有一些缓慢的页面,你试图找出很慢?

页面视图通常只能在一个核心上作为单个进程/任务/线程运行。 你的数据库将在另一个工作,但是如果它的处理是复杂的,无论你有多less个核心,都需要花费时间。

90%的慢速页面是由于数据库中缺less索引造成的。

Apache + PHP + MySQL应该自动利用所有资源,而无需进一步调整。 如果你只是看看顶部的命令,并检查CPU的使用情况呢?

而且,你确定CPU使用率应该高于那个? 一个8核心的机器就是这样一个强大的机器,800%的cpu利用率将需要一些大stream量或大量的计算。

我认为这与像munin这样的工具如何显示资源有关,而与CPU利用率无关。 尝试安装“htop”,因为它会以良好的方式向您显示每个核心的一个栏,这可能会帮助您得到答案。

我对仙人掌有同样的看法,得出的结论是监测每核心加起来100%。 这就是为什么你有800%的可用,也许你有一个更好的优化设置比你甚至敢于希望! ;)

MySQL查询caching使用可以将操作限制到单个线程。 检查你是否使用它,如果你不需要它,将其禁用。 查询caching将会降低读取操作的服务器负载,但是如果您执行了大量写入操作并且/或者您的服务器必须扩展到大量负载,那么这将是一个负担。 每天120次点击是没有什么。

它似乎使用8个核心,因为在图表的左边最多有800%。

这是你使用的CPU百分比的图表。 这与核心无关。

正如其他人所说,图不支持你的断言,networking服务器只使用一个核心。

中等规模的网站(每日120页)

真? 每天点击120次? 你有一个很大的服务器来支持? 我希望我有你的IT预算。 该硬件应该能够支持超过10,000,000点/天! 如果它需要每分钟1次命中总CPU容量的1/8,那么这里有一些非常错误的东西。

(顺便说一下,可以在Linux上设置/读取CPU关联 – 请参阅man manset)。

C。