系统性能有问题,但是运行的进程又比较多,不清楚哪个进程导致的性能低下,通过开启monitor守护进程,配合watch dog,在一个进程占据CPU时间超过一定时间时,直接引发panic,从而可以进行具体进程的优化或者提高性能的调整。
对monitor进程如何探测到哪个进程占据较多cpu时间,一种方法是通过使用计数器的方式,monitor不断对计数器进行清零操作,系统时钟中断中加入计数检测的方式实现,如果系统的时钟wdt计数超过固定的值,时钟就会等待wdt中断的触发。
以下是在内核中的实现方式:
1. 注册watch dog中断的处理函数。
2. 中断处理函数调用dump_stack(),panic以及相关的寄存器pc内容。
阅读(976) | 评论(0) | 转发(0) |