AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 836289
Accepted
aye
aye
Asked: 2017-03-05 07:37:32 +0800 CST2017-03-05 07:37:32 +0800 CST 2017-03-05 07:37:32 +0800 CST

没有来自 top 命令的有用信息的高 CPU 使用率

  • 772

在过去的 2 天里,我开始遇到有几个用户的服务器问题。服务器是一个 OpenVZ VPS。通常当我遇到高 CPU 使用率时,我总是使用top命令找出原因。但是对于这台服务器,我没有从top命令中收到任何有用的信息。下面是我遇到的问题的示例屏幕截图 在此处输入图像描述

从截图中可以看出,%CPU所有进程的列几乎总是为零,实际上大多数时候我看到所有值都是零,但 CPU 使用率达到了 10 个核心!

我完全迷路了,不知道该怎么做才能找出原因。所以我想问一下是否有人对我面临的可能原因有任何想法?会不会是服务器问题?

感谢您的任何建议!

编辑:

请注意,此屏幕截图仅在发生高负载时拍摄。它每隔几个小时发生一次,持续约 20 分钟。正常使用只有0.0-0.2核左右。下面是一个正常使用的例子。

在此处输入图像描述

进一步更新

刚才又出现了,这里是建议命令的截图

在此处输入图像描述

对不起,我对这些是菜鸟,但如果我理解正确,磁盘使用没有任何问题,io 使用率非常低。

最后更新

我已经尝试使用建议的方法使用vmstat,ps在答案和评论中给出,但找不到有用的信息。当峰值发生时,我什至停止了 apache、mysql 但它没有帮助。我终于联系了 VPS 提供商并要求更改为另一个节点。他告诉我,他知道该节点的问题,该节点最近被恶意客户严重滥用,他正在努力解决这些问题。所以我想我现在不需要做任何事情。尽管如此,我还是要感谢所有提出建议的成员,使这个问答对以后的参考有用!

top high-load
  • 3 3 个回答
  • 5247 Views

3 个回答

  • Voted
  1. Best Answer
    iwaseatenbyagrue
    2017-03-05T07:46:20+08:002017-03-05T07:46:20+08:00

    大约 30% 的 CPU 时间似乎都花在了等待上,而且您的(至少 1 分钟)负载非常高。

    因此,我将首先检查您的存储和存储使用模式。一个好的起点可能是查看 iostat 和/或监控任何慢速操作(写入和读取)。您还可以检查顶部每个进程所花费的时间,看看是否有什么突出的。当您运行 mysql 时,我还将检查它的运行情况。

    即使您有合理数量的备用内存,您似乎也正在换出,所以我会看看调整vm.swappiness(使用 sysctl)可以为您做什么。RAM 比交换快,所以如果你可以使用它,我会的。

    其他一切都失败了,看看探测 sysrq 可以为你做什么。

    如果更直观的概述可能对您有所帮助,那么如果您没有预先存在的解决方案,我可能会查看 firehol 的 netdata ( https://netdata.firehol.org/ )。

    • 9
  2. John Mahowald
    2017-03-05T09:39:09+08:002017-03-05T09:39:09+08:00

    你没有描述问题是什么。如果存在性能问题,例如应用程序响应不够快,请描述它。

    平均负载不是正在使用的核心数。它与 CPU 上或等待的进程数有关。当平均负载远大于核心数时,这可能表明系统对所有等待的响应速度较慢。

    您正在使用基于容器的系统。主机只有一个共享内核,您正在其上运行几个进程。当主机上的其他容器工作时,您会看到负载峰值,但它不会反映在您的进程列表中。

    • 6
  3. Mikhail Khirgiy
    2017-03-05T08:52:39+08:002017-03-05T08:52:39+08:00

    你应该安装atop. 它提供更多信息。

    您的 CPU 用于输入/输出操作。WA - 正在等待,还有 30% 以上。我看到更有用的过程是mysqld. 它比其他人更消耗 CPU 时间。

    我建议您增加内存缓冲区并更改其他 MySQL 参数以减少磁盘操作。您可以在安装后的十个 MySQL 性能调整设置中阅读它

    如果您使用虚拟机,则其他虚拟机或主机系统可能非常难以使用磁盘。您的磁盘也可能有坏扇区。smartctl -a通过主机服务器上的命令读取 SMART 属性来检查它。

    • 4

相关问题

  • 如何理解 FreeBSD 上命令 top 的“SIZE”输出

  • Linux - 我如何查看等待磁盘 IO 的内容

  • Linux 中的内存使用情况如何报告?

  • 对 Unix 'top' 命令中的 CPU 值感到困惑

  • 你如何解释顶部的输出?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve