解释如何使用平均负载和Linux进程检查服务器加载
我是一名基础设施工程师。
在服务器操作和维护方面,负载突然增加是问题所在。
服务很重的
事实
关于平均负载
当负载较高、站点或游戏较重时,我会暂时使用top命令。
top命令实时显示操作系统的当前状态。
面对如此多的信息,您可能不知道从哪里开始寻找。
这次我们要讲的是平均负载,所以我们来检查一下平均负载。
负载平均值(LA)代表该服务器的“过程队列”,通常表示为1分钟,5分钟或15分钟内的平均值。
在上图,从左到右,它在“ 1分钟前”,“ 5分钟前”和“ 15分钟前LA”。
各种过程要求CPU处理它的状态,但是服务器无法处理它,以及
其背后的过程排队。
负载平均值越高,该服务器上的负载越高。
服务器可以立即处理的过程数是“该服务器上的CPU的内核数”。
例如,由于您可以多任务处理过程,因此,四核服务器可以一次完成四个进程的处理。
关于Linux过程
您对平均负载有粗略的了解吗?
在这里,我们将解释Linux过程。此过程中有许多不同的条件。
任务运行 | 该进程是可执行的,正在运行或等待执行。 |
---|---|
任务_可中断 | 中断是可能的,但您不知道它们何时返回,因为它们正在等待用户输入等。 |
任务_不可中断 | 服务器加载高,因此无法中断并且正在等待 |
任务已停止 | 中止状态 |
任务_僵尸 | 所谓的僵尸进程 |
参考:进程管理1 - 进程描述符 - Pridact 信息共享 wiki
参考:了解 Linux 的工作原理 - 进程管理和调度
其中,以下三个与负载无关。
- TASK_INTERRUPTIBLE:因为正在等待用户输入,所以不进入队列,因为不知道什么时候返回。
- TASK_STOPPED:进程已停止
- TASK_ZONBIE:成为僵尸
也就是说,剩下的两个排队,成为负载平均数,也就是“系统负载”。
“任务正在等待执行 (TASK_RUNNING)”或“任务负载过高而无法中断 (TASK_UNINTERRUPTIBLE)”。
- 任务运行
- 任务_不可中断
其他可以检查LA的命令
这是另外两个可用于检查平均负载的命令。
您可以使用 w 命令查看其他用户登录的情况。
[root@test ~]# w 12:49:13 up 4:38,2 个用户,平均负载:0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT vagrant pts/0 10.0.2.2 11:43 0.00s 0.00s 0.00s sshd:流浪者 [priv] 流浪者 pts/1 10.0.2.2 11:55 54:08 2.06s 0.00s sshd:流浪者 [priv]
uptime 命令可用于检查服务器将继续运行多长时间。
您还可以在此处检查平均负载。
[root@test ~]# 正常运行时间 12:49:34 起 4:38,2 个用户,平均负载:0.00, 0.00, 0.00
概括
所以,这次我解释了平均负载!
- 当负载较高时,查看平均负载
- 了解服务器无法处理多少流程
- 负载平均值越高,负载越高。
- 尽管我们用一个词来形容“过程”,但也有多种状态。
- 有多个命令可以查看负载平均值。
如果您可以创建一个不会打扰您的系统,那将是最好的,但是在操作服务器时了解这些值很重要,因此请确保您正确理解它们!
如果您想咨询云专家
在 Beyond,我们利用自成立以来作为多云集成商和托管服务提供商 (MSP) 培养的技术能力,使用 AWS、GCP、Azure 和 Oracle 等各种云/服务器平台进行设计、构建和迁移云我去了那儿。
我们提供定制的云/服务器环境,根据客户所需的系统和应用程序的规格和功能进行优化,因此如果您对云感兴趣,请随时与我们联系。
● 云/服务器设计/建设
● 云/服务器迁移/迁移
● 云/服务器运维、监控(全年365天、每天24小时)