[发明专利]一种线程监控方法、系统、设备以及介质在审
申请号: | 202011504344.8 | 申请日: | 2020-12-18 |
公开(公告)号: | CN112631858A | 公开(公告)日: | 2021-04-09 |
发明(设计)人: | 吴庆凯 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30;G06F9/50 |
代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 杨帆;李红萧 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 线程 监控 方法 系统 设备 以及 介质 | ||
本发明公开了一种线程监控方法,包括以下步骤:响应于线程运行,获取当前时间和该线程的优先级;响应于运行的所述线程的优先级大于阈值,所述线程利用当前时间更新全局时间计数器的计数单位;获取当前其他所有正在运行的线程对应的局部时间计数器的计数单位;响应于更新后的所述全局时间计数器的计数单位与若干个所述局部时间计数器的计数单位的差值达到预设值,确定所述若干个局部时间计数器对应的线程异常。本发明还公开了一种系统、计算机设备以及可读存储介质。本发明提出的方案通过将线程监控任务分散到各线程,提高了CPU有效利用率和线程监控的实时性,减小CPU和内存开销,有力支持正常业务线程的运行。
技术领域
本发明涉及监控领域,具体涉及一种线程监控方法、系统、设备以及存储介质。
背景技术
存储控制器主要用于存储端的硬盘及其上存储的数据管理,同时对服务器端提供数据访问服务。介于数据管理的复杂性、灵活性和稳定性,存储控制器中在操作系统之上运行并专门维护着处理数据IO流程的软件栈(包括处理FC卡、SAS卡等专门用于数据收发的硬件驱动抽象层),为便于软件维护和开发这些复杂的处理流程往往按照流程和功能分为不同线程运行,甚至同一功能针对不通IO流的处理为提高并发度也分为不同线程实例运行,因而线程的健康运行和监控就显得尤为重要。
目前,针对线程监控手段主要存在如下的一些技术特点:
1.为监控正常业务线程,单独开辟监控线程,是一种集中式的监控手段,即将所有业务线程信息统一收集处理;
2.固定周期轮询,即以指定周期收集各线程运行状态信息并形成日志,若为远程监控,还需将该部分日志传送到远端,这种模式下还包括业务线程到监控线程处注册、日志保存、日志解析等一系列动作;
由以上两点可以看到,单独的监控线程意味着CPU资源的占用,而线程切换时则会产生较大的切换开销,动辄上千字节的入栈、出栈操作,严重降低了CPU的有效利用率,频繁而周期性的线程信息收集、解析则会占用较大的内存并消耗部分算力,与其他计算平台不同,由于巨大的数据管理需求,存储控制平台对计算和内存资源的高效利用有着近乎苛刻的要求,普通的线程监控模式并不能满足这种应用场景。
发明内容
有鉴于此,为了克服上述问题的至少一个方面,本发明实施例提出一种线程监控方法,包括以下步骤:
响应于线程运行,获取当前时间和该线程的优先级;
响应于运行的所述线程的优先级大于阈值,所述线程利用当前时间更新全局时间计数器的计数单位;
获取当前其他所有正在运行的线程对应的局部时间计数器的计数单位;
响应于更新后的所述全局时间计数器的计数单位与若干个所述局部时间计数器的计数单位的差值达到预设值,确定所述若干个局部时间计数器对应的线程异常。
在一些实施例中,还包括:
响应于系统开机,设置所述全局时间计数器并将所述全局时间计数器的计数单位初始化为零;
响应于接收到创建线程的指令,设置对应的局部时间计数器并将所述局部时间计数器的计数单位初始为所述全局时间计数器的计数单位。
在一些实施例中,还包括:
响应于优先级大于阈值的所述线程更新完所述全局时间计数器,利用当前时间更新自身对应的局部时间计数器的计数单位。
在一些实施例中,还包括:
响应于运行的所述线程的优先级不大于阈值,所述线程利用当前时间更新对应的局部时间计数器的计数单位。
在一些实施例中,响应于运行的所述线程的优先级大于阈值,所述线程利用当前时间更新全局时间计数器的计数单位,进一步包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011504344.8/2.html,转载请声明来源钻瓜专利网。