如何显示内核的PSI(压力失速信息)?

如何显示内核的PSI(压力失速信息)?

我正在运行 Ubuntu 16.04,我的 Linux 内核版本是 4.4.0。如何启用内核的防扩散安全倡议? 或者有没有类似的工具?

答案1

每个资源的压力信息通过相应的文件导出/proc/pressure/cpumemoryio

您的 CPU 的 PSI 命令是:

some avg10=0.00 avg60=0.00 avg300=0.00 total=0

对于内存和 I/O:

some avg10=0.00 avg60=0.00 avg300=0.00 total=0

full avg10=0.00 avg60=0.00 avg300=0.00 total=0

“一些”线表示至少一些任务在给定资源上停滞的时间份额。

“满”线表示所有非空闲任务在给定资源上同时停滞的时间份额。在这种状态下,实际的 CPU 周期将被浪费,并且长时间处于这种状态的工作负载被视为处于抖动状态。这会严重影响性能,将这种情况与某些任务停滞但 CPU 仍在进行生产性工作的状态区分开来很有用。因此,在停滞状态的这个子集中所花费的时间被单独跟踪并导出到“满”平均值中。

更多详情可参阅我的来源,我将其添加为您查询第一个图表中的链接。

答案2

对于“监控”,你可能需要显示当前值。你可以通过使用来实现这一点watch,例如

watch cat /proc/pressure/*

(虽然这里很难辨别哪条线代表哪个类别)

watch "(echo CPU; cat /proc/pressure/cpu ; echo IO; cat /proc/pressure/io; echo MEMORY; cat /proc/pressure/memory)"

显示类似

CPU
some avg10=0.00 avg60=0.00 avg300=0.04 total=51646098
IO
some avg10=0.00 avg60=0.00 avg300=0.09 total=20413087
full avg10=0.00 avg60=0.00 avg300=0.08 total=16237739
MEMORY
some avg10=0.00 avg60=0.00 avg300=0.00 total=0
full avg10=0.00 avg60=0.00 avg300=0.00 total=0

相关内容