gpt4 book ai didi

Linux:如何检测进程是否抖动过多?

转载 作者:IT王子 更新时间:2023-10-29 00:46:59 27 4
gpt4 key购买 nike

有没有办法以编程方式检测?

此外,检测哪些进程正在抖动的 linux 命令是什么?

最佳答案

我假设这里的“抖动”是指所有进程的事件内存集太大而无法放入内存的情况。在这种情况下,每次上下文切换都会导致读取和写入磁盘,最终服务器可能变得非常不稳定,以至于硬件重启是重新获得控制权的唯一选择。

/proc/vmstat 中有全局计数器 swin 和 swout - 如果它们在短时间间隔内都增加,则该框可能遇到抖动问题。

在流程层面,这是非常重要的 AFAIK。/proc/$pid/status 包含一些有用的东西,但不包括 swin 和 swout。从 2.6.34 开始,有一个 VmSwap 条目,使用的交换总量,/proc/$pid/state 中的变量 #12 是主要页面错误的数量。/proc/$pid/oom_score 也值得研究。如果 VmSwap 增加和/或主要页面错误的数量增加和/或 oom_score 非常高,那么该过程可能会导致抖动。

我写了一个脚本 thrash-protect - 它可以在 https://github.com/tobixen/thrash-protect 找到- 它试图找出导致抖动和临时挂起进程的进程。它对我来说效果很好,最终使我免于重启服务器。

更新:较新版本的内核在/proc/pressure 下有有用的统计信息。此外,没有交换设置的计算机也会在内存变满时开始“抖动”,因为缓冲区空间不足往往会导致磁盘上的读取操作过多。

关于Linux:如何检测进程是否抖动过多?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11972950/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com