[发明专利]一种获取进程阻塞信息的方法及装置有效
申请号: | 200910265799.6 | 申请日: | 2009-12-31 |
公开(公告)号: | CN102117240A | 公开(公告)日: | 2011-07-06 |
发明(设计)人: | 邓立波 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 何文彬 |
地址: | 518000 广东省深*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 获取 进程 阻塞 信息 方法 装置 | ||
技术领域
本发明涉及计算机领域,特别涉及一种获取进程阻塞信息的方法及装置。
背景技术
进程是应用程序在计算机上的一次执行活动,运行一个应用程序即为启动一个进程。进程可以划分为运行、阻塞、就绪三种状态,并随一定条件而相互转化,包括:就绪转化为运行,运行转化为阻塞,阻塞转化为就绪。
其中,进程的阻塞是指进程因等待某一资源(如等待I/O(input/output,输入输出端口)设备)而暂时不能运行的状态,而此时即使处理机空闲,进程也无法使用处理机。而程序员可以根据进程阻塞信息,分析出进程发生阻塞的原因。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
目前,现有技术无法判断进程是否发生阻塞,另外,当操作系统中的进程发生阻塞时,现有技术无法获取进程的阻塞信息。
发明内容
为了能够判断进程是否发生阻塞以及当判断出进程发生阻塞时获取进程的阻塞信息,本发明提供了一种获取进程阻塞信息的方法及装置。所述技术方案如下:
一种获取进程阻塞信息的方法,所述方法包括:
接收被监控进程;
通过实时监控所述被监控进程收发消息的过程,判断所述被监控进程是否发生阻塞;
如果发生阻塞,则实时获取所述被监控进程的阻塞信息。
所述通过实时监控所述被监控进程收发消息的过程,判断所述被监控进程是否发生阻塞,具体包括:
实时监控所述被监控进程是否发送消息;
如果监控出所述被监控进程发送消息,则在发送消息的时刻起,从零开始计时,并实时监控所述被监控进程是否接收消息;
如果所述计时的时间在零到预设的阈值之内,未监控出所述被监控进程接收消息,则所述被监控进程发生阻塞,记录所述计时的时间超过所述预设的阈值的时刻为阻塞开始时刻;
如果所述计时的时间在零到所述预设的阈值之内,监控出所述被监控进程接收消息,则将所述计时的时间清零。
所述实时获取所述被监控进程的阻塞信息,具体包括:
根据当前时刻和所述阻塞开始时刻,获取当前阻塞时间;
获取所述被监控进程调用的堆栈以及所述被监控进程在所述堆栈中访问的区域范围;
获取所述堆栈中的所述区域范围内存储的函数返回地址;
其中,将所述当前阻塞时间和所述函数返回地址作为所述被监控进程的阻塞信息。
所述实时获取所述被监控进程的阻塞信息,还包括:
根据所述被监控进程未占用CPU的时间获取所述被监控进程的CPU占用率,将所述被监控进程的CPU占用率作为所述被监控进程的阻塞信息。
所述通过实时监控所述被监控进程收发消息的过程,判断所述被监控进程是否发生阻塞之前,还包括
将监控程序注入所述被监控进程中,在所述被监控进程中创建监控线程,所述监控线程用于实时监控所述被监控进程。
如果所述被监控进程发生阻塞,所述方法还包括:
实时监控所述被监控进程是否接收消息,如果监控出所述被监控进程接收消息时,停止获取所述被监控进程的阻塞信息,清除所述阻塞开始时刻。
一种获取进程阻塞信息的装置,所述装置包括:
接收模块,用于接收被监控进程;
第一实时监控模块,用于通过实时监控所述被监控进程收发消息的过程,判断实时监控所述被监控进程是否发生阻塞;
实时获取模块,用于如果发生阻塞,则实时获取所述被监控进程的阻塞信 息。
所述第一实时监控模块具体包括:
实时监控单元,用于实时监控所述被监控进程是否发送消息;
计时单元,用于如果监控出所述被监控进程发送消息,则在发送消息的时刻起,从零开始计时,并实时监控所述被监控进程是否接收消息;
记录单元,用于如果所述计时的时间在零到预设的阈值之内,未监控出所述被监控进程接收消息,则所述被监控进程发生阻塞,记录所述计时的时间超过所述预设的阈值的时刻为阻塞开始时刻;
清零单元,用于如果所述计时的时间在零到所述预设的阈值之前,监控出所述被监控进程接收消息,则将所述计时的时间清零。
所述实时获取模块具体包括:
第一获取单元,用于根据当前时刻和所述阻塞开始时刻,获取当前阻塞时间;
第二获取单元,用于获取所述被监控进程调用的堆栈以及所述被监控进程在所述堆栈中访问的区域范围;
第三获取单元,用于获取所述堆栈中的所述区域范围内存储的函数返回地址;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910265799.6/2.html,转载请声明来源钻瓜专利网。
- 信息记录介质、信息记录方法、信息记录设备、信息再现方法和信息再现设备
- 信息记录装置、信息记录方法、信息记录介质、信息复制装置和信息复制方法
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录设备、信息重放设备、信息记录方法、信息重放方法、以及信息记录介质
- 信息存储介质、信息记录方法、信息重放方法、信息记录设备、以及信息重放设备
- 信息存储介质、信息记录方法、信息回放方法、信息记录设备和信息回放设备
- 信息记录介质、信息记录方法、信息记录装置、信息再现方法和信息再现装置
- 信息终端,信息终端的信息呈现方法和信息呈现程序
- 信息创建、信息发送方法及信息创建、信息发送装置