[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

【超过500家企业部署】AWS搭建、运维、监控服务

【超过500家企业部署】AWS搭建、运维、监控服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

[仅适用于 WordPress] 云服务器“Web Speed”

[仅适用于 WordPress] 云服务器“Web Speed”

[便宜]网站安全自动诊断“快速扫描仪”

[便宜]网站安全自动诊断“快速扫描仪”

[预约系统开发] EDISONE定制开发服务

[预约系统开发] EDISONE定制开发服务

[注册100个URL 0日元] 网站监控服务“Appmill”

[注册100个URL 0日元] 网站监控服务“Appmill”

【兼容200多个国家】全球eSIM“超越SIM”

【兼容200多个国家】全球eSIM“超越SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

【全球专属服务】Beyond北美及中国MSP

【全球专属服务】Beyond北美及中国MSP

[YouTube]超越官方频道“美由丸频道”

[YouTube]超越官方频道“美由丸频道”

如何查找服务器负载过高的原因

我叫伊藤,是一名基础设施工程师。

上次,我介绍了一种称为“平均负载”的内容,当服务器负载增加时会检查该内容。
通过平均负载检查服务器负载?

平均负载是等待处理的进程的表示。
数字越高,等待处理的进程就越多,情况就是“负载较高”。

为什么这次负载这么高?我想找出原因。

主要有两个原因

平均负载较高的主要原因有两个。

  • CPU处理跟不上
  • 磁盘 I/O 处理跟不上

现在,我想解释一下如何找出每一个原因。

如果是CPU原因

首先,使用top命令检查CPU使用率。下面两个值值得注意。

%用户 用户进程使用的CPU使用率
%系统 系统(内核)使用的CPU使用率

如果一般进程是 CPU 密集型的,则用户模式 ​​(%user) CPU 使用率可能会很高。

另外,如果大量进程在用户态下运行,进程也会发生切换。
由于进行这种“进程切换”时使用的是内核态(%system)CPU,
对于经常切换进程的程序来说,内核态CPU使用率会很高。

压力用户_022516_092215_PM
如果用户态CPU使用率很高

压力系统_022516_092244_PM
如果内核CPU使用率很高

如果磁盘 I/O 是原因

如果磁盘 I/O 是原因,请检查顶部的以下内容。

%io等待 当需要磁盘 I/O 时进程处于空闲状态
交换 已用内存量以及使用 HDD 代替内存

当从磁盘读取和写入大量数据时,iowait 值通常很高。
例如,访问大量数据库的数据库服务器往往具有较高的 iowait 值。

SWAP是当进程使用所有内存时使用HDD代替内存的容量。
使用 SWAP 的一个示例是当 Web 服务器接收大量访问时,分配内存并使用 SWAP。

使用SWAP时,使用HDD代替内存=由于磁盘I/O而增加负载,从而降低服务器速度。

压力盘_022516_092255_PM
如果由于磁盘 I/O 导致 iowait 较高且负载较高

应力交换
如果您使用的是交换

我会调查

我认为这将帮助您确定问题是由 CPU 还是 I/O 引起的。
此外,我们将使用 ps 命令来找出哪些进程正在使用 CPU(在 SWAP 的情况下,哪些进程正在使用内存)。

如果用户态CPU使用率较高,I/O等没有问题,
那么可能需要提高CPU性能或者审查程序。


则可能需要扩展内存或

此外,可能存在平均负载较低但处理速度较慢的情况。
在这种情况下,可能是软件设置或网络处理出现问题。

当面对“高负载”的问题时,
解决问题的第一步就是冷静下来,找出负载到底放在哪里。

如果您觉得这篇文章有帮助,请点赞!
4
加载中...
4 票,平均:1.00 / 14
14,790
X Facebook 哈特纳书签 口袋
[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

[大阪/横滨] 积极招募基础设施工程师和服务器端工程师!

[大阪/横滨] 积极招募基础设施工程师和服务器端工程师!

写这篇文章的人

关于作者