CN112269536A - 存储软件***调优方法、装置及计算机可读存储介质 - Google Patents
存储软件***调优方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112269536A CN112269536A CN202011110346.9A CN202011110346A CN112269536A CN 112269536 A CN112269536 A CN 112269536A CN 202011110346 A CN202011110346 A CN 202011110346A CN 112269536 A CN112269536 A CN 112269536A
- Authority
- CN
- China
- Prior art keywords
- kernel
- information
- scheduling
- tracking
- switching
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 233
- 230000008569 process Effects 0.000 claims abstract description 173
- 238000013507 mapping Methods 0.000 claims abstract description 31
- 238000012545 processing Methods 0.000 claims description 17
- 238000012544 monitoring process Methods 0.000 claims description 9
- 230000000007 visual effect Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012800 visualization Methods 0.000 claims 2
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 239000000243 solution Substances 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种存储软件***调优方法、装置及计算机可读存储介质。其中,方法包括预先构建内核跟踪线程;内核跟踪线程通过内嵌***驱动模块的形式监测内核进程调度信息。调用内核跟踪线程在内核调度节点抓取每一次***调用进程、当前进程和待调度进程切换过程中的预设类型数据信息,以作为调度跟踪信息写入内核空间的追踪日志中;预设类型数据信息为反映进程调度任务消耗的指标及其数值。当接收到用户态程序通过内嵌***驱动实现的内存映射方法访问调度跟踪信息,向用户空间发送调度跟踪信息,用户态便可直观地观测到每一次***调用及内核进程切换的关键信息,从而有针对性的对高消耗任务进行优化。
Description
技术领域
本申请涉及存储技术领域,特别是涉及一种存储软件***调优方法、装置及计算机可读存储介质。
背景技术
随着计算机技术的快速发展,数据呈现***式增长,数据存储要求也越来越高,存储软件***调优为保障存储设备性能不可缺少的一项操作。
存储软件***调优为一项复杂的工程,涉及硬件、软件及配置策略等诸多要素。针对软件层面的调优手段常见的包括:日志注入、关键点监测以及开源辅助工具等,但是这些调优手段,用户态均无法直观地观测到,从而无法有针对性的对高消耗任务进行优化。
发明内容
本申请提供了一种存储软件***调优方法、装置及计算机可读存储介质,用户态可直观地观测到每一次***调用及内核进程切换的关键信息,有针对性的对高消耗任务进行优化。
为解决上述技术问题,本发明实施例提供以下技术方案:
本发明实施例一方面提供了一种存储软件***调优方法,包括:
预先构建内核跟踪线程;所述内核跟踪线程通过内嵌***驱动模块的形式监测内核进程调度信息;
调用所述内核跟踪线程在内核调度节点抓取每一次***调用进程、当前进程和待调度进程切换过程中的预设类型数据信息,以作为调度跟踪信息写入内核空间的追踪日志;所述预设类型数据信息为反映进程调度任务消耗的指标及其数值;
当接收到用户态程序通过内嵌***驱动实现的内存映射方法访问所述调度跟踪信息,向用户空间发送所述调度跟踪信息。
可选的,所述调用所述内核跟踪线程在内核调度节点抓取每一次***调用进程、当前进程和待调度进程切换过程中的预设类型数据信息为:
调用所述内核跟踪线程在内核调度节点抓取每一次***调用进程的运行时间、空闲时间、虚拟运行时间、CPU核、进程标识和权重;
调用所述内核跟踪线程在内核调度节点抓取当前进程和待调度进程切换过程中的运行时间、空闲时间、虚拟运行时间、CPU核、进程标识、权重以及切换前后的进程信息。
可选的,所述向用户空间发送所述调度跟踪信息包括:
通过可视化界面、以列表形式向所述用户空间展示预设时间段内每一次***调用过程中的调用时刻、运行时间、空闲时间、CPU核、进程标识和权重;以及当前进程和待调度进程切换过程中的切换时刻、运行时间、空闲时间、虚拟运行时间、CPU核、进程标识、权重以及切换前后的进程信息。
可选的,所述预先构建内核跟踪线程之后,还包括:
预先针对内存映射区域设置虚拟内存区域异常处理方法;
当检测到触发异常的线性地址处于用户空间的虚拟内存区域中且还未分配相应的物理页,为当前进程分配物理页以实现自主控制内存映射。
本发明实施例另一方面提供了一种存储软件***调优装置,包括:
内核跟踪线程构建模块,用于预先构建内核跟踪线程;所述内核跟踪线程通过内嵌***驱动模块的形式监测内核进程调度信息;
关键信息抓取模块,用于调用所述内核跟踪线程在内核调度节点抓取每一次***调用进程、当前进程和待调度进程切换过程中的预设类型数据信息,以作为调度跟踪信息写入内核空间的追踪日志;所述预设类型数据信息为反映进程调度任务消耗的指标及其数值;
用户获取内核空间监控信息模块,用于当接收到用户态程序通过内嵌***驱动实现的内存映射方法访问所述调度跟踪信息,向用户空间发送所述调度跟踪信息。
可选的,所述关键信息抓取模块包括:
调用信息抓取子模块,用于调用所述内核跟踪线程在内核调度节点抓取每一次***调用进程的运行时间、空闲时间、虚拟运行时间、CPU核、进程标识和权重;
进程切换信息抓取子模块,用于调用所述内核跟踪线程在内核调度节点抓取当前进程和待调度进程切换过程中的运行时间、空闲时间、虚拟运行时间、CPU核、进程标识、权重以及切换前后的进程信息。
可选的,所述用户获取内核空间监控信息模块包括可视化展示子模块,用于通过可视化界面、以列表形式向所述用户空间展示预设时间段内每一次***调用过程中的调用时刻、运行时间、空闲时间、CPU核、进程标识和权重;以及当前进程和待调度进程切换过程中的切换时刻、运行时间、空闲时间、虚拟运行时间、CPU核、进程标识、权重以及切换前后的进程信息。
可选的,还包括:
内存映射主动控制模块,用于预先针对内存映射区域设置虚拟内存区域异常处理方法;当检测到触发异常的线性地址处于用户空间的虚拟内存区域中且还未分配相应的物理页,为当前进程分配物理页以实现自主控制内存映射。
本发明实施例还提供了一种存储软件***调优装置,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前任一项所述存储软件***调优方法的步骤。
本发明实施例最后还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有存储软件***调优程序,所述存储软件***调优程序被处理器执行时实现如前任一项所述存储软件***调优方法的步骤。
本申请提供的技术方案的优点在于,通过自定义内核追踪线程,可以灵活定义所需抓取的信息,实时抓取用于反馈任务消耗的各项内核进程调度信息,直观量化进程调度的各项指标,用户态程序实时监测内核调度细节,用户态直观的观测到每一次***调用及内核进程切换的关键信息,实现用户态驱动便可以直接观测***软件运行阶段的实时状况,监测且量化进程调度带来的各阶段消耗,从而可以判定出耗时点的软件逻辑,为***性能调优提供一种量化地、有效地评估手段,便于快速定位高消耗任务,进行有针对性优化。此外,用户态和内核态交互通过内存映射这种低消耗方式实现,实现高效通信。
此外,本发明实施例还针对存储软件***调优方法提供了相应的实现装置及计算机可读存储介质,进一步使得所述方法更具有实用性,所述装置及计算机可读存储介质具有相应的优点。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
为了更清楚的说明本发明实施例或相关技术的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种存储软件***调优方法的流程示意图;
图2为本发明实施例提供的内核追踪线程注册及映射原理示意图;
图3为本发明实施例提供的内核追踪线程工作原理示意图;
图4为本发明实施例提供的存储软件***调优装置的一种具体实施方式结构图;
图5为本发明实施例提供的存储软件***调优装置的另一种具体实施方式结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。
首先参见图1,图1为本发明实施例提供的一种存储软件***调优方法的流程示意图,本发明实施例可包括以下内容:
S101:预先构建内核跟踪线程。
在本申请中,内核跟踪线程构建在内核空间中,其通过内嵌***驱动模块的形式监测内核进程调度信息。内核跟踪线程在构建后,需要向内存空间的操作***进行注册,并对应构建存储其监控信息的模块如图2的工作于内核空间中的自有内核模块,自有内核模块与用户空间通过内存映射方式进行交互,以将内核跟踪线程抓取的调度跟踪信息在用户态驱动下被用户所使用。结合图2和图3,也就是说,自定义的内核跟踪线程指得是通过内嵌***驱动模块的形式,自定义进程调度追踪的接口实现,从而在操作***OS进行进程调度的时间点可以钩住hook关键接口,抓取重点关注的进程切换信息,该跟踪日志trace log最终会呈现给用户态驱动进行使用。
S102:调用内核跟踪线程在内核调度节点抓取每一次***调用进程、当前进程和待调度进程切换过程中的预设类型数据信息,以作为调度跟踪信息写入内核空间的追踪日志。
其中,预设类型数据信息为反映进程调度任务消耗的指标及其数值,通过内核跟踪线程实时监控内存空间操作***中任务调度子***的工作状态,来实时监控并在内核调度节点抓取***每一次被调用、当前进程和待调度进程之间切换过程中的关键信息。所属领域技术人员可根据实际情况选择所需指标,也即本申请的预设类型数据信息为灵活设置的,提升用户的使用体验。预设类型数据信息例如可包括但并不限制于进程标识pid、运行时间、空闲时间、虚拟运行时间vruntime等关键信息,结合前面论述,用户态驱动便可以直接观测***软件运行阶段的实时状况,最终为***性能调优提供重要的参考数据。
S103:当接收到用户态程序通过内嵌***驱动实现的内存映射方法访问调度跟踪信息,向用户空间发送调度跟踪信息。
本申请的用户空间也称用户态与内核空间也称为内核态之间通过内存映射方式进行数据交互,内存映射方式低消耗,可以实现二者之间的高效通信,用户态可以更快、更高效的获取到调度跟踪信息,从而为存储***性能调优提供有效参考。
在本发明实施例提供的技术方案中,通过自定义内核追踪线程,可以灵活定义所需抓取的信息,实时抓取用于反馈任务消耗的各项内核进程调度信息,直观量化进程调度的各项指标,用户态程序实时监测内核调度细节,用户态直观的观测到每一次***调用及内核进程切换的关键信息,实现用户态驱动便可以直接观测***软件运行阶段的实时状况,监测且量化进程调度带来的各阶段消耗,从而可以判定出耗时点的软件逻辑,为***性能调优提供一种量化地、有效地评估手段,便于快速定位高消耗任务,进行有针对性优化。此外,用户态和内核态交互通过内存映射这种低消耗方式实现,实现高效通信。
需要说明的是,本申请中各步骤之间没有严格的先后执行顺序,只要符合逻辑上的顺序,则这些步骤可以同时执行,也可按照某种预设顺序执行,图1只是一种示意方式,并不代表只能是这样的执行顺序。
在上述实施例中,对于如何执行步骤S102并不做限定,本实施例中给出一种关键信息抓取方式,可包括如下步骤:
调用内核跟踪线程在内核调度节点抓取每一次***调用进程、当前进程和待调度进程切换过程中的预设类型数据信息为:
调用内核跟踪线程在内核调度节点抓取每一次***调用进程的运行时间、空闲时间、虚拟运行时间、CPU核、进程标识和权重;
调用内核跟踪线程在内核调度节点抓取当前进程和待调度进程切换过程中的运行时间、空闲时间、虚拟运行时间、CPU核、进程标识、权重以及切换前后的进程信息。
当然,所属领域技术人员还可根据实际情况选择所需类型的数据信息,进一步准确反馈当前***软件运行阶段的实时状况,为***调优提供更为准确的参考依据。
作为一种可选的实施方式,为了更加直观地监测内核空间的进程调度,本申请还可以实现用户态直观监测内核空间kernel space进程切换的详细视图,为***软件调优提供量化的参考数据,包括下述内容:
通过可视化界面、以列表形式向用户空间展示预设时间段内如1h内每一次***调用过程中的调用时刻、运行时间、空闲时间、CPU核、进程标识和权重;以及当前进程和待调度进程切换过程中的切换时刻、运行时间、空闲时间、虚拟运行时间、CPU核、进程标识、权重以及切换前后的进程信息,如图3所示。
作为另外一种可选的实施方式,为了更加自主控制内存映射,提升内核态和用户态之间的交互,还可预先针对内存映射区域设置虚拟内存区域异常处理方法;当检测到触发异常的线性地址处于用户空间的虚拟内存区域中且还未分配相应的物理页,为当前进程分配物理页以实现自主控制内存映射。
本实施例***驱动针对内存映射mmap区域自定义虚拟内存异常vma fault方法,实现更自主的映射控制,实现高效通信。
本发明实施例还针对存储软件***调优方法提供了相应的装置,进一步使得所述方法更具有实用性。其中,装置可从功能模块的角度和硬件的角度分别说明。下面对本发明实施例提供的存储软件***调优装置进行介绍,下文描述的存储软件***调优装置与上文描述的存储软件***调优方法可相互对应参照。
基于功能模块的角度,参见图4,图4为本发明实施例提供的存储软件***调优装置在一种具体实施方式下的结构图,该装置可包括:
内核跟踪线程构建模块401,用于预先构建内核跟踪线程;内核跟踪线程通过内嵌***驱动模块的形式监测内核进程调度信息。
关键信息抓取模块402,用于调用内核跟踪线程在内核调度节点抓取每一次***调用进程、当前进程和待调度进程切换过程中的预设类型数据信息,以作为调度跟踪信息写入内核空间的追踪日志;预设类型数据信息为反映进程调度任务消耗的指标及其数值。
用户获取内核空间监控信息模块403,用于当接收到用户态程序通过内嵌***驱动实现的内存映射方法访问调度跟踪信息,向用户空间发送调度跟踪信息。
可选的,在本实施例的一些实施方式中,所述关键信息抓取模块402例如还可以包括:
调用信息抓取子模块,用于调用内核跟踪线程在内核调度节点抓取每一次***调用进程的运行时间、空闲时间、虚拟运行时间、CPU核、进程标识和权重;
进程切换信息抓取子模块,用于调用内核跟踪线程在内核调度节点抓取当前进程和待调度进程切换过程中的运行时间、空闲时间、虚拟运行时间、CPU核、进程标识、权重以及切换前后的进程信息。
作为本发明实施例的一种可选的实施方式,所述用户获取内核空间监控信息模块403可包括可视化展示子模块,用于通过可视化界面、以列表形式向用户空间展示预设时间段内每一次***调用过程中的调用时刻、运行时间、空闲时间、CPU核、进程标识和权重;以及当前进程和待调度进程切换过程中的切换时刻、运行时间、空闲时间、虚拟运行时间、CPU核、进程标识、权重以及切换前后的进程信息。
可选的,在本实施例的另一些实施方式中,所述装置例如还可以包括内存映射主动控制模块,用于预先针对内存映射区域设置虚拟内存区域异常处理方法;当检测到触发异常的线性地址处于用户空间的虚拟内存区域中且还未分配相应的物理页,为当前进程分配物理页以实现自主控制内存映射。
本发明实施例所述存储软件***调优装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例的用户态可直观地观测到每一次***调用及内核进程切换的关键信息,有针对性的对高消耗任务进行优化。
上文中提到的存储软件***调优装置是从功能模块的角度描述,进一步的,本申请还提供一种存储软件***调优装置,是从硬件角度描述。图5为本申请实施例提供的另一种存储软件***调优装置的结构图。如图5所示,该装置包括存储器50,用于存储计算机程序;
处理器51,用于执行计算机程序时实现如上述任一实施例提到的存储软件***调优方法的步骤。
其中,处理器51可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器51可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器51也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器51可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器51还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器50可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器50还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器50至少用于存储以下计算机程序501,其中,该计算机程序被处理器51加载并执行之后,能够实现前述任一实施例公开的存储软件***调优方法的相关步骤。另外,存储器50所存储的资源还可以包括操作***502和数据503等,存储方式可以是短暂存储或者永久存储。其中,操作***502可以包括Windows、Unix、Linux等。数据503可以包括但不限于测试结果对应的数据等。
在一些实施例中,存储软件***调优装置还可包括有显示屏52、输入输出接口53、通信接口54、电源55以及通信总线56。
本领域技术人员可以理解,图5中示出的结构并不构成对存储软件***调优装置的限定,可以包括比图示更多或更少的组件,例如还可包括传感器57。
本发明实施例所述存储软件***调优装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例的用户态可直观地观测到每一次***调用及内核进程切换的关键信息,有针对性的对高消耗任务进行优化。
可以理解的是,如果上述实施例中的存储软件***调优方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、磁碟或者光盘等各种可以存储程序代码的介质。
基于此,本发明实施例还提供了一种计算机可读存储介质,存储有存储软件***调优程序,所述存储软件***调优程序被处理器执行时如上任意一实施例所述存储软件***调优方法的步骤。
本发明实施例所述计算机可读存储介质的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本申请所提供的一种存储软件***调优方法、装置及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (10)
1.一种存储软件***调优方法,其特征在于,包括:
预先构建内核跟踪线程;所述内核跟踪线程通过内嵌***驱动模块的形式监测内核进程调度信息;
调用所述内核跟踪线程在内核调度节点抓取每一次***调用进程、当前进程和待调度进程切换过程中的预设类型数据信息,以作为调度跟踪信息写入内核空间的追踪日志;所述预设类型数据信息为反映进程调度任务消耗的指标及其数值;
当接收到用户态程序通过内嵌***驱动实现的内存映射方法访问所述调度跟踪信息,向用户空间发送所述调度跟踪信息。
2.根据权利要求1所述的存储软件***调优方法,其特征在于,所述调用所述内核跟踪线程在内核调度节点抓取每一次***调用进程、当前进程和待调度进程切换过程中的预设类型数据信息为:
调用所述内核跟踪线程在内核调度节点抓取每一次***调用进程的运行时间、空闲时间、虚拟运行时间、CPU核、进程标识和权重;
调用所述内核跟踪线程在内核调度节点抓取当前进程和待调度进程切换过程中的运行时间、空闲时间、虚拟运行时间、CPU核、进程标识、权重以及切换前后的进程信息。
3.根据权利要求2所述的存储软件***调优方法,其特征在于,所述向用户空间发送所述调度跟踪信息包括:
通过可视化界面、以列表形式向所述用户空间展示预设时间段内每一次***调用过程中的调用时刻、运行时间、空闲时间、CPU核、进程标识和权重;以及当前进程和待调度进程切换过程中的切换时刻、运行时间、空闲时间、虚拟运行时间、CPU核、进程标识、权重以及切换前后的进程信息。
4.根据权利要求1至3任意一项所述的存储软件***调优方法,其特征在于,所述预先构建内核跟踪线程之后,还包括:
预先针对内存映射区域设置虚拟内存区域异常处理方法;
当检测到触发异常的线性地址处于用户空间的虚拟内存区域中且还未分配相应的物理页,为当前进程分配物理页以实现自主控制内存映射。
5.一种存储软件***调优装置,其特征在于,包括:
内核跟踪线程构建模块,用于预先构建内核跟踪线程;所述内核跟踪线程通过内嵌***驱动模块的形式监测内核进程调度信息;
关键信息抓取模块,用于调用所述内核跟踪线程在内核调度节点抓取每一次***调用进程、当前进程和待调度进程切换过程中的预设类型数据信息,以作为调度跟踪信息写入内核空间的追踪日志;所述预设类型数据信息为反映进程调度任务消耗的指标及其数值;
用户获取内核空间监控信息模块,用于当接收到用户态程序通过内嵌***驱动实现的内存映射方法访问所述调度跟踪信息,向用户空间发送所述调度跟踪信息。
6.根据权利要求5所述的存储软件***调优装置,其特征在于,所述关键信息抓取模块包括:
调用信息抓取子模块,用于调用所述内核跟踪线程在内核调度节点抓取每一次***调用进程的运行时间、空闲时间、虚拟运行时间、CPU核、进程标识和权重;
进程切换信息抓取子模块,用于调用所述内核跟踪线程在内核调度节点抓取当前进程和待调度进程切换过程中的运行时间、空闲时间、虚拟运行时间、CPU核、进程标识、权重以及切换前后的进程信息。
7.根据权利要求6所述的存储软件***调优装置,其特征在于,所述用户获取内核空间监控信息模块包括可视化展示子模块,用于通过可视化界面、以列表形式向所述用户空间展示预设时间段内每一次***调用过程中的调用时刻、运行时间、空闲时间、CPU核、进程标识和权重;以及当前进程和待调度进程切换过程中的切换时刻、运行时间、空闲时间、虚拟运行时间、CPU核、进程标识、权重以及切换前后的进程信息。
8.根据权利要求7所述的存储软件***调优装置,其特征在于,还包括:
内存映射主动控制模块,用于预先针对内存映射区域设置虚拟内存区域异常处理方法;当检测到触发异常的线性地址处于用户空间的虚拟内存区域中且还未分配相应的物理页,为当前进程分配物理页以实现自主控制内存映射。
9.一种存储软件***调优装置,其特征在于,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至4任一项所述存储软件***调优方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有存储软件***调优程序,所述存储软件***调优程序被处理器执行时实现如权利要求1至4任一项所述存储软件***调优方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011110346.9A CN112269536A (zh) | 2020-10-16 | 2020-10-16 | 存储软件***调优方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011110346.9A CN112269536A (zh) | 2020-10-16 | 2020-10-16 | 存储软件***调优方法、装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112269536A true CN112269536A (zh) | 2021-01-26 |
Family
ID=74338279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011110346.9A Pending CN112269536A (zh) | 2020-10-16 | 2020-10-16 | 存储软件***调优方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112269536A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113849238A (zh) * | 2021-09-29 | 2021-12-28 | 浪潮电子信息产业股份有限公司 | 数据通信方法、装置、电子设备及可读存储介质 |
CN114721790A (zh) * | 2022-02-15 | 2022-07-08 | 阿里巴巴(中国)有限公司 | Fpga任务调度方法、调度器和调度*** |
CN116450120A (zh) * | 2023-06-06 | 2023-07-18 | 北京翼辉信息技术有限公司 | 实时操作***内核分析方法、装置、设备及介质 |
CN117311994A (zh) * | 2023-11-28 | 2023-12-29 | 苏州元脑智能科技有限公司 | 一种处理核心隔离方法、装置及电子设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101403983A (zh) * | 2008-11-25 | 2009-04-08 | 北京航空航天大学 | 基于虚拟机的多核处理器的资源监控方法及*** |
CN106681884A (zh) * | 2016-06-28 | 2017-05-17 | 腾讯科技(深圳)有限公司 | 一种***调用的监控方法和装置 |
CN106682061A (zh) * | 2016-10-17 | 2017-05-17 | 暨南大学 | 一种分布式起源数据收集与存储*** |
CN108229172A (zh) * | 2018-02-13 | 2018-06-29 | 国家计算机网络与信息安全管理中心 | 基于windows平台的跨层次数据流追踪方法 |
CN109189573A (zh) * | 2018-08-10 | 2019-01-11 | 郑州云海信息技术有限公司 | 一种基于nvdimm的异构内存管理*** |
-
2020
- 2020-10-16 CN CN202011110346.9A patent/CN112269536A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101403983A (zh) * | 2008-11-25 | 2009-04-08 | 北京航空航天大学 | 基于虚拟机的多核处理器的资源监控方法及*** |
CN106681884A (zh) * | 2016-06-28 | 2017-05-17 | 腾讯科技(深圳)有限公司 | 一种***调用的监控方法和装置 |
CN106682061A (zh) * | 2016-10-17 | 2017-05-17 | 暨南大学 | 一种分布式起源数据收集与存储*** |
CN108229172A (zh) * | 2018-02-13 | 2018-06-29 | 国家计算机网络与信息安全管理中心 | 基于windows平台的跨层次数据流追踪方法 |
CN109189573A (zh) * | 2018-08-10 | 2019-01-11 | 郑州云海信息技术有限公司 | 一种基于nvdimm的异构内存管理*** |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113849238A (zh) * | 2021-09-29 | 2021-12-28 | 浪潮电子信息产业股份有限公司 | 数据通信方法、装置、电子设备及可读存储介质 |
CN113849238B (zh) * | 2021-09-29 | 2024-02-09 | 浪潮电子信息产业股份有限公司 | 数据通信方法、装置、电子设备及可读存储介质 |
CN114721790A (zh) * | 2022-02-15 | 2022-07-08 | 阿里巴巴(中国)有限公司 | Fpga任务调度方法、调度器和调度*** |
CN116450120A (zh) * | 2023-06-06 | 2023-07-18 | 北京翼辉信息技术有限公司 | 实时操作***内核分析方法、装置、设备及介质 |
CN116450120B (zh) * | 2023-06-06 | 2023-11-28 | 北京翼辉信息技术有限公司 | 实时操作***内核分析方法、装置、设备及介质 |
CN117311994A (zh) * | 2023-11-28 | 2023-12-29 | 苏州元脑智能科技有限公司 | 一种处理核心隔离方法、装置及电子设备和存储介质 |
CN117311994B (zh) * | 2023-11-28 | 2024-02-23 | 苏州元脑智能科技有限公司 | 一种处理核心隔离方法、装置及电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112269536A (zh) | 存储软件***调优方法、装置及计算机可读存储介质 | |
US10127017B2 (en) | Devops management | |
CN104410671A (zh) | 一种快照抓取方法和数据监控工具 | |
CN112527452A (zh) | 跨OpenStack的虚拟机迁移方法、装置及介质 | |
US9824229B2 (en) | Controller with enhanced reliability | |
US8561032B2 (en) | Visualizing thread life time in eclipse | |
US10162324B2 (en) | Method for manipulating a control program of a control device | |
CN112202628A (zh) | 一种WiFi模块串口协议自动化测试***及方法 | |
CN113849238B (zh) | 数据通信方法、装置、电子设备及可读存储介质 | |
US9864637B2 (en) | Adaptable software resource managers based on intentions | |
CN106708481B (zh) | 一种控制任务执行的方法 | |
KR101838474B1 (ko) | 다중프로세서 시스템에서의 예외 제어 | |
CN116737472A (zh) | 一种测试存储器时序训练过程的方法及装置 | |
CN115756866A (zh) | 负载均衡方法、装置及存储介质 | |
CN115981822A (zh) | 任务处理方法、介质、装置和计算设备 | |
CN110837399A (zh) | 一种管理流式计算应用程序的方法、装置及计算设备 | |
CN103631571A (zh) | 一种进度条的控制方法和装置 | |
CN113849229A (zh) | 服务器开机方法、装置、电子设备及可读存储介质 | |
CN109445877B (zh) | 一种检测游戏服务器多线程使用同一虚拟机的方法 | |
CN111831412A (zh) | 中断处理方法、装置、存储介质及电子设备 | |
CN110908866A (zh) | 软件监控方法及相关设备 | |
CN113805910B (zh) | 一种应用中的数据共享的方法及*** | |
CN113886365A (zh) | 数据迁移方法、装置、电子设备及可读存储介质 | |
JP2005135137A (ja) | 仮想計算機システム | |
CN117931565A (zh) | 一种数据库执行语句的耗时监控方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210126 |