内核优化之PSI篇:快速发现性能瓶颈,提高资源利用率
欢迎关注【字节跳动 SYS Tech】公众号。字节跳动 SYS Tech 聚焦系统技术领域,与大家分享前沿技术动态、技术创新与实践、行业技术热点分析等内容。 背景介绍 了解操作系统原理的同学应该知道,业务进程的运行性能取决于多种系统资源的分配。比如进程需要等待某些 IO 的返回,需要从伙伴系统分配内存,可能会由于 memory cgroup 的限制或者系统内存的水线配置而进行内存回收,进程运行需要调度器分配 CPU 时间,可能由于 CPU cgroup 的 quota 配置或者系统负载较大而等待调度器的调度。 所以一个进程的运行过程实际上是一个不断等待不断执行的过程,过多的等待会对进程的吞吐和延时造成负面影响,是否有一种内核机制能够量化这些等待时间呢? PSI 通过 hook CPU 调度器和 hook 一些 IO 和 memory 的关键点,来得到一个线程开始等待某种资源和结束等待某种资源的时间点以及程序运行的时间,然后用移动平均算法算出一个表示 pressure stall information 的百分比来量化。 用途 PSI 监控机制给我们提供了一种实时量化指标,反映业务进程的...