CN110955514A - 提高Linux业务进程利用率的方法、系统及计算机可读介质 - Google Patents
提高Linux业务进程利用率的方法、系统及计算机可读介质 Download PDFInfo
- Publication number
- CN110955514A CN110955514A CN201910955230.6A CN201910955230A CN110955514A CN 110955514 A CN110955514 A CN 110955514A CN 201910955230 A CN201910955230 A CN 201910955230A CN 110955514 A CN110955514 A CN 110955514A
- Authority
- CN
- China
- Prior art keywords
- service process
- service
- pid
- linux kernel
- linux
- 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 444
- 230000008569 process Effects 0.000 title claims abstract description 411
- 238000012544 monitoring process Methods 0.000 claims abstract description 59
- 230000002159 abnormal effect Effects 0.000 claims abstract description 55
- 230000006870 function Effects 0.000 claims description 75
- 238000001824 photoionisation detection Methods 0.000 claims description 70
- 238000007726 management method Methods 0.000 claims description 60
- 238000013468 resource allocation Methods 0.000 claims description 7
- 230000007958 sleep Effects 0.000 claims description 7
- 230000005059 dormancy Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 8
- 230000006872 improvement Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000005856 abnormality Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000011084 recovery Methods 0.000 description 4
- 230000000903 blocking effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了提高Linux业务进程利用率的方法、系统及计算机可读介质,其通过Linux内核启动过程中加载钩子函数,以监测Linux内核对所有业务进程的资源管理和进程调度的执行结果;依据待监控的业务进程PID生成Linux内核监控列表;linux内核接收来自应用态管理进程的业务进程调用系统函数,解析业务进程调用系统函数以获取业务进程PID,判断业务进程PID是否在Linux内核监控列表,如是,则利用业务进程调用系统函数和/或钩子函数以判断业务进程状态是否异常,存在业务进程状态异常则发送与业务进程PID对应的重启指令给应用态管理进程,应用态管理进程依据接收的重启指令执行重启业务进程的操作,及时发现业务进程异常、异常误判或即将出现异常情况并进行相应的处理,从而提高Linux业务进程利用率。
Description
技术领域
本发明属于计算机内核管理领域,具体涉及提高Linux业务进程利用率的方法、系统及计算机可读介质。
背景技术
在ICT浪潮中,虚拟化技术越来越普及的应用于云计算、大数据等新兴学科中。随着网络和硬件技术的发展,各种虚拟化技术也都在快速的发展中,服务器虚拟化一直是虚拟化技术的主要领域。随着云计算的发展,基于云化网络的各种应用和云平台的发展,基于虚拟化的云环境已经处处可见,大量的专用硬件设备被虚拟机替代,应用APP在虚拟机里运行,云化网络已经大量应用到我们日常生活当中。5G和ICT融合技术的大力发展和推进,云化网络和云化应用即将得到更大的应用和实施,基于虚拟机的云计算和IASS技术的云计算发展和应用,数据和应用承载的实体是成千上万的虚拟机。
虚拟机对操作系统、函数库和应用程序的封装减少了不同硬件平台和不同操作系统上运行软件的开销,使得云计算中心可以规模化部署和应用。随着云计算中心大规模的部署,云计算中心虚拟化环境的高可用体现得尤其重要。其中,进程的高可用更是云计算高可用的重要功能。因为在云计算中心,如果物理机服务器上的进程出现异常,而无法恢复时,将会大批量地影响虚拟机的运行。当前在现有的方法中,实现进程监控的方法主要有三种,一是在用户态使用进程与被监控的相互发送心跳报文,根据丢包来判断被监控进程是否异常;二是监控进程以父进程的身份拉起被监控进程,使得二者之间产生父子进程关系,从而在被监控的子进程退出时,父进程可以接收到Linux内核的退出信号通知;三是监控进程周期性获取被进程的日志、/proc/{pid}状态文件信息,来分析被监控进程是否异常。这些方法,存在需要限制被监控进程的启动关系、修改被监控进程代码、实时性不够等缺点,都具有一定的局限性。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种提高Linux业务进程利用率的方法、系统及计算机可读介质,其通过Linux内核启动过程中加载钩子函数并依据待监控的业务进程PID生成Linux内核监控列表,利用业务进程调用系统函数和/或钩子函数以判断业务进程状态是否异常,依据异常情况的判断,及时发现业务进程异常、异常误判或即将出现异常情况并进行相应的处理,从而提高Linux业务进程利用率。
为实现上述目的,按照本发明的一个方面,提供了一种提高Linux业务进程利用率的方法,包括如下步骤:
S1.Linux内核启动过程中加载钩子函数,以监测Linux内核对所有业务进程的资源管理和进程调度的执行结果;依据待监控的业务进程PID生成Linux内核监控列表;
S2.Linux内核接收来自应用态管理进程的业务进程调用系统函数,解析业务进程调用系统函数以获取业务进程PID,判断业务进程PID是否在Linux内核监控列表,如是,则利用业务进程调用系统函数和/或钩子函数以判断业务进程状态是否异常,存在业务进程状态异常则发送与业务进程PID对应的重启指令给应用态管理进程,应用态管理进程依据接收的重启指令执行重启业务进程的操作。
作为本发明的进一步改进,应用态管理进程依据被配置文件查询所有待监控业务进程的PID,并将获取的PID通过netlink消息发送给Linux内核。
作为本发明的进一步改进,业务进程状态异常包括业务进程异常退出、业务进程异常卡死、业务进程内存资源占用异常和业务进程文件句柄资源占用异常。
作为本发明的进一步改进,业务进程调用系统函数包括业务进程异常退出、业务进程休眠、业务资源分配和业务进程文件句柄资源分配。
作为本发明的进一步改进,业务进程调用系统函数为业务进程退出时,解析业务进程在内核中的进程调度函数以获取业务进程PID,判断业务进程PID是否在Linux内核监控列表,如是,则判断业务进程状态存在业务进程异常退出,发送与业务进程PID对应的重启指令给应用态管理进程,应用态管理进程依据接收的重启指令执行重启业务进程的操作。
作为本发明的进一步改进,业务进程调用系统函数为业务进程休眠时,解析业务进程在内核进程调度模块中的参数以获取业务进程PID,判断业务进程PID是否在Linux内核监控列表,如是,解析业务进程调用系统函数以获取业务进程进入sleep状态时间,启动定时器周期性利用钩子函数计算业务进程进入sleep状态时间和当前时间的差值,该差值超过预设的第一阈值时,则判断业务进程状态存在业务进程异常卡死,发送重启指令与业务进程PID对应的重启指令给应用态管理进程,应用态管理进程依据接收的重启指令执行重启业务进程的操作。
作为本发明的进一步改进,业务进程调用系统函数为业务资源分配时,解析业务进程在内核中分配内存资源的参数以获取业务进程PID,判断业务进程PID是否在Linux内核监控列表,如是,利用钩子函数统计业务进程占用的内存资源,判断业务进程占用的内存资源是否超过预设的第二阈值,是则判断业务进程状态存在业务进程内存资源占用异常,发送与业务进程PID对应的重启指令给应用态管理进程,应用态管理进程依据接收的重启指令执行重启业务进程的操作。
作为本发明的进一步改进,业务进程调用系统函数为业务进程文件句柄资源分配时,解析业务进程在内核中分配文件句柄资源的参数以获取业务进程PID,判断业务进程PID是否在Linux内核监控列表,如是,利用钩子函数统计业务进程占用的文件句柄资源,判断业务进程占用的文件句柄资源是否超过预设的第三阈值,是则判断业务进程状态存在业务进程文件句柄资源占用异常,发送与业务进程PID对应的重启指令给应用态管理进程,应用态管理进程依据接收的重启指令执行重启业务进程的操作。
为实现上述目的,按照本发明的另一个方面,提供了一种提高Linux业务进程利用率的系统,该系统包括linux内核和应用态进程管理模块,其中,linux内核包括内核监控模块,
内核监控模块用于Linux内核启动过程中加载钩子函数,以监测Linux内核对所有业务进程的资源管理和进程调度的执行结果;依据待监控的业务进程PID生成Linux内核监控列表;还用于接收来自应用态管理进程的业务进程调用系统函数,解析业务进程调用系统函数以获取业务进程PID,判断业务进程PID是否在Linux内核监控列表,如是,则利用业务进程调用系统函数和/或钩子函数以判断业务进程状态是否异常,存在业务进程状态异常则发送与业务进程PID对应的重启指令给应用态进程管理模块;
应用态进程管理模块用于依据接收的重启指令执行重启业务进程的操作;从而实现上述方法的步骤。
为实现上述目的,按照本发明的另一个方面,提供了一种计算机可读介质,其存储有可由终端设备执行的计算机程序,当程序在终端设备上运行时,使得终端设备执行实现上述方法的步骤。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:
本发明的一种提高Linux业务进程利用率的方法、系统及计算机可读介质,其通过Linux内核启动过程中加载钩子函数并依据待监控的业务进程PID生成Linux内核监控列表,利用业务进程调用系统函数和/或钩子函数以判断业务进程状态是否异常,依据异常情况的判断,获取进程的各种状态变化和信息,及时发现业务进程异常、异常误判或即将出现异常情况并进行相应的处理,从而提高Linux业务进程利用率。
本发明的一种提高Linux业务进程利用率的方法、系统及计算机可读介质,其通过在Linux Kernel中增加进程监控模块,在进程调度、资源分配时,提供划分业务进程调用系统函数的类型以及业务进程状态异常类型,针对不同的业务进程状态异常类型,实时性检验各个进程的状态(运行、休眠、退出)和资源占用(内存、CPU、文件句柄等等),及时预判被监控的运行状态,提前通过内核监控模块向监控进程预警被监控进程可能发生的问题,由决策记录日志、上报告警或者重启被监控进程,从而实现被监控进程实时性排除故障恢复正常业务的可靠性。
本发明的一种提高Linux业务进程利用率的方法、系统及计算机可读介质,通过在内核态新增子模块监控业务进程的状态,收集和预警业务进程的异常具有以下优点:1)监控实时性高,业务进程的状态变化依赖于Linux内核的进程调度模块,通过Linux内核监控子模块在进程调度模块中注册监控钩子函数,可以实时获取业务进程的状态变化和异常;2)通用性好,Linux内核子模块监控业务进程,不需要业务进程和监控模块之间包含关联关系,适用范围广;3)预警和恢复准确度高,Linux内核子模块监控进程调度,获取进程的状态参数更准确;4)进程恢复高效性好,业务进程即将或者已经发生异常时,内核监控模块实时收集异常,并立即通过netlink上报监控进程,由监控进程负责重启被监控的异常进程,实现恢复业务的高效性。
附图说明
图1是本发明实施例的一种提高Linux业务进程利用率的系统的结构示意图;
图2是本发明实施例的一种提高Linux业务进程利用率的系统的进程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。下面结合具体实施方式对本发明进一步详细说明。
需要说明的是,本发明的说明书及附图中的术语“第一”、“第二”等等是用于区别类似的对象,而不必用于描述特定的顺序或者先后次序。应该理解这样的使用数据在适当情况下可以互换,以便这里描述得本发明的实施例能够以除了这里图示或描述得那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或者设备不必限于清楚地列出的那些步骤或者单元,而是可包括没有清楚地列出的或者对于这些过程、方法、产品或者设备固有的其他步骤或单元。说明书中未详细描述的内容为本领域技术人员公知的现有技术。
一种提高Linux业务进程利用率的方法,包括如下步骤:
S1.Linux内核启动过程中加载钩子函数,以监测Linux内核对所有业务进程的资源管理和进程调度的执行结果;依据待监控的业务进程PID生成Linux内核监控列表;
S2.Linux内核接收来自应用态管理进程的业务进程调用系统函数,解析业务进程调用系统函数以获取业务进程PID,判断业务进程PID是否在Linux内核监控列表,如是,则利用业务进程调用系统函数和/或钩子函数以判断业务进程状态是否异常,存在业务进程状态异常则发送与业务进程PID对应的重启指令给应用态管理进程,应用态管理进程依据接收的重启指令执行重启业务进程的操作。
作为一个优选的实施例,应用态管理进程依据被配置文件查询所有待监控业务进程的PID,并将获取的PID通过netlink消息发送给Linux内核。
具体地,业务进程调用系统函数包括业务进程异常退出、业务进程休眠、业务资源分配和业务进程文件句柄资源分配;业务进程状态异常包括业务进程异常退出、业务进程异常卡死、业务进程内存资源占用异常和业务进程文件句柄资源占用异常;其中,
业务进程调用系统函数为业务进程异常退出时,即业务进程在运行过程中发生异常退出,如段错误、业务执行异常流程调用exit函数等,则会进入进程退出的处理流程清理进程有关的各种资源,解析业务进程在内核中的进程调度函数以获取业务进程PID,判断业务进程PID是否在Linux内核监控列表,如是,则判断业务进程状态存在业务进程异常退出,发送与业务进程PID对应的重启指令给应用态管理进程,应用态管理进程依据接收的重启指令执行重启业务进程的操作;如否,则直接忽略不做处理。
业务进程调用系统函数为业务进程休眠时,即业务进程从running状态切换为sleep状态的调度;解析业务进程在内核进程调度模块中的参数以获取业务进程PID,判断业务进程PID是否在Linux内核监控列表,如是,解析业务进程调用系统函数以获取业务进程进入sleep状态时间,启动定时器周期性利用钩子函数计算业务进程进入sleep状态时间和当前时间的差值,该差值超过预设的第一阈值时,则判断业务进程状态存在业务进程异常卡死,发送重启指令与业务进程PID对应的重启指令给应用态管理进程,应用态管理进程依据接收的重启指令执行重启业务进程的操作;如否,则直接忽略不做处理。其中,第一阈值为依据Linux系统设置的经验值,可依据需求进行相应的调整。
业务进程调用系统函数为业务资源分配时,一般来说,业务进程在运行过程中按需分配内存资源,当发生内存泄露场景时,内存资源将会不断增长直至系统内存耗尽;解析业务进程在内核中分配内存资源的参数以获取业务进程PID,判断业务进程PID是否在Linux内核监控列表,如是,利用钩子函数统计业务进程占用的内存资源,判断业务进程占用的内存资源是否超过预设的第二阈值,是则判断业务进程状态存在业务进程内存资源占用异常,发送与业务进程PID对应的重启指令给应用态管理进程,应用态管理进程依据接收的重启指令执行重启业务进程的操作;如否,则直接忽略不做处理。其中,第二阈值为依据Linux系统设置的经验值,可依据需求进行相应的调整。
业务进程调用系统函数为业务进程文件句柄资源分配时,一般来说,业务进程在运行过程中按运行需要分配文件句柄资源,当发生文件句柄泄露场景时,文件句柄资源占用将会不断增长直至系统文件句柄资源耗尽;解析业务进程在内核中分配文件句柄资源的参数以获取业务进程PID,判断业务进程PID是否在Linux内核监控列表,如是,利用钩子函数统计业务进程占用的文件句柄资源,判断业务进程占用的文件句柄资源是否超过预设的第三阈值,是则判断业务进程状态存在业务进程文件句柄资源占用异常,发送与业务进程PID对应的重启指令给应用态管理进程,应用态管理进程依据接收的重启指令执行重启业务进程的操作;如否,则直接忽略不做处理。其中,第三阈值为依据Linux系统设置的经验值,可依据需求进行相应的调整。
图1和图2分别为本发明实施例的一种提高Linux业务进程利用率的系统的结构示意图和进程示意图。如图1和图2所示,该该系统包括linux内核和应用态进程管理模块,其中,linux内核包括内核监控模块,linux内核用于实现业务进程的执行,具体地,业务进程的执行包括进程创建、进程退出、进程调度、进程信号处理、文件系统和内存管理,其中,
内核监控模块用于Linux内核启动过程中加载钩子函数,以监测Linux内核对所有业务进程的资源管理和进程调度的执行结果;依据待监控的业务进程PID生成Linux内核监控列表;还用于接收来自应用态管理进程的业务进程调用系统函数,解析业务进程调用系统函数以获取业务进程PID,判断业务进程PID是否在Linux内核监控列表,如是,则利用业务进程调用系统函数和/或钩子函数以判断业务进程状态是否异常,存在业务进程状态异常则发送与业务进程PID对应的重启指令给应用态进程管理模块;
应用态进程管理模块用于依据接收的重启指令执行重启业务进程的操作,从而实现上述方法的步骤;
作为一个优选的实施例,应用态进程管理模块用于业务进程启动过程中判断业务进程PID是否在Linux内核监控列表,如非,则应用态管理进程向内核发送消息,将该业务进程PID添加到内核监控列表中。
作为一个优选的实施例,内核监控模块和应用态进程管理模块之间采用netlink通信方式进行通信,当然,依据内核监控模块和应用态进程管理模块的需要还可以采用Linux系统模块之间的其他方式进行通信。其中,Netlink套接字是用以实现用户进程与内核进程通信的一种特殊的进程间通信(IPC),也是网络应用程序与内核通信的最常用的接口。通过在内核态新增子模块监控业务进程的状态,收集和预警业务进程的异常具有以下优点:1)监控实时性高,业务进程的状态变化依赖于Linux内核的进程调度模块,通过Linux内核监控子模块在进程调度模块中注册监控钩子函数,可以实时获取业务进程的状态变化和异常;2)通用性好,Linux内核子模块监控业务进程,不需要业务进程和监控模块之间包含关联关系,适用范围广;3)预警和恢复准确度高,Linux内核子模块监控进程调度,获取进程的状态参数更准确;4)进程恢复高效性好,业务进程即将或者已经发生异常时,内核监控模块实时收集异常,并立即通过netlink上报监控进程,由监控进程负责重启被监控的异常进程,实现恢复业务的高效性。
一种计算机可读介质,其存储有可由终端设备执行的计算机程序,当所述程序在终端设备上运行时,使得所述终端设备执行上述方法的步骤。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种提高Linux业务进程利用率的方法,其特征在于,包括如下步骤:
S1.Linux内核启动过程中加载钩子函数,以监测Linux内核对所有业务进程的资源管理和进程调度的执行结果;依据待监控的业务进程PID生成Linux内核监控列表;
S2.Linux内核接收来自应用态管理进程的业务进程调用系统函数,解析业务进程调用系统函数以获取业务进程PID,判断业务进程PID是否在Linux内核监控列表,如是,则利用业务进程调用系统函数和/或钩子函数以判断业务进程状态是否异常,存在业务进程状态异常则发送与业务进程PID对应的重启指令给应用态管理进程,应用态管理进程依据接收的重启指令执行重启业务进程的操作。
2.根据权利要求1所述的一种提高Linux业务进程利用率的方法,其特征在于,应用态管理进程依据被配置文件查询所有待监控业务进程的PID,并将获取的PID通过netlink消息发送给Linux内核。
3.根据权利要求1或2所述的一种提高Linux业务进程利用率的方法,其特征在于,所述业务进程状态异常包括业务进程异常退出、业务进程异常卡死、业务进程内存资源占用异常和业务进程文件句柄资源占用异常。
4.根据权利要求3所述的一种提高Linux业务进程利用率的方法,其特征在于,所述业务进程调用系统函数包括业务进程异常退出、业务进程休眠、业务资源分配和业务进程文件句柄资源分配。
5.根据权利要求4所述的一种提高Linux业务进程利用率的方法,其特征在于,所述业务进程调用系统函数为业务进程退出时,解析业务进程在内核中的进程调度函数以获取业务进程PID,判断业务进程PID是否在Linux内核监控列表,如是,则判断业务进程状态存在业务进程异常退出,发送与业务进程PID对应的重启指令给应用态管理进程,应用态管理进程依据接收的重启指令执行重启业务进程的操作。
6.根据权利要求4所述的一种提高Linux业务进程利用率的方法,其特征在于,所述业务进程调用系统函数为业务进程休眠时,解析业务进程在内核进程调度模块中的参数以获取业务进程PID,判断业务进程PID是否在Linux内核监控列表,如是,解析业务进程调用系统函数以获取业务进程进入sleep状态时间,启动定时器周期性利用钩子函数计算业务进程进入sleep状态时间和当前时间的差值,该差值超过预设的第一阈值时,则判断业务进程状态存在业务进程异常卡死,发送重启指令与业务进程PID对应的重启指令给应用态管理进程,应用态管理进程依据接收的重启指令执行重启业务进程的操作。
7.根据权利要求4所述的一种提高Linux业务进程利用率的方法,其特征在于,所述业务进程调用系统函数为业务资源分配时,解析业务进程在内核中分配内存资源的参数以获取业务进程PID,判断业务进程PID是否在Linux内核监控列表,如是,利用钩子函数统计业务进程占用的内存资源,判断业务进程占用的内存资源是否超过预设的第二阈值,是则判断业务进程状态存在业务进程内存资源占用异常,发送与业务进程PID对应的重启指令给应用态管理进程,应用态管理进程依据接收的重启指令执行重启业务进程的操作。
8.根据权利要求4所述的一种提高Linux业务进程利用率的方法,其特征在于,所述业务进程调用系统函数为业务进程文件句柄资源分配时,解析业务进程在内核中分配文件句柄资源的参数以获取业务进程PID,判断业务进程PID是否在Linux内核监控列表,如是,利用钩子函数统计业务进程占用的文件句柄资源,判断业务进程占用的文件句柄资源是否超过预设的第三阈值,是则判断业务进程状态存在业务进程文件句柄资源占用异常,发送与业务进程PID对应的重启指令给应用态管理进程,应用态管理进程依据接收的重启指令执行重启业务进程的操作。
9.一种提高Linux业务进程利用率的系统,其特征在于,该系统包括linux内核和应用态进程管理模块,其中,linux内核包括内核监控模块,
内核监控模块用于Linux内核启动过程中加载钩子函数,以监测Linux内核对所有业务进程的资源管理和进程调度的执行结果;依据待监控的业务进程PID生成Linux内核监控列表;还用于接收来自应用态管理进程的业务进程调用系统函数,解析业务进程调用系统函数以获取业务进程PID,判断业务进程PID是否在Linux内核监控列表,如是,则利用业务进程调用系统函数和/或钩子函数以判断业务进程状态是否异常,存在业务进程状态异常则发送与业务进程PID对应的重启指令给应用态进程管理模块;
应用态进程管理模块用于依据接收的重启指令执行重启业务进程的操作,从而实现权利要求1~8任一权利要求所述方法的步骤。
10.一种计算机可读介质,其特征在于,其存储有可由终端设备执行的计算机程序,当所述程序在终端设备上运行时,使得所述终端设备执行权利要求1~8任一权利要求所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910955230.6A CN110955514A (zh) | 2019-10-09 | 2019-10-09 | 提高Linux业务进程利用率的方法、系统及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910955230.6A CN110955514A (zh) | 2019-10-09 | 2019-10-09 | 提高Linux业务进程利用率的方法、系统及计算机可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110955514A true CN110955514A (zh) | 2020-04-03 |
Family
ID=69976350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910955230.6A Pending CN110955514A (zh) | 2019-10-09 | 2019-10-09 | 提高Linux业务进程利用率的方法、系统及计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110955514A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112181774A (zh) * | 2020-09-29 | 2021-01-05 | 新华三信息技术有限公司 | 一种系统资源监测方法、装置、设备及机器可读存储介质 |
CN113791888A (zh) * | 2021-11-17 | 2021-12-14 | 北京鲸鲮信息系统技术有限公司 | Linux应用进程管理方法及装置 |
CN113835966A (zh) * | 2021-09-27 | 2021-12-24 | 苏州浪潮智能科技有限公司 | 服务进程管理方法、装置、存储系统以及存储介质 |
CN114817075A (zh) * | 2022-06-21 | 2022-07-29 | 远江盛邦(北京)网络安全科技股份有限公司 | 一种进程间心跳检测方法及装置 |
CN116069638A (zh) * | 2023-01-19 | 2023-05-05 | 蔷薇大树科技有限公司 | 一种基于内核态模拟分布式异常状态的方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7472288B1 (en) * | 2004-05-14 | 2008-12-30 | Trend Micro Incorporated | Protection of processes running in a computer system |
CN103530193A (zh) * | 2013-11-01 | 2014-01-22 | 北京网秦天下科技有限公司 | 用于调节应用进程的方法和设备 |
CN104199772A (zh) * | 2014-09-02 | 2014-12-10 | 浪潮(北京)电子信息产业有限公司 | 一种监管进程的方法和装置 |
CN107145389A (zh) * | 2017-03-09 | 2017-09-08 | 深圳市先河系统技术有限公司 | 一种系统进程监控方法及计算设备 |
CN108632113A (zh) * | 2018-05-07 | 2018-10-09 | 上海市共进通信技术有限公司 | 基于Linux内核的数据流监控方法及系统 |
CN109558233A (zh) * | 2018-11-29 | 2019-04-02 | 北京北信源信息安全技术有限公司 | 窗口进程管理方法、装置、存储介质及服务器 |
US20190220318A1 (en) * | 2016-09-27 | 2019-07-18 | Huawei Technologies Co., Ltd. | Memory Reclamation Method and Apparatus |
-
2019
- 2019-10-09 CN CN201910955230.6A patent/CN110955514A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7472288B1 (en) * | 2004-05-14 | 2008-12-30 | Trend Micro Incorporated | Protection of processes running in a computer system |
CN103530193A (zh) * | 2013-11-01 | 2014-01-22 | 北京网秦天下科技有限公司 | 用于调节应用进程的方法和设备 |
CN104199772A (zh) * | 2014-09-02 | 2014-12-10 | 浪潮(北京)电子信息产业有限公司 | 一种监管进程的方法和装置 |
US20190220318A1 (en) * | 2016-09-27 | 2019-07-18 | Huawei Technologies Co., Ltd. | Memory Reclamation Method and Apparatus |
CN107145389A (zh) * | 2017-03-09 | 2017-09-08 | 深圳市先河系统技术有限公司 | 一种系统进程监控方法及计算设备 |
CN108632113A (zh) * | 2018-05-07 | 2018-10-09 | 上海市共进通信技术有限公司 | 基于Linux内核的数据流监控方法及系统 |
CN109558233A (zh) * | 2018-11-29 | 2019-04-02 | 北京北信源信息安全技术有限公司 | 窗口进程管理方法、装置、存储介质及服务器 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112181774A (zh) * | 2020-09-29 | 2021-01-05 | 新华三信息技术有限公司 | 一种系统资源监测方法、装置、设备及机器可读存储介质 |
CN113835966A (zh) * | 2021-09-27 | 2021-12-24 | 苏州浪潮智能科技有限公司 | 服务进程管理方法、装置、存储系统以及存储介质 |
CN113835966B (zh) * | 2021-09-27 | 2023-06-16 | 苏州浪潮智能科技有限公司 | 服务进程管理方法、装置、存储系统以及存储介质 |
CN113791888A (zh) * | 2021-11-17 | 2021-12-14 | 北京鲸鲮信息系统技术有限公司 | Linux应用进程管理方法及装置 |
CN114817075A (zh) * | 2022-06-21 | 2022-07-29 | 远江盛邦(北京)网络安全科技股份有限公司 | 一种进程间心跳检测方法及装置 |
CN114817075B (zh) * | 2022-06-21 | 2022-09-13 | 远江盛邦(北京)网络安全科技股份有限公司 | 一种进程间心跳检测方法及装置 |
CN116069638A (zh) * | 2023-01-19 | 2023-05-05 | 蔷薇大树科技有限公司 | 一种基于内核态模拟分布式异常状态的方法 |
CN116069638B (zh) * | 2023-01-19 | 2023-09-01 | 蔷薇大树科技有限公司 | 一种基于内核态模拟分布式异常状态的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110955514A (zh) | 提高Linux业务进程利用率的方法、系统及计算机可读介质 | |
CN107688496B (zh) | 任务分布式处理方法、装置、存储介质和服务器 | |
CN111221632B (zh) | 分布式并行任务调度方法、装置、计算机设备和存储介质 | |
CN107704360B (zh) | 监控数据的处理方法、设备、服务器及存储介质 | |
CN111324423B (zh) | 容器内进程的监控方法、装置、存储介质和计算机设备 | |
CN109245966A (zh) | 云平台的服务状态的监控方法和装置 | |
CN111459754B (zh) | 异常任务的处理方法、装置、介质及电子设备 | |
CN110618864A (zh) | 一种中断任务恢复方法及装置 | |
CN109144873B (zh) | 一种linux内核处理方法及装置 | |
US7451446B2 (en) | Task supervision | |
CN111427751A (zh) | 基于异步处理机制对业务进行处理的方法及系统 | |
CN110231998B (zh) | 分布式定时任务的检测方法、装置及存储介质 | |
CN107769932B (zh) | 一种计费方法、装置及系统 | |
CN112114956A (zh) | 一种任务调度方法、装置和系统 | |
CN113452607A (zh) | 分布式链路采集的方法、装置、计算设备和存储介质 | |
CN107729213B (zh) | 一种后台任务监控方法及装置 | |
US20230359514A1 (en) | Operation-based event suppression | |
CN110287159B (zh) | 一种文件处理方法及装置 | |
CN108255515B (zh) | 一种实现定时器服务的方法和装置 | |
CN115712521A (zh) | 一种集群节点故障处理方法、系统及介质 | |
CN112181600B (zh) | 一种云计算资源管理方法及系统 | |
CN111857689A (zh) | 一种框架、框架的功能配置方法、终端及存储介质 | |
CN111211938B (zh) | 生物信息软件监控系统及方法 | |
CN113114538A (zh) | 一种心跳检测方法及装置 | |
US11704242B1 (en) | System and method for dynamic memory optimizer and manager for Java-based microservices |
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: 20200403 |