糟糕的CPU / RAM组合

我们有一个运行RHEL 4 AS 32位(2.6.9-42.ELsmp#1 SMP)的系统,配备20GB内存和8个运行Oracle 10g数据库的双核处理器。

这是矫枉过正,但我​​无法解释为什么。 我也想知道,由于系统configuration不成比例,是否会有与内存有关的问题 – 操作系统是否可能花费太多的资源调度CPU等等?

谢谢

至于内核和内存,你说的是16核上的20GB; 那是(乐观的)每个内核1.25 GB,如果你真的要固定所有的16个内核,这不是一吨内存。 我们确实正在运行内存/内核比率高于20GB / 16的系统,而且我们的供应商一直在试图将我们可以configuration内存的机箱卖给24个内核的数百GB。

就应用程序性能而言,16核心和20GB内存不一定针对Oracle进行超额定义; 我们肯定运行的系统很大。 也就是说,当你运行一个32位的内核时,20GB的内存对你来说没有多大的帮助。 在RHEL5-64上重build将是一个不错的select。

您还需要让您的DBA考虑configurationOracle以充分利用大量的物理内存 – 我们的DBA在我们的更大的Oracle服务器上“禁用了AMM并configuration了huge_pages”。

即使机器目前的工作量有些超标(只有长期的统计数据监控才能真正承担这个责任),胜算是很好的,你会成长的。 而在未预料到的重负载期间,有一些开销可以玩,而不是立即死亡。

希望有所帮助!

不太可能。

你在用什么服务器? 只有一点剖析会告诉你它是否真的过于专注。

我不认为你可能会有与CPU调度或内存映射相关的资源问题。 这些不会发生,除非需要。 当它们发生时,与预定的进程相比,它们的开销相对较低。

我会看到的是:

  • 平均负载。 这会告诉您有多less个核心处于活动状态。 具有低于CPU数量的平均值是很好的。 但是,如果平均负载远低于CPU数量,那么服务器可能具有太多内核。
  • 内存利用率排除缓冲区 你会想要更多的内存更多的水平,但可能不会超过2或3倍。

如果您正在服务器上运行虚拟主机,则可能需要将主机的CPU固定在主机上。 您可能希望对高CPU单线程进程也一样。 如果你这样做,把负载分散到CPU上。