操作系统控制方法、设备及存储介质与流程
未命名
08-02
阅读:106
评论:0
1.本技术涉及操作系统的技术领域,尤其涉及一种操作系统控制方法、设备及存储介质。
背景技术:
2.在嵌入式操作系统领域,当程序发生内存越界访问的行为时,会触发操作系统的保护机制,操作系统会收集进程当时的内存、堆栈、寄存器、函数栈信息,生成一个内核转储文件。通过对内核转储文件的分析可以快速准确的定位到错误,以便解决问题。然而,在嵌入式操作系统中系统资源有限,若程序过多占用内存时发生异常崩溃,系统处理故障会占用大量资源,从而影响系统的可靠性。
技术实现要素:
3.本技术的主要目的在于提供一种操作系统控制方法、装置、设备及存储介质,旨在解决程序过多占用内存时发生异常崩溃,系统处理故障会占用大量资源,影响系统可靠性的问题。
4.第一方面,本技术提供一种操作系统控制方法,包括:
5.获取系统资源数据,系统资源数据包括内存使用率和外存可用容量;
6.在内存使用率大于或等于第一使用率阈值,且外存可用容量小于或等于第一容量阈值时,从多个调度任务中确定第一调度任务;其中,第一调度任务包括关闭核心转储任务;
7.执行关闭核心转储任务,关闭核心转储任务用于指示操作系统停止采集内存数据,并停止将内存数据保存至核心转储文件。
8.第二方面,本技术还提供一种计算机设备,所述计算机设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现如上所述的操作系统控制方法的步骤。
9.第三方面,一种存储介质,用于计算机可读存储,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现实现如上所述的操作系统控制方法的步骤。
10.本技术提供一种操作系统控制方法、装置、设备及存储介质,首先获取系统资源数据,系统资源数据包括内存使用率和外存可用容量;然后在内存使用率大于或等于第一使用率阈值,且外存可用容量小于或等于第一容量阈值时,从多个调度任务中确定第一调度任务;其中,第一调度任务包括关闭核心转储任务;最后执行关闭核心转储任务,关闭核心转储任务用于指示操作系统停止采集内存数据,并停止将内存数据保存至核心转储文件。本技术通过在系统资源数据中的内存使用率大于或等于第一使用率阈值,且外存可用容量小于或等于第一容量阈值时,执行关闭核心转储任务,避免了在系统程序过多占用内存且发生异常崩溃时,核心转储任务占用系统资源,影响系统正常运行,提高了系统可靠性。
附图说明
11.为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
12.图1是本技术实施例提供的一种操作系统控制方法的步骤流程示意图;
13.图2是本技术实施例提供的另一种操作系统控制方法的步骤流程示意图;
14.图3是本技术实施例提供的另一种操作系统控制方法的步骤流程示意图;
15.图4是本技术实施例提供的另一种操作系统控制方法的步骤流程示意图;
16.图5是本技术实施例提供的另一种操作系统控制方法的步骤流程示意图;
17.图6是本技术实施例提供的一种计算机设备的结构示意性框图。
18.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
19.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
20.附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
21.本技术实施例提供一种操作系统控制方法、设备及存储介质。其中,该操作系统控制方法可应用于计算机设备,计算机设备还包括处理器、存储器计算机设备例如为服务器;该服务器可以为单台的服务器,也可以为由多台服务器组成的服务器集群。以下以该操作系统控制方法应用于服务器为例进行解释说明。
22.下面结合附图,对本技术的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
23.请参照图1,图1为本技术实施例提供的一种操作系统控制方法的步骤流程示意图。
24.如图1所示,该操作系统控制方法包括步骤s101至步骤s103。
25.步骤s101、获取系统资源数据,系统资源数据包括内存使用率和外存可用容量。
26.其中,外存可用容量为当前系统所有外存容量的总和。
27.在一实施例中,实时获取系统资源数据,获取内存使用率的方式包括:通过获取当前系统内存已使用容量,并获取系统内存总容量,根据内存已使用容量和系统内存总容量的比值,计算得到当前内存使用率。
28.步骤s102、在内存使用率大于或等于第一使用率阈值,且外存可用容量小于或等于第一容量阈值时,从多个调度任务中确定第一调度任务作为目标调度任务。其中,第一调度任务包括关闭核心转储任务,关闭核心转储任务用于指示操作系统停止采集内存数据,并停止将内存数据保存至核心转储文件。
29.需要说明的是,在内存使用率大于或等于第一使用率阈值,且外存可用容量小于
或等于第一容量阈值时,表示当前系统当前系统资源处于匮乏的情况之下,可以确定关闭核心转储任务。关闭核心转储任务可以停止核心转储对系统资源的占用。
30.其中,第一使用率阈值用于衡量系统内存资源是否匮乏,第一容量阈值用于衡量系统外存资源是否匮乏。第一使用率阈值和第一容量阈值具体数值可以依据操作系统本身的配置确定。
31.步骤s103、执行目标调度任务。
32.需要说明的是,通过执行目标调度任务,关闭核心转储,从而指示操作系统停止采集内存数据,并停止将内存数据保存至核心转储文件。如此能够停止核心转储对系统资源的占用,使系统有足够多的资源来保证系统运行的流畅性。
33.示例性地,第一使用率阈值为50%,第一容量阈值为2g。在内存使用率大于或等于50%,且外存可用容量小于或等于2g时,判断出当前系统当前系统资源处于匮乏的情况之下,并执行目标调度任务,关闭核心转储,从而指示操作系统停止采集内存数据,并停止将内存数据保存至核心转储文件。
34.上述实施例中,在内存使用率大于或等于第一使用率阈值,且外存可用容量小于或等于第一容量阈值时,判断出当前系统当前系统资源处于匮乏的情况之下,并执行目标调度任务,关闭核心转储,从而指示操作系统停止采集内存数据,并停止将内存数据保存至核心转储文件。如此能够停止核心转储对系统资源的占用,使系统在资源匮乏的情况下,有足够多的资源来保证系统运行的流畅性,提高系统的可靠性。
35.请参照图2,图2为本技术实施例提供的另一种操作系统控制方法的步骤流程示意图。
36.如图2所示,该操作系统控制方法包括步骤s201至步骤s203。
37.步骤s201、获取系统资源数据,系统资源数据包括内存使用率和外存可用容量。
38.步骤s202、在内存使用率大于或等于第一使用率阈值,且外存可用容量小于或等于第一容量阈值时,从多个调度任务中确定第一调度任务作为目标调度任务。
39.其中,第一调度任务包括关闭核心转储任务和堆栈回溯任务,关闭核心转储任务用于指示操作系统停止采集内存数据,并停止将内存数据保存至核心转储文件。堆栈回溯任务用于指示操作系统采集堆栈调用数据,并将堆栈调用数据保存至堆栈日志文件。
40.需要说明的是,在内存使用率大于或等于第一使用率阈值,且外存可用容量小于或等于第一容量阈值时,表示当前系统当前系统资源处于匮乏的情况之下,可以确定关闭核心转储任务和堆栈回溯任务。其中,堆栈回溯任务是一种只需要占用少量系统资源就能够执行的任务。
41.需要说明的是,堆栈回溯任务通过采集堆栈调用数据,并将堆栈调用数据保存至堆栈日志文件,以便于后续在发生进程错误时,对堆栈日志文件进行分析,排查系统内进程错误。
42.步骤s203、执行目标调度任务。
43.需要说明的是,目标调度任务为第一调度任务,第一调度任务包括关闭核心转储任务和堆栈回溯任务。通过执行目标调度任务,能够保证系统资源匮乏的情况下,只占用少量系统资源,采集到堆栈调用数据,以便后续在发生进程错误时,根据堆栈调用数据进行排查错误。
44.示例性地,第一使用率阈值为50%,第一容量阈值为2g。在内存使用率大于或等于50%,且外存可用容量小于或等于2g时,判断出当前系统当前系统资源处于匮乏的情况之下,并执行目标调度任务,关闭核心转储,从而指示操作系统停止采集内存数据,并停止将内存数据保存至核心转储文件。执行堆栈回溯任务,采集堆栈调用数据,并将堆栈调用数据保存至堆栈日志文件。
45.上述实施例中,在内存使用率大于或等于第一使用率阈值,且外存可用容量小于或等于第一容量阈值时,判断出当前系统当前系统资源处于匮乏的情况之下,并执行目标调度任务,关闭核心转储,从而指示操作系统停止采集内存数据,并停止将内存数据保存至核心转储文件。执行堆栈回溯任务,采集堆栈调用数据,并将堆栈调用数据保存至堆栈日志文件。如此能够保证系统在资源匮乏的情况下,有足够多的资源来保证系统运行的流畅性,同时,又能够在不影响系统运行的情况下,采集堆栈调用数据,保证系统在进程错误时,能有堆栈调用数据进行分析,排查系统内进程错误,提高系统的可靠性。
46.请参照图3,图3为本技术实施例提供的另一种操作系统控制方法的步骤流程示意图。
47.如图3所示,该操作系统控制方法包括步骤s301至步骤s303。
48.步骤s301、获取系统资源数据,系统资源数据包括内存使用率和外存可用容量。
49.步骤s302、在内存使用率大于或等于第一使用率阈值,且外存可用容量小于或等于第一容量阈值时,从多个调度任务中确定第一调度任务作为目标调度任务。其中,第一调度任务包括关闭核心转储任务和堆栈回溯任务,关闭核心转储任务用于指示操作系统停止采集内存数据,并停止将内存数据保存至核心转储文件,堆栈回溯任务用于指示操作系统采集堆栈调用数据,并将堆栈调用数据保存至堆栈日志文件。
50.需要说明的是,在内存使用率大于或等于第一使用率阈值,且外存可用容量小于或等于第一容量阈值时,表示当前系统当前系统资源处于匮乏的情况之下,确定关闭核心转储任务和堆栈回溯任务。
51.步骤s303、在内存使用率大于或等于第二使用率阈值,或外存可用容量小于或等于第二容量阈值时,从多个调度任务中确定第一调度任务作为目标调度任务。第一调度任务包括关闭核心转储任务和关闭堆栈回溯任务,关闭堆栈回溯任务用于指示操作系统停止采集堆栈调用数据,并停止将堆栈调用数据保存至堆栈日志文件。其中,第二使用率阈值大于第一使用率阈值,第二容量阈值小于第一容量阈值。
52.需要说明的是,在内存使用率大于或等于第二使用率阈值,或外存可用容量小于或等于第二容量阈值时,表明系统资源极度匮乏,可以确定关闭核心转储任务和关闭堆栈回溯任务。关闭堆栈回溯任务可以进一步停止占用系统资源,以保证系统能够在系统资源极度匮乏的情况下正常运行,不产生崩溃的情况。
53.其中,第二使用率阈值用于衡量系统内存资源极度匮乏,第二容量阈值用于衡量系统外存资源极度匮乏。第二使用率阈值和第二使用率阈值可以依据系统配置而定。
54.步骤s304、执行目标调度任务。
55.需要说明的是,目标调度任务为第一调度任务,第一调度任务包括关闭核心转储任务和堆栈回溯任务。通过执行目标调度任务,能够保证系统资源匮乏的情况下,只占用少量系统资源,采集到堆栈调用数据,以便后续在发生进程错误时,根据堆栈调用数据进行排
查错误。
56.目标调度任务为第一调度任务,第一调度任务包括关闭核心转储任务和关闭堆栈回溯任务。通过执行目标调度任务,能够保证系统资源极度匮乏的情况下使系统正常运行,不产生崩溃的情况。
57.示例性地,第一使用率阈值为50%,第一容量阈值为2g。第二使用率阈值为90%,第一容量阈值为1g。在内存使用率大于或等于50%,且外存可用容量小于或等于2g时,执行关闭核心转储任务和堆栈回溯任务。在内存使用率大于或等于90%,且外存可用容量小于或等于1g时,执行关闭核心转储任务和关闭堆栈回溯任务。
58.上述实施例中,在系统资源匮乏的情况下,选择执行关闭核心转储任务和堆栈回溯任务,在系统资源极度匮乏的情况下,选择关闭核心转储任务和关闭堆栈回溯任务。以此,能够使系统无论处于系统资源匮乏还是系统资源极度匮乏,都可以正常运行,而不被因为占用资源导致崩溃,提高了系统可靠性。
59.如图4所示,该操作系统控制方法包括步骤s401至步骤s403。
60.步骤s401、获取系统资源数据,系统资源数据包括内存使用率和外存可用容量。
61.在一实施例中,获取系统资源数据之前,还包括:获取操作系统生成的进程崩溃信号;检验进程崩溃信号的类别;若进程崩溃信号的类别为目标类别,则执行核心转储任务;目标类别的进程崩溃信号与核心转储任务相匹配。
62.其中,进程崩溃信号可分为两类,包括:需执行核心转储任务目标类别类,不需要执行核心转储任务类别。
63.需要说明的是,通过检验进程崩溃信号的类别,判断是否需要执行核心转储任务,可以避免对不需要处理的情况执行调度任务,使调度任务更加灵活。
64.步骤s402、在内存使用率大于或等于第一使用率阈值,且外存可用容量小于或等于第一容量阈值时,从多个调度任务中确定第一调度任务作为目标调度任务。其中,第一调度任务包括关闭核心转储任务和堆栈回溯任务,关闭核心转储任务用于指示操作系统停止采集内存数据,并停止将内存数据保存至核心转储文件,堆栈回溯任务用于指示操作系统采集堆栈调用数据,并将堆栈调用数据保存至堆栈日志文件。
65.需要说明的是,在内存使用率大于或等于第一使用率阈值,且外存可用容量小于或等于第一容量阈值时,表示当前系统当前系统资源处于匮乏的情况之下,可以确定关闭核心转储任务和堆栈回溯任务。
66.步骤s403、在内存使用率大于或等于第二使用率阈值,或外存可用容量小于或等于第二容量阈值时,从多个调度任务中确定第一调度任务作为目标调度任务。第一调度任务包括关闭核心转储任务和关闭堆栈回溯任务,关闭堆栈回溯任务用于指示操作系统停止采集堆栈调用数据,并停止将堆栈调用数据保存至堆栈日志文件。其中,第二使用率阈值大于第一使用率阈值,第二容量阈值小于第一容量阈值。
67.需要说明的是,在内存使用率大于或等于第二使用率阈值,或外存可用容量小于或等于第二容量阈值时,表明系统资源极度匮乏,可以确定关闭核心转储任务和关闭堆栈回溯任务。
68.步骤s404、在内存使用率小于或等于第一使用率阈值,且外存可用容量大于或等于第一容量阈值时,从多个调度任务中确定第二调度任务作为目标调度任务。其中,第二调
度任务包括核心转储任务和堆栈回溯任务,核心转储任务用于指示操作系统采集内存数据,并将内存数据保存至核心转储文件。
69.需要说明的是,在内存使用率小于或等于第一使用率阈值,且外存可用容量大于或等于第一容量阈值时,表示当前系统当前系统资源处于充裕的情况之下,可以确定第二调度任务作为目标调度任务。
70.需要说明的是,核心转储任务采集内存数据,并将内存数据保存至核心转储文件,可以在进程错误时,通过调试器对核心转储文件进行调试分析,准确的定位到进程错误的位置。
71.在一实施例中,采集内存数据可以包括:根据系统资源数据,设置不同的内核转储掩码,采集不同类型的内存数据。需要说明的是,依据系统资源数据,采集不同类型的内存数据,可以减少核心转储任务采集内存数据的工作量,提高核心转储任务的效率和核心转储任务采集内存数据的精准度。
72.步骤s405、执行目标调度任务。
73.需要说明的是,目标调度任务为第一调度任务,第一调度任务包括关闭核心转储任务和堆栈回溯任务。通过执行目标调度任务,能够保证系统资源匮乏的情况下,只占用少量系统资源,采集到堆栈调用数据,以便后续在发生进程错误时,根据堆栈调用数据进行排查错误。
74.目标调度任务为第一调度任务,第一调度任务包括关闭核心转储任务和关闭堆栈回溯任务。通过执行目标调度任务,能够保证系统资源极度匮乏的情况下使系统正常运行,不产生崩溃的情况。
75.目标调度任务为第二调度任务,第二调度任务包括核心转储任务和堆栈回溯任务。通过执行目标调度任务,可以保证能够当前系统资源处于充裕的情况之下,尽可能的采集内存数据和堆栈调用数据,以便后续在发生进程错误时,能够通过分析内存数据和堆栈调用数据,精准的分析进程错误发生的位置,方便排查错误。
76.示例性地,第一使用率阈值为50%,第一容量阈值为2g。第二使用率阈值为90%,第一容量阈值为1g。在内存使用率大于或等于50%,且外存可用容量小于或等于2g时,执行关闭核心转储任务和堆栈回溯任务。在内存使用率大于或等于90%,且外存可用容量小于或等于1g时,执行关闭核心转储任务和关闭堆栈回溯任务。在内存使用率小于或等于50%,且外存可用容量大于或等于2g时,执行核心转储任务和堆栈回溯任务。
77.在一实施例中,执行目标调度任务之后,还包括,获取核心转储文件和堆栈日志文件;通过调试器工具对核心转储文件与堆栈日志文件进行分析,以获取错误进程的发生位置;根据错误进程的发生位置,对错误进程进行修正。
78.需要说明的是,根据系统资源消耗情况采取调度任务,能够在不同的系统运行情况下,灵活获取核心转储文件和堆栈日志文件,尽可能的精准有效的根据核心转储文件或堆栈日志文件排查错误进程发生位置,并对错误进程进行修正,进一步提高了系统的可靠性。
79.上述实施例中,根据系统实时的系统资源消耗情况,动态配置调度任务,可以在数据采集和对系统资源占用之前找到一个相对的平衡点,灵活应对不同的情况。对不同的系统资源消耗情况,采取不同的调度任务,在保障系统正常运行的情况下,尽可能的收集用于
排查错误的进程错误数据,以此提高了系统的可靠性。
80.如图5所示,该操作系统控制方法包括步骤s501至步骤s503。
81.步骤s501、获取系统资源数据,系统资源数据包括cpu占用率、内存使用率和外存可用容量。
82.需要说明的是,获取系统资源数据包括cpu占用率,可以使获取的系统的资源更加丰富,系统资源数据情况更加准确。
83.步骤s502、在cpu占用率大于或等于第一占用率阈值,内存使用率大于或等于第一使用率阈值,且外存可用容量小于或等于第一容量阈值时,从多个调度任务中确定第一调度任务作为目标调度任务。其中,第一调度任务包括关闭核心转储任务,关闭核心转储任务用于指示操作系统停止采集内存数据,并停止将内存数据保存至核心转储文件。
84.在cpu占用率小于或等于第一占用率阈值,内存使用率大于或等于第一使用率阈值,且外存可用容量小于或等于第一容量阈值时,表示当前系统当前系统资源处于匮乏的情况之下,可以确定关闭核心转储任务。
85.其中,第一占用率阈值用于衡量系统cpu资源是否匮乏,第一使用率阈值用衡量系统内存资源是否匮乏,第一容量阈值用于衡量系统外存资源是否匮乏。第一使用率阈值和第一容量阈值具体数值可以依据操作系统本身的配置确定。
86.需要说明的是,通过cpu占用率和第一占用率阈值,可以更加准确的判断系统资源是否充裕,使调度任务的判断更加准确。
87.步骤s503、执行目标调度任务。
88.需要说明的是,通过获取cpu占用率、内存使用率和外存可用容量的数据,更加精准的判断系统消耗情况,并以此为依据,使调度任务的判断更加准确。通过执行目标调度任务,关闭核心转储,从而指示操作系统停止采集内存数据,并停止将内存数据保存至核心转储文件。如此能够停止核心转储对系统资源的占用,使系统有足够多的资源来保证系统运行的流畅性。
89.上述实施例中,在cpu占用率大于或等于第一占用率阈值,内存使用率大于或等于第一使用率阈值,且外存可用容量小于或等于第一容量阈值时,能够精准的判断出当前系统当前系统资源处于匮乏的情况之下,并执行目标调度任务,关闭核心转储,从而指示操作系统停止采集内存数据,并停止将内存数据保存至核心转储文件。如此能够停止核心转储对系统资源的占用,使系统在资源匮乏的情况下,有足够多的资源来保证系统运行的流畅性,提高系统的可靠性。
90.在另一实施例中,该操作系统控制方法包括步骤s601至步骤s603。
91.步骤s601、获取系统资源数据,系统资源数据包括cpu占用率、内存使用率和外存可用容量。
92.步骤s602、在cpu占用率大于或等于第一占用率阈值,内存使用率大于或等于第一使用率阈值,且外存可用容量小于或等于第一容量阈值时,从多个调度任务中确定第一调度任务作为目标调度任务。其中,第一调度任务包括关闭核心转储任务和堆栈回溯任务,关闭核心转储任务用于指示操作系统停止采集内存数据,并停止将内存数据保存至核心转储文件,堆栈回溯任务用于指示操作系统采集堆栈调用数据,并将堆栈调用数据保存至堆栈日志文件。
93.步骤s603、执行目标调度任务。
94.上述实施例中,在cpu占用率大于或等于第一占用率阈值,在内存使用率大于或等于第一使用率阈值,且外存可用容量小于或等于第一容量阈值时,能够精准的判断出当前系统当前系统资源处于匮乏的情况之下,并执行目标调度任务,关闭核心转储,从而指示操作系统停止采集内存数据,并停止将内存数据保存至核心转储文件。执行堆栈回溯任务,采集堆栈调用数据,并将堆栈调用数据保存至堆栈日志文件。如此能够保证系统在资源匮乏的情况下,有足够多的资源来保证系统运行的流畅性,同时,又能够在不影响系统运行的情况下,采集堆栈调用数据,保证系统在进程错误时,能有堆栈调用数据进行分析,排查系统内进程错误,提高系统的可靠性。
95.在另一实施例中,该操作系统控制方法包括步骤s701至步骤s703。
96.步骤s701、获获取系统资源数据,系统资源数据包括cpu占用率、内存使用率和外存可用容量。
97.步骤s702、在cpu占用率大于或等于第一占用率阈值,内存使用率大于或等于第一使用率阈值,且外存可用容量小于或等于第一容量阈值时,从多个调度任务中确定第一调度任务作为目标调度任务。其中,第一调度任务包括关闭核心转储任务和堆栈回溯任务,关闭核心转储任务用于指示操作系统停止采集内存数据,并停止将内存数据保存至核心转储文件,堆栈回溯任务用于指示操作系统采集堆栈调用数据,并将堆栈调用数据保存至堆栈日志文件。
98.步骤s703、在内存使用率大于或等于第二使用率阈值,或外存可用容量小于或等于第二容量阈值时,从多个调度任务中确定第一调度任务作为目标调度任务。第一调度任务包括关闭核心转储任务和关闭堆栈回溯任务,关闭堆栈回溯任务用于指示操作系统停止采集堆栈调用数据,并停止将堆栈调用数据保存至堆栈日志文件。其中,第二使用率阈值大于第一使用率阈值,第二容量阈值小于第一容量阈值。
99.步骤s704、执行目标调度任务。
100.上述实施例中,在cpu占用率大于或等于第一占用率阈值,内存使用率大于或等于第一使用率阈值,且外存可用容量小于或等于第一容量阈值时能够精准的判断出,系统资源处于匮乏的情况之下,并选择执行关闭核心转储任务和堆栈回溯任务,在内存使用率大于或等于第二使用率阈值,或外存可用容量小于或等于第二容量阈值时,判断出系统资源处于极度匮乏的情况下,并选择关闭核心转储任务和关闭堆栈回溯任务。以此,能够使系统无论处于系统资源匮乏还是系统资源极度匮乏,都可以正常运行,而不被因为占用资源导致崩溃,提高了系统可靠性。
101.在另一实施例中,该操作系统控制方法包括步骤s801至步骤s805。
102.步骤s801、获取系统资源数据,系统资源数据包括cpu占用率、内存使用率和外存可用容量。
103.步骤s802、在cpu占用率大于或等于第一占用率阈值,内存使用率大于或等于第一使用率阈值,且外存可用容量小于或等于第一容量阈值时,从多个调度任务中确定第一调度任务作为目标调度任务。其中,第一调度任务包括关闭核心转储任务和堆栈回溯任务,关闭核心转储任务用于指示操作系统停止采集内存数据,并停止将内存数据保存至核心转储文件,堆栈回溯任务用于指示操作系统采集堆栈调用数据,并将堆栈调用数据保存至堆栈
日志文件。
104.步骤s803、在内存使用率大于或等于第二使用率阈值,或外存可用容量小于或等于第二容量阈值时,从多个调度任务中确定第一调度任务作为目标调度任务。第一调度任务包括关闭核心转储任务和关闭堆栈回溯任务,关闭堆栈回溯任务用于指示操作系统停止采集堆栈调用数据,并停止将堆栈调用数据保存至堆栈日志文件。其中,第二使用率阈值大于第一使用率阈值,第二容量阈值小于第一容量阈值。
105.步骤s804、在内存使用率小于或等于第一使用率阈值,且外存可用容量大于或等于第一容量阈值时,从多个调度任务中确定第二调度任务作为目标调度任务。其中,第二调度任务包括核心转储任务和堆栈回溯任务,核心转储任务用于指示操作系统采集内存数据,并将内存数据保存至核心转储文件。
106.步骤s805、执行目标调度任务。
107.上述实施例中,通过实时监控系统cpu占用率、内存使用率和外存可用容量,可以精准的判断出系统资源消耗情况,并动态配置调度任务,可以在数据采集和对系统资源占用之前找到一个相对的平衡点,灵活应对不同的情况。对不同的系统资源消耗情况,采取不同的调度任务,在保障系统正常运行的情况下,尽可能的收集用于排查错误的进程错误数据,以此提高了系统的可靠性。
108.示例性地,以下以映射表的方式展示本技术实施例提供的操作系统控制方法的实施方式,该映射表可以为:
109.系统资源使用情况核心转储堆栈回溯内存使用率≤50%且外存可用容量≥2g开开内存使用率≥50%且外存可用容量≤2g关开内存使用率≥90%或外存可用容量≤1g关关
110.第一使用率阈值为50%,第一容量阈值为2g。第二使用率阈值为90%,第一容量阈值为1g。在内存使用率大于或等于50%,且外存可用容量小于或等于2g时,执行关闭核心转储任务和堆栈回溯任务。在内存使用率大于或等于90%,或外存可用容量小于或等于1g时,执行关闭核心转储任务和关闭堆栈回溯任务。在内存使用率小于或等于50%,且外存可用容量大于或等于2g时,执行核心转储任务和堆栈回溯任务。
111.需要说明的是,根据系统实时的系统资源消耗情况,动态配置调度任务,可以在数据采集和对系统资源占用之前找到一个相对的平衡点,灵活应对不同的情况。对不同的系统资源消耗情况,采取不同的调度任务,在保障系统正常运行的情况下,尽可能的收集用于排查错误的进程错误数据,以此提高了系统的可靠性。
112.示例性地,上述的方法可以实现为一种计算机程序的形式,该计算机程序可以在如图6所示的计算机设备上运行。
113.请参阅图6,图6是本技术实施例提供的一计算机设备的示意图。如图6所示,该计算机设备600包括通过系统总线603连接的处理器601、存储器602和网络接口,其中,存储器602可以包括易失性存储介质、非易失性存储介质和内存储器。
114.非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器601执行任意一种坐姿纠正系统的控制方法。处理器601用于提供计算和控制能力,支撑整个计算机设备600的运行。内存储器为非易失性存储
介质中的计算机程序的运行提供环境,该计算机程序被处理器501执行时,可使得处理器601执行任意一种坐姿纠正系统的控制方法。
115.该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,该计算机设备600的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备600的限定,具体的计算机设备600可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
116.应当理解的是,处理器601可以是中央处理单元(central processing unit,cpu),该处理器6 01还可以是其他通用处理器、数字信号处理器(digital sig na lprocessor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
117.其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
118.获取系统资源数据,所述系统资源数据包括内存使用率和外存可用容量;在所述内存使用率大于或等于第一使用率阈值,且所述外存可用容量小于或等于第一容量阈值时,从多个调度任务中确定第一调度任务作为目标调度任务;其中,所述第一调度任务包括关闭核心转储任务,所述关闭核心转储任务用于指示所述操作系统停止采集内存数据,并停止将所述内存数据保存至核心转储文件;执行目标调度任务。
119.在一个实施例中,所述处理器在实现所述系统控制方法时,用于实现:
120.所述第一调度任务还包括堆栈回溯任务,所述堆栈回溯任务用于指示所述操作系统采集堆栈调用数据,并将所述堆栈调用数据保存至堆栈日志文件;在一个实施例中,所述处理器在实现所述系统控制方法时,用于实现:
121.在所述内存使用率大于或等于第二使用率阈值,或所述外存可用容量小于或等于第二容量阈值时,所述第一调度任务还包括关闭堆栈回溯任务,所述关闭堆栈回溯任务用于指示所述操作系统停止采集堆栈调用数据,并停止将所述堆栈调用数据保存至堆栈日志文件;所述在所述内存使用率小于或等于第一使用率阈值,且所述外存可用容量小于或等于第一容量阈值时,从多个调度任务中确定第一调度任务。
122.在一个实施例中,所述处理器在实现所述系统控制方法时,用于实现:
123.在所述内存使用率小于或等于第一使用率阈值,且所述外存可用容量大于或等于第一容量阈值时,从多个调度任务中确定第二调度任务作为目标调度任务;其中,所述第二调度任务包括核心转储任务和堆栈回溯任务,所述核心转储任务用于指示所述操作系统采集内存数据,并将所述内存数据保存至核心转储文件。
124.在一个实施例中,所述处理器在实现将所述内存数据保存至核心转储文件之后时,用于实现:
125.当所述核心转储文件的数据量大于或等于设定数据量时,停止将所述内存数据保存至核心转储文件;或者当所述核心转储文件占用所述外存可用容量的比例大于或等于预设比例时,停止将所述内存数据保存至核心转储文件。
126.在一个实施例中,所述处理器用于实现所述系统资源数据还包括cpu占用率;所述
在所述内存使用率小于或等于第一使用率阈值,且所述外存可用容量小于或等于第一容量阈值时,从多个调度任务中确定第一调度任务。
127.在所述cpu占用率小于或等于第一占用率阈值,所述内存使用率小于或等于第一使用率阈值,且所述外存可用容量小于或等于第一容量阈值时,从多个调度任务中确定第一调度任务。
128.在一个实施例中,所述处理器在实现上述所述方法时,用于实现:
129.获取所述操作系统生成的进程崩溃信号;检验所述进程崩溃信号;若检验结果为预设核心转储任务信号,则执行所述核心转储任务;若检验结果为预设堆栈回溯任务信号,则执行所述堆栈回溯任务。
130.在一个实施例中,所述处理器在实现上述所述方法时,用于实现:
131.获取核心转储文件和堆栈日志文件;通过调试器工具对所述核心转储文件与所述堆栈日志文件进行分析,以获取错误进程的发生位置;根据所述错误进程的发生位置,对所述错误进程进行修正。
132.需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述计算机设备的具体工作过程,可以参考前述欺诈识别方法实施例中的对应过程,在此不再赘述。
133.本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序中包括程序指令,所述程序指令被执行时所实现的方法可参照本技术欺诈识别方法的各个实施例。
134.其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。
135.应当理解,在此本技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本技术。如在本技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
136.还应当理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
137.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
技术特征:
1.一种操作系统控制方法,其特征在于,包括:获取系统资源数据,所述系统资源数据包括内存使用率和外存可用容量;在所述内存使用率大于或等于第一使用率阈值,且所述外存可用容量小于或等于第一容量阈值时,从多个调度任务中确定第一调度任务作为目标调度任务;其中,所述第一调度任务包括关闭核心转储任务,所述关闭核心转储任务用于指示所述操作系统停止采集内存数据,并停止将所述内存数据保存至核心转储文件;执行所述目标调度任务。2.如权利要求1所述的方法,其特征在于,所述第一调度任务还包括堆栈回溯任务,所述堆栈回溯任务用于指示所述操作系统采集堆栈调用数据,并将所述堆栈调用数据保存至堆栈日志文件。3.如权利要求1所述的方法,其特征在于,在所述内存使用率大于或等于第二使用率阈值,或所述外存可用容量小于或等于第二容量阈值时,所述第一调度任务还包括关闭堆栈回溯任务,所述关闭堆栈回溯任务用于指示所述操作系统停止采集堆栈调用数据,并停止将所述堆栈调用数据保存至堆栈日志文件;其中,所述第二使用率阈值大于所述第一使用率阈值,所述第二容量阈值小于所述第一容量阈值。4.如权利要求1所述的方法,其特征在于,所述方法,还包括:在所述内存使用率小于第一使用率阈值,且所述外存可用容量大于第一容量阈值时,从多个调度任务中确定第二调度任务作为目标调度任务;其中,所述第二调度任务包括核心转储任务和堆栈回溯任务,所述核心转储任务用于指示所述操作系统采集内存数据,并将所述内存数据保存至核心转储文件;所述堆栈回溯任务用于指示所述操作系统采集堆栈调用数据,并将所述堆栈调用数据保存至堆栈日志文件。5.如权利要求4所述的方法,其特征在于,所述将所述内存数据保存至核心转储文件之后,还包括:当所述核心转储文件的数据量大于或等于设定数据量时,停止将所述内存数据保存至核心转储文件;或者当所述核心转储文件占用所述外存可用容量的比例大于或等于预设比例时,停止将所述内存数据保存至核心转储文件。6.如权利要求1-5任一项所述的方法,其特征在于,所述系统资源数据还包括cpu占用率;所述在所述内存使用率大于或等于第一使用率阈值,且所述外存可用容量小于或等于第一容量阈值时,从多个调度任务中确定第一调度任务作为目标调度任务,包括:在所述cpu占用率小于或等于第一占用率阈值,所述内存使用率大于或等于第一使用率阈值,且所述外存可用容量小于或等于第一容量阈值时,从多个调度任务中确定第一调度任务作为目标调度任务。7.如权利要求1-5任一项所述的方法,其特征在于,所述获取系统资源数据之前,还包括:获取所述操作系统生成的进程崩溃信号;检验所述进程崩溃信号的类别;若所述进程崩溃信号的类别为目标类别,则执行所述核心转储任务;所述目标类别的进程崩溃信号与所述核心转储任务相匹配。
8.如权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:获取核心转储文件和堆栈日志文件;通过调试器工具对所述核心转储文件与所述堆栈日志文件进行分析,以获取错误进程的发生位置;根据所述错误进程的发生位置,对所述错误进程进行修正。9.一种计算机设备,其特征在于,所述计算机设备包括操作系统,所述计算机设备还包括处理器、存储器,所述存储器存储有可被所述处理器执行的计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1至8中任一项所述的操作系统控制方法。10.一种存储介质,用于计算机可读存储,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求1至8中任一项所述的操作系统控制方法的步骤。
技术总结
本申请涉及计算操作系统,提供一种操作系统控制方法、设备及存储介质。包括:获取系统资源数据,系统资源数据包括内存使用率和外存可用容量;在内存使用率大于或等于第一使用率阈值,且外存可用容量小于或等于第一容量阈值时,从多个调度任务中确定第一调度任务;其中,第一调度任务包括关闭核心转储任务;执行关闭核心转储任务,关闭核心转储任务用于指示操作系统停止采集内存数据,并停止将内存数据保存至核心转储文件。本申请根据系统资源数据使用情况,判断是否关闭核心转储任务,避免核心转储任务在系统资源不足的情况下占用系统资源,影响系统运行,提高了系统的可靠性。提高了系统的可靠性。提高了系统的可靠性。
技术研发人员:张东广
受保护的技术使用者:深圳开鸿数字产业发展有限公司
技术研发日:2023.03.28
技术公布日:2023/8/1
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
