CN115407943A - 一种内存转储文件生成方法、装置、设备及可读存储介质 - Google Patents

一种内存转储文件生成方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN115407943A
CN115407943A CN202211040068.3A CN202211040068A CN115407943A CN 115407943 A CN115407943 A CN 115407943A CN 202211040068 A CN202211040068 A CN 202211040068A CN 115407943 A CN115407943 A CN 115407943A
Authority
CN
China
Prior art keywords
memory
data
dump file
dumped
uncompressed
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
Application number
CN202211040068.3A
Other languages
English (en)
Inventor
宋俊江
黄玉龙
刘清林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202211040068.3A priority Critical patent/CN115407943A/zh
Publication of CN115407943A publication Critical patent/CN115407943A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

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

一种内存转储文件生成方法、装置、设备及可读存储介质
技术领域
本申请涉及计算机技术领域,特别涉及一种内存转储文件生成方法、装置、设备及可读存储介质。
背景技术
在存储***调试或运行过程中,如果主程序plmain发生异常,可以通过内存转储文件(dump)来分析定位异常原因。目前,随着主程序功能的不断扩充,程序异常时生成的内存转储文件也越来越大,而存储内存转储文件的空间是有限的,并且我们希望在主程序plmain发生异常时,能尽快通过内存转储文件分析定位异常原因。
因此,如何在有限的存储空间内快速存储内存转储文件,是本领域技术人员需要解决的问题。
发明内容
有鉴于此,本申请的目的在于提供一种内存转储文件生成方法、装置、设备及可读存储介质,以在有限的存储空间内快速存储内存转储文件,兼顾有限存储空间和文件生成效率。其具体方案如下:
第一方面,本申请提供了一种内存转储文件生成方法,包括:
若存储***主程序退出运行,则利用内存管理模块在***内存中查询具有落盘标记的内存页,将所述内存页中的数据确定为需转储数据;
若非易失存储器的当前剩余空间大于所述需转储数据的大小且所述非易失存储器中的内存转储文件均压缩存储,则创建存储有所述需转储数据的未压缩内存转储文件,并将所述未压缩内存转储文件写入所述非易失存储器;
若所述存储***主程序重新启动,则对所述非易失存储器中的所述未压缩内存转储文件进行压缩。
可选地,还包括:
若所述存储***主程序发生异常或接收到所述存储***主程序的内存转储文件生成指令,则控制所述存储***主程序退出运行。
可选地,所述利用内存管理模块在***内存中查询具有落盘标记的内存页,包括:
从内存管理模块获取内存页描述表;
根据所述内存页描述表在***内存中查询所述内存页。
可选地,所述创建存储有所述需转储数据的未压缩内存转储文件,包括:
对所述需转储数据进行校验,若校验通过,则将所述需转储数据写入空文件,得到所述未压缩内存转储文件。
可选地,还包括:
将是否压缩标记、dump类型、内存页个数、文件创建时间、校验信息和所述存储***主程序的组件信息记录至所述未压缩内存转储文件的文件头。
可选地,还包括:
若所述当前剩余空间不大于所述需转储数据的大小,则按照文件重要程度对所述非易失存储器中的已存文件执行删除操作;
若执行删除操作后,所述当前剩余空间仍不大于所述需转储数据的大小,则生成空间不足的提示消息。
可选地,还包括:
若所述当前剩余空间大于所述需转储数据的大小且所述非易失存储器中存在未被压缩的内存转储文件,则创建存储有所述需转储数据的压缩内存转储文件,并将所述压缩内存转储文件写入所述非易失存储器。
第二方面,本申请提供了一种内存转储文件生成装置,包括:
查询模块,用于若存储***主程序退出运行,则利用内存管理模块在***内存中查询具有落盘标记的内存页,将所述内存页中的数据确定为需转储数据;
写入模块,用于若非易失存储器的当前剩余空间大于所述需转储数据的大小且所述非易失存储器中的内存转储文件均压缩存储,则创建存储有所述需转储数据的未压缩内存转储文件,并将所述未压缩内存转储文件写入所述非易失存储器;
压缩模块,用于若所述存储***主程序重新启动,则对所述非易失存储器中的所述未压缩内存转储文件进行压缩。
可选地,还包括:
触发模块,用于若所述存储***主程序发生异常或接收到所述存储***主程序的内存转储文件生成指令,则控制所述存储***主程序退出运行。
可选地,所述查询模块具体用于:
从内存管理模块获取内存页描述表;
根据所述内存页描述表在***内存中查询所述内存页。
可选地,所述写入模块具体用于:
对所述需转储数据进行校验,若校验通过,则将所述需转储数据写入空文件,得到所述未压缩内存转储文件。
可选地,所述写入模块还用于:
将是否压缩标记、dump类型、内存页个数、文件创建时间、校验信息和所述存储***主程序的组件信息记录至所述未压缩内存转储文件的文件头。
可选地,还包括:
删除模块,用于若所述当前剩余空间不大于所述需转储数据的大小,则按照文件重要程度对所述非易失存储器中的已存文件执行删除操作;
告警模块,用于若执行删除操作后,所述当前剩余空间仍不大于所述需转储数据的大小,则生成空间不足的提示消息。
可选地,还包括:
压缩存储模块,用于若所述当前剩余空间大于所述需转储数据的大小且所述非易失存储器中存在未被压缩的内存转储文件,则创建存储有所述需转储数据的压缩内存转储文件,并将所述压缩内存转储文件写入所述非易失存储器。
第三方面,本申请提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的内存转储文件生成方法。
第四方面,本申请提供了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的内存转储文件生成方法。
通过以上方案可知,本申请提供了一种内存转储文件生成方法,包括:若存储***主程序退出运行,则利用内存管理模块在***内存中查询具有落盘标记的内存页,将所述内存页中的数据确定为需转储数据;若非易失存储器的当前剩余空间大于所述需转储数据的大小且所述非易失存储器中的内存转储文件均压缩存储,则创建存储有所述需转储数据的未压缩内存转储文件,并将所述未压缩内存转储文件写入所述非易失存储器;若所述存储***主程序重新启动,则对所述非易失存储器中的所述未压缩内存转储文件进行压缩。
可见,本申请在存储***主程序退出运行后,利用内存管理模块在***内存中查询具有落盘标记的内存页,以找到有关***主程序的内存数据,然后将内存页中的数据确定为需转储数据;并且在非易失存储器的当前剩余空间大于需转储数据的大小且非易失存储器中的内存转储文件均压缩存储时,创建存储有需转储数据的未压缩内存转储文件,并将未压缩内存转储文件写入非易失存储器,如此便可以保留不同时期产生的内存转储文件,并且还能节省非易失存储器的存储空间;待存储***主程序重新启动后,对非易失存储器中的未压缩内存转储文件进行压缩,以使各个时期产生的内存转储文件在非易失存储器中压缩存储,既能够节省空间,又能避免压缩操作降低文件生成效率。可见,本申请能够兼顾有限存储空间和文件生成效率得到内存转储文件,可以对存储***主程序的重启提供帮助,提升存储***主程序的恢复效率。
相应地,本申请提供的一种内存转储文件生成装置、设备及可读存储介质,也同样具有上述技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种内存转储文件生成方法流程图;
图2为本申请公开的一种dump文件生成装置示意图;
图3为本申请公开的另一种内存转储文件生成方法流程图;
图4为本申请公开的另一种内存转储文件生成装置示意图;
图5为本申请公开的一种电子设备示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,随着主程序功能的不断扩充,程序异常时生成的内存转储文件也越来越大,而存储内存转储文件的空间是有限的,并且我们希望在主程序plmain发生异常时,能尽快通过内存转储文件分析定位异常原因。为此,本申请提供了一种内存转储文件生成方案,能够在有限的存储空间内快速存储内存转储文件,可以对存储***主程序的重启提供帮助,提升存储***主程序的恢复效率。
参见图1所示,本申请实施例公开了一种内存转储文件生成方法,包括:
S101、若存储***主程序退出运行,则利用内存管理模块在***内存中查询具有落盘标记的内存页,将内存页中的数据确定为需转储数据。
需要说明的是,在存储***主程序初始化阶段,内存管理模块会给主程序中的各个组件分配相应内存。每次分配出一段内存,就会根据分配内存的用途,判断是否需要标记Harden(即:落盘标记)。当需要生成内存转储文件时,根据内存页是否Harden标记来确定相应内存页中的数据是否需要收集。其中,内存管理模块通过内存页描述表记录哪些内存页有Harden标记,哪些内存页没有Harden标记,因此在一种具体实施方式中,利用内存管理模块在***内存中查询具有落盘标记的内存页,包括:从内存管理模块获取内存页描述表;根据内存页描述表在***内存中查询具有落盘标记的内存页。
一般地,存储***主程序退出运行由存储***主程序发生异常触发或用户指令触发。因此在一种具体实施方式中,若存储***主程序发生异常或接收到存储***主程序的内存转储文件生成指令,则控制存储***主程序退出运行。
S102、若非易失存储器的当前剩余空间大于需转储数据的大小且非易失存储器中的内存转储文件均压缩存储,则创建存储有需转储数据的未压缩内存转储文件,并将未压缩内存转储文件写入非易失存储器。
在一种具体实施方式中,创建存储有需转储数据的未压缩内存转储文件,包括:对需转储数据进行校验,若校验通过,则将需转储数据写入空文件,得到未压缩内存转储文件。将是否压缩标记、dump类型、内存页个数、文件创建时间、校验信息和存储***主程序的组件信息记录至未压缩内存转储文件的文件头。其中,可以采用LRC运算校验需转储数据。其中,8个内存页构成一个iob(io buffer,io缓存),一个页大小为4k,一个iob是32k。因此也可以将iob个数记录至文件头。
S103、若存储***主程序重新启动,则对非易失存储器中的未压缩内存转储文件进行压缩。
在一种具体实施方式中,若当前剩余空间不大于需转储数据的大小,则表明非易失存储器的当前剩余空间太小,不足以存储需转储数据,因此按照文件重要程度对非易失存储器中的已存文件执行删除操作;若执行删除操作后,当前剩余空间仍不大于需转储数据的大小,则生成空间不足的提示消息,以便用户手动清理非易失存储器的存储空间。其中,为避免影响文件生成效率,可以限制删除操作的执行次数,例如:将删除操作的执行次数限制为1。其中,非易失存储器中的已存文件除了以前生成的内存转储文件,还可以包括其他文件(如日志文件)。其中,文件重要程度可以按照文件的创建日期确定,如:创建日期越早,则文件越不重要,故优先删除创建日期早的文件。当然,文件重要程度还可以按照文件的优先级确定,例如:优先删除优先级低的文件。
在一种具体实施方式中,若当前剩余空间大于需转储数据的大小且非易失存储器中存在未被压缩的内存转储文件,则表明:虽然非易失存储器的当前剩余空间足够存储需转储数据,但有可能存储完成需转储数据后,非易失存储器的剩余空间就不够了,因此创建存储有需转储数据的压缩内存转储文件,并将压缩内存转储文件写入非易失存储器,以节省非易失存储器的存储空间。其中,未被压缩的内存转储文件一般都比较大。
可见,本实施例在存储***主程序退出运行后,利用内存管理模块在***内存中查询具有落盘标记的内存页,以找到有关***主程序的内存数据,然后将内存页中的数据确定为需转储数据;并且在非易失存储器的当前剩余空间大于需转储数据的大小且非易失存储器中的内存转储文件均压缩存储时,创建存储有需转储数据的未压缩内存转储文件,并将未压缩内存转储文件写入非易失存储器,如此便可以保留不同时期产生的内存转储文件,并且还能节省非易失存储器的存储空间;待存储***主程序重新启动后,对非易失存储器中的未压缩内存转储文件进行压缩,以使各个时期产生的内存转储文件在非易失存储器中压缩存储,既能够节省空间,又能避免压缩操作降低文件生成效率。可见,本申请能够兼顾有限存储空间和文件生成效率得到内存转储文件,可以对存储***主程序的重启提供帮助,提升存储***主程序的恢复效率。
下述实施例提供了包括缓存单元、非易失性存储单元、触发单元、管理单元和压缩单元的dump文件生成装置,具体请参照图2。
其中,缓存单元是指:与CPU或MCU直接交换数据的内部存储器,具有读写速度快,断电数据丢失特点,可以是存储设备内存或者RAM。
非易失性存储单元指:掉电数据不会丢失、可以长期保存数据的模块,可以是存储设备的硬盘,如:固态硬盘SSD、机械硬盘HDD等。
触发单元用于触发dump文件的生成,一般在存储***主程序发生异常时触发或者用户通过命令手动触发。
管理单元在收到触发单元的指令时,将缓存单元中的数据通过压缩或非压缩方式保存到非易失性存储单元,或者将内存转储文件从非易失性存储单元恢复到缓存单元。
压缩单元用于对缓存单元里的数据或非易失性存储器中未压缩的数据进行压缩。
请参照图3,图2所示装置生成dump文件的逻辑示意如图3所示,具体包括以下步骤:
(1)管理单元启动,判断非易失存储单元中的未压缩内存转储文件的个数是否大于1个,大于1个时,管理单元依次对未压缩的内存转储文件进行压缩。
(2)管理单元通过触发单元循环监测存储***主程序plmain是否发生异常中断或者监测用户是否手动触发内存转储文件的生成,如果监测到主程序plmain异常中断或者监测到内存转储文件生成指令,则控制主程序plmain退出。
(3)管理单元通过内存管理模块获取主进程plmain需要转储的缓存单元内存页信息。
(4)管理单元根据需要转储的内存页信息计算当前需存储的dump文件大小,并判断非易失存储单元的剩余空间是否大于当前dump文件大小,如果空间小于dump文件大小,则按照文件重要性删除非易失存储单元里的一部分文件,并进入步骤(5);否则,表示非易失存储单元空间足够,进入步骤(6)。
(5)管理单元再次判断非易失存储单元的剩余空间是否大于dump文件大小,如果还是空间不足,则上报告警提示用户。
(6)管理单元判断非易失存储单元是否有未压缩的dump文件,如果有未压缩的dump文件,则本次控制生成压缩dump文件,并进入步骤(7);否则本次控制生成未压缩dump文件,并进入步骤(8)。
(7)创建压缩dump文件:将校验后的缓存单元内存页信息作为文件头,并对需要转储的内存页数据进行压缩得到压缩数据B,将压缩数据B写入文件,得到压缩dump文件。
(8)创建未压缩dump文件:将校验后的缓存单元内存页信息作为文件头,然后将需要转储的内存页数据直接写入到文件,写入完成后,得到未压缩dump文件。
(9)管理单元控制主程序plmain进程启动。主程序plmain进程启动后,判断非易失存储单元中是否有未压缩的dump文件,如果有,则通过进程间通信IPC方式通知主程序plmain对未压缩dump文件进行压缩,然后进入步骤(2),没有则直接进入步骤(2)。
可见,本实施例通过对内存信息进行压缩,能提高存储***内存转储效率,减少存储设备***硬盘空间占用。同时,还能有选择性的确定每次生成文件时是压缩还是不压缩,如此能够兼顾有限存储空间和文件生成效率,提升存储***主程序的恢复效率,为存储设备故障定位、研发人员分析解决问题提供有效支撑。
下面对本申请实施例提供的一种内存转储文件生成装置进行介绍,下文描述的一种内存转储文件生成装置与上文描述的一种内存转储文件生成方法可以相互参照。
参见图4所示,本申请实施例公开了一种内存转储文件生成装置,包括:
查询模块401,用于若存储***主程序退出运行,则利用内存管理模块在***内存中查询具有落盘标记的内存页,将内存页中的数据确定为需转储数据;
写入模块402,用于若非易失存储器的当前剩余空间大于需转储数据的大小且非易失存储器中的内存转储文件均压缩存储,则创建存储有需转储数据的未压缩内存转储文件,并将未压缩内存转储文件写入非易失存储器;
压缩模块403,用于若存储***主程序重新启动,则对非易失存储器中的未压缩内存转储文件进行压缩。
在一种具体实施方式中,还包括:
触发模块,用于若存储***主程序发生异常或接收到存储***主程序的内存转储文件生成指令,则控制存储***主程序退出运行。
在一种具体实施方式中,查询模块具体用于:
从内存管理模块获取内存页描述表;
根据内存页描述表在***内存中查询内存页。
在一种具体实施方式中,写入模块具体用于:
对需转储数据进行校验,若校验通过,则将需转储数据写入空文件,得到未压缩内存转储文件。
在一种具体实施方式中,写入模块还用于:
将是否压缩标记、dump类型、内存页个数、文件创建时间、校验信息和存储***主程序的组件信息记录至未压缩内存转储文件的文件头。
在一种具体实施方式中,还包括:
删除模块,用于若当前剩余空间不大于需转储数据的大小,则按照文件重要程度对非易失存储器中的已存文件执行删除操作;
告警模块,用于若执行删除操作后,当前剩余空间仍不大于需转储数据的大小,则生成空间不足的提示消息。
在一种具体实施方式中,还包括:
压缩存储模块,用于若当前剩余空间大于需转储数据的大小且非易失存储器中存在未被压缩的内存转储文件,则创建存储有需转储数据的压缩内存转储文件,并将压缩内存转储文件写入非易失存储器。
其中,关于本实施例中各个模块、单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本实施例提供了一种内存转储文件生成装置,能够兼顾有限存储空间和文件生成效率得到内存转储文件,可以对存储***主程序的重启提供帮助,提升存储***主程序的恢复效率。
下面对本申请实施例提供的一种电子设备进行介绍,下文描述的一种电子设备与上文描述的一种内存转储文件生成方法及装置可以相互参照。
参见图5所示,本申请实施例公开了一种电子设备,包括:
存储器501,用于保存计算机程序;
处理器502,用于执行所述计算机程序,以实现上述任意实施例公开的方法。
在本实施例中,所述处理器执行所述存储器中保存的计算机程序时,可以具体实现以下步骤:若存储***主程序退出运行,则利用内存管理模块在***内存中查询具有落盘标记的内存页,将内存页中的数据确定为需转储数据;若非易失存储器的当前剩余空间大于需转储数据的大小且非易失存储器中的内存转储文件均压缩存储,则创建存储有需转储数据的未压缩内存转储文件,并将未压缩内存转储文件写入非易失存储器;若存储***主程序重新启动,则对非易失存储器中的未压缩内存转储文件进行压缩。
在本实施例中,所述处理器执行所述存储器中保存的计算机程序时,可以具体实现以下步骤:若存储***主程序发生异常或接收到存储***主程序的内存转储文件生成指令,则控制存储***主程序退出运行。
在本实施例中,所述处理器执行所述存储器中保存的计算机程序时,可以具体实现以下步骤:从内存管理模块获取内存页描述表;根据内存页描述表在***内存中查询内存页。
在本实施例中,所述处理器执行所述存储器中保存的计算机程序时,可以具体实现以下步骤:对需转储数据进行校验,若校验通过,则将需转储数据写入空文件,得到未压缩内存转储文件。
在本实施例中,所述处理器执行所述存储器中保存的计算机程序时,可以具体实现以下步骤:将是否压缩标记、dump类型、内存页个数、文件创建时间、校验信息和存储***主程序的组件信息记录至未压缩内存转储文件的文件头。
在本实施例中,所述处理器执行所述存储器中保存的计算机程序时,可以具体实现以下步骤:若当前剩余空间不大于需转储数据的大小,则按照文件重要程度对非易失存储器中的已存文件执行删除操作;若执行删除操作后,当前剩余空间仍不大于需转储数据的大小,则生成空间不足的提示消息。
在本实施例中,所述处理器执行所述存储器中保存的计算机程序时,可以具体实现以下步骤:若当前剩余空间大于需转储数据的大小且非易失存储器中存在未被压缩的内存转储文件,则创建存储有需转储数据的压缩内存转储文件,并将压缩内存转储文件写入非易失存储器。
进一步的,本申请实施例还提供了一种服务器来作为上述电子设备。该服务器,具体可以包括:至少一个处理器、至少一个存储器、电源、通信接口、输入输出接口和通信总线。其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行,以实现前述任一实施例公开的内存转储文件生成方法中的相关步骤。
本实施例中,电源用于为服务器上的各硬件设备提供工作电压;通信接口能够为服务器创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作***、计算机程序及数据等,存储方式可以是短暂存储或者永久存储。
其中,操作***用于管理与控制服务器上的各硬件设备以及计算机程序,以实现处理器对存储器中数据的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序除了包括能够用于完成前述任一实施例公开的内存转储文件生成方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据除了可以包括虚拟机等数据外,还可以包括虚拟机的开发商信息等数据。
进一步的,本申请实施例还提供了一种终端来作为上述电子设备。该终端具体可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
通常,本实施例中的终端包括有:处理器和存储器。
其中,处理器可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器还可以包括AI(ArtificialIntelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器至少用于存储以下计算机程序,其中,该计算机程序被处理器加载并执行之后,能够实现前述任一实施例公开的由终端侧执行的内存转储文件生成方法中的相关步骤。另外,存储器所存储的资源还可以包括操作***和数据等,存储方式可以是短暂存储或者永久存储。其中,操作***可以包括Windows、Unix、Linux等。数据可以包括但不限于应用程序的更新信息。
在一些实施例中,终端还可包括有显示屏、输入输出接口、通信接口、传感器、电源以及通信总线。
下面对本申请实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种内存转储文件生成方法、装置及设备可以相互参照。
一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的内存转储文件生成方法。
在本实施例中,所述处理器执行的计算机程序,可以具体实现以下步骤:若存储***主程序退出运行,则利用内存管理模块在***内存中查询具有落盘标记的内存页,将内存页中的数据确定为需转储数据;若非易失存储器的当前剩余空间大于需转储数据的大小且非易失存储器中的内存转储文件均压缩存储,则创建存储有需转储数据的未压缩内存转储文件,并将未压缩内存转储文件写入非易失存储器;若存储***主程序重新启动,则对非易失存储器中的未压缩内存转储文件进行压缩。
在本实施例中,所述处理器执行的计算机程序,可以具体实现以下步骤:若存储***主程序发生异常或接收到存储***主程序的内存转储文件生成指令,则控制存储***主程序退出运行。
在本实施例中,所述处理器执行的计算机程序,可以具体实现以下步骤:从内存管理模块获取内存页描述表;根据内存页描述表在***内存中查询内存页。
在本实施例中,所述处理器执行的计算机程序,可以具体实现以下步骤:对需转储数据进行校验,若校验通过,则将需转储数据写入空文件,得到未压缩内存转储文件。
在本实施例中,所述处理器执行的计算机程序,可以具体实现以下步骤:将是否压缩标记、dump类型、内存页个数、文件创建时间、校验信息和存储***主程序的组件信息记录至未压缩内存转储文件的文件头。
在本实施例中,所述处理器执行的计算机程序,可以具体实现以下步骤:若当前剩余空间不大于需转储数据的大小,则按照文件重要程度对非易失存储器中的已存文件执行删除操作;若执行删除操作后,当前剩余空间仍不大于需转储数据的大小,则生成空间不足的提示消息。
在本实施例中,所述处理器执行的计算机程序,可以具体实现以下步骤:若当前剩余空间大于需转储数据的大小且非易失存储器中存在未被压缩的内存转储文件,则创建存储有需转储数据的压缩内存转储文件,并将压缩内存转储文件写入非易失存储器。
本申请涉及的“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法或设备固有的其它步骤或单元。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的可读存储介质中。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种内存转储文件生成方法,其特征在于,包括:
若存储***主程序退出运行,则利用内存管理模块在***内存中查询具有落盘标记的内存页,将所述内存页中的数据确定为需转储数据;
若非易失存储器的当前剩余空间大于所述需转储数据的大小且所述非易失存储器中的内存转储文件均压缩存储,则创建存储有所述需转储数据的未压缩内存转储文件,并将所述未压缩内存转储文件写入所述非易失存储器;
若所述存储***主程序重新启动,则对所述非易失存储器中的所述未压缩内存转储文件进行压缩。
2.根据权利要求1所述的方法,其特征在于,还包括:
若所述存储***主程序发生异常或接收到所述存储***主程序的内存转储文件生成指令,则控制所述存储***主程序退出运行。
3.根据权利要求1所述的方法,其特征在于,所述利用内存管理模块在***内存中查询具有落盘标记的内存页,包括:
从内存管理模块获取内存页描述表;
根据所述内存页描述表在***内存中查询所述内存页。
4.根据权利要求1所述的方法,其特征在于,所述创建存储有所述需转储数据的未压缩内存转储文件,包括:
对所述需转储数据进行校验,若校验通过,则将所述需转储数据写入空文件,得到所述未压缩内存转储文件。
5.根据权利要求4所述的方法,其特征在于,还包括:
将是否压缩标记、dump类型、内存页个数、文件创建时间、校验信息和所述存储***主程序的组件信息记录至所述未压缩内存转储文件的文件头。
6.根据权利要求1至5任意一项所述的方法,其特征在于,还包括:
若所述当前剩余空间不大于所述需转储数据的大小,则按照文件重要程度对所述非易失存储器中的已存文件执行删除操作;
若执行删除操作后,所述当前剩余空间仍不大于所述需转储数据的大小,则生成空间不足的提示消息。
7.根据权利要求1至5任意一项所述的方法,其特征在于,还包括:
若所述当前剩余空间大于所述需转储数据的大小且所述非易失存储器中存在未被压缩的内存转储文件,则创建存储有所述需转储数据的压缩内存转储文件,并将所述压缩内存转储文件写入所述非易失存储器。
8.一种内存转储文件生成装置,其特征在于,包括:
查询模块,用于若存储***主程序退出运行,则利用内存管理模块在***内存中查询具有落盘标记的内存页,将所述内存页中的数据确定为需转储数据;
写入模块,用于若非易失存储器的当前剩余空间大于所述需转储数据的大小且所述非易失存储器中的内存转储文件均压缩存储,则创建存储有所述需转储数据的未压缩内存转储文件,并将所述未压缩内存转储文件写入所述非易失存储器;
压缩模块,用于若所述存储***主程序重新启动,则对所述非易失存储器中的所述未压缩内存转储文件进行压缩。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的方法。
10.一种可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法。
CN202211040068.3A 2022-08-29 2022-08-29 一种内存转储文件生成方法、装置、设备及可读存储介质 Pending CN115407943A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211040068.3A CN115407943A (zh) 2022-08-29 2022-08-29 一种内存转储文件生成方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211040068.3A CN115407943A (zh) 2022-08-29 2022-08-29 一种内存转储文件生成方法、装置、设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN115407943A true CN115407943A (zh) 2022-11-29

Family

ID=84162683

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211040068.3A Pending CN115407943A (zh) 2022-08-29 2022-08-29 一种内存转储文件生成方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN115407943A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116302646A (zh) * 2023-02-24 2023-06-23 荣耀终端有限公司 一种故障定位方法、***、电子设备及存储介质
CN116661678A (zh) * 2022-12-28 2023-08-29 荣耀终端有限公司 数据转储方法及电子设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116661678A (zh) * 2022-12-28 2023-08-29 荣耀终端有限公司 数据转储方法及电子设备
CN116661678B (zh) * 2022-12-28 2024-04-19 荣耀终端有限公司 数据转储方法及电子设备
CN116302646A (zh) * 2023-02-24 2023-06-23 荣耀终端有限公司 一种故障定位方法、***、电子设备及存储介质
CN116302646B (zh) * 2023-02-24 2024-03-29 荣耀终端有限公司 一种故障定位方法、***、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN108874624B (zh) 服务器、监控Java进程的方法及存储介质
KR101636870B1 (ko) 최소 부트 이미지의 생성 방법 및 장치
CN115407943A (zh) 一种内存转储文件生成方法、装置、设备及可读存储介质
JP5211751B2 (ja) 計算機、ダンププログラムおよびダンプ方法
CN107403089B (zh) 基于应用程序的资源篡改识别方法和装置
CN109656885B (zh) 存储空间监控方法及装置、电子终端、存储介质
US10228993B2 (en) Data dump for a memory in a data processing system
CN110413432B (zh) 一种信息处理方法、电子设备及存储介质
CN110427258B (zh) 基于云平台的资源调度控制方法及装置
CN110704161B (zh) 虚拟机创建方法、装置及计算机设备
US9575827B2 (en) Memory management program, memory management method, and memory management device
CN115495025B (zh) 一种管理异常存储块的方法和装置
CN114546634B (zh) 对***的同步重启的管理
US9507657B2 (en) Investigation program, information processing apparatus, and information processing method
CN110221932B (zh) 计算机及其控制方法
US11487428B2 (en) Storage control apparatus and storage control method
CN117131014A (zh) 数据库迁移方法、装置、设备及存储介质
CN114328007B (zh) 一种容器备份还原方法、装置及其介质
CN113467698A (zh) 基于文件***的写方法、装置、计算机设备和存储介质
CN115373908A (zh) 一种数据存储方法及相关装置
CN111984618A (zh) 日志压缩方法和装置
CN111176571A (zh) 一种本地对象的管理方法、装置、设备及介质
CN111625192B (zh) 一种元数据对象访问方法、装置、设备以及介质
CN112257004B (zh) 备份页面的方法、装置、服务器及存储介质
CN114328380A (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