【发布时间】:2009-06-23 12:48:09
【问题描述】:
在 a 4-CPU盒子?该进程是一个“mysqld”,目前正在 被模拟的 OLTP 场景“轰炸”。
任何指针表示赞赏。
【问题讨论】:
-
不应该移到ServerFault吗?
标签: linux unix top-command
在 a 4-CPU盒子?该进程是一个“mysqld”,目前正在 被模拟的 OLTP 场景“轰炸”。
任何指针表示赞赏。
【问题讨论】:
标签: linux unix top-command
在 *NIX 领域,100% 的 cpu 使用率是单个 cpu 的 100%。
这适用于多核处理器,就像真正的多处理器计算机一样。
因此,您在 mysql 上使用了总 CPU 周期的 7/8。
【讨论】:
在顶部运行时,按“1”。这将切换视图,以便您可以查看每个内核/cpu 的负载。
【讨论】:
我昨天刚刚阅读了一篇关于这个主题的有趣文章:Unix load average。它将解释您需要了解的所有内容以及更多信息。
提取:
平均负载是运行队列长度和当前在 CPU 上运行的作业数的总和。在 Solaris 2.0 和 2.2 中,平均负载不包括正在运行的作业,但此错误已在 Solaris 2.3 中修复。
考虑显示负载的两种基本模式:“IRIX 模式”和“Solaris 模式”。在 IRIX 模式(Linux 默认)中,平均负载为 1 表示一个 CPU 已满载(或 4 CPU 系统上每个 CPU 的 25% 等)。在 Solaris 模式下,平均负载 1 意味着 所有 CPU 已满载(因此它实际上相当于 “IRIX 模式”负载除以 CPU 计数 em>)。
【讨论】:
平均负载显示有多少进程在队列中等待(根据 CPU 数量进行了调整)。对于一个 CPU,平均负载为 1.0 意味着该 CPU 能够以最佳方式完全处理队列上的所有请求——没有进程在等待 CPU,也没有 CPU 周期被浪费(即空闲)。平均负载为 2.0(在单核系统上(意味着一半的进程将等待在 CPU 上运行的机会:-(平均负载为 0.33 意味着系统上的负载非常小2/3 的时间 CPU 基本上什么都不做,只是在等待更多进程运行。
top 显示的 CPU 百分比衡量的是内核加载单个进程以在 CPU 上运行的频率,是一段时间内的平均值。所以 4 核系统上的 350% 意味着,在一段时间内,mysqld 将占用三个完整的 CPU 和第四个 CPU 的一半时间——也就是说,它有太多线程要运行,几乎淹没了 4带有请求的核心。 CPU 百分比并没有真正考虑等待队列(而平均负载考虑):它是对特定时间范围内发生的事情的事后统计。但它肯定会显示最近哪些进程一直在使用 CPU。
另一篇关于同一主题的详尽文章:http://www.linuxjournal.com/article/9001
【讨论】:
有 4 x 100%,所以“顶部”在 4 CPU 机器上显示总共 400%。
【讨论】:
每个 cpu 进程都被视为 100% 。所以完全是 4 cpu 的 400%。
【讨论】: