CN110858177A - 内存使用量监测方法及基板处理装置 - Google Patents

内存使用量监测方法及基板处理装置 Download PDF

Info

Publication number
CN110858177A
CN110858177A CN201910765558.1A CN201910765558A CN110858177A CN 110858177 A CN110858177 A CN 110858177A CN 201910765558 A CN201910765558 A CN 201910765558A CN 110858177 A CN110858177 A CN 110858177A
Authority
CN
China
Prior art keywords
memory
memory usage
leak
usage
memory leak
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
CN201910765558.1A
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.)
Semes Co Ltd
Original Assignee
Semes 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 Semes Co Ltd filed Critical Semes Co Ltd
Publication of CN110858177A publication Critical patent/CN110858177A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/366Software debugging using diagnostics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • 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/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • 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/0653Monitoring storage devices or 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Automation & Control Theory (AREA)
  • Debugging And Monitoring (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明涉及一种内存使用量监测方法及基板处理装置,本发明的内存使用量监测方法包括:内存使用量收集步骤,根据预设的收集周期,收集内存使用量;内存泄漏判断步骤,根据所收集的上述内存使用量,判断是否发生内存泄漏;以及警报处理步骤,根据对上述内存泄漏的判断结果,来生成设备警报,上述内存泄漏判断步骤包括:第一内存泄漏判断步骤,通过对上述内存使用量和预设临界值进行比较,来判断是否发生内存泄漏;以及第二内存泄漏判断步骤,在上述内存使用量未超过上述预设临界值的情况下,根据上述内存使用量的变化趋势,来判断是否发生内存泄漏。

Description

内存使用量监测方法及基板处理装置
技术领域
本发明涉及一种内存使用量监测方法及基板处理装置,更详细地,其目的在于,防止因存储器的使用超过允许值而导致设备停止驱动。
背景技术
在工厂内驱动的基板处理装置连续进行基板处理工序。由于基板处理装置连续进行基板处理工序,因此,基板处理装置的内部零件会发生劣化。在因内部零件劣化而导致基板处理装置停止驱动的情况下,作业人员应掌握基板处理装置停止驱动的原因并更换劣化零件或通过执行其他操作来消除基板处理装置停止驱动的原因。即,在基板处理装置产生硬件问题的情况下,作业人员可通过掌握其原因来消除其原因。
与此不同,配置于基板处理装置的主计算机有可能因不明原因而停止,或者基板处理装置驱动程序有可能因不明原因而结束。在主计算机停止或基板处理装置驱动程序结束的情况下,作业人员无法在主计算机中找到停止驱动的原因并消除原因。这是因为,即使作业人员是程序员,要想找到并分析出主计算机停止驱动的原因或基板处理装置驱动程序结束的原因也需要很长时间。由于不能长时间搁置重视生产率的基板处理装置,因此作业人员只能在主计算机上生成日志并连同主计算机一起,对设备进行重置。同时,在基板处理装置上正在进行工序处理的基板有可能被报废处理。即,在基板处理装置产生软件问题的情况下,作业人员既无法掌握其原因,也无法消除其原因。
另一方面,导致软件相关问题的原因之一为内存使用量超过了允许值。用于驱动基板处理装置的基板处理装置驱动程序在配置于基板处理装置的主计算机中执行。作业人员需要花费很多时间和精力来监测主计算机的内存使用量,以防止基板处理装置因内存使用量超过允许值而导致停止驱动。这是因为工厂内不是只有一台基板处理装置,而是有多台基板处理装置。
发明内容
本发明的目的在于,提供一种有效的内存使用量监测方法和基板处理装置,以防止因内存使用量超过允许值而导致设备停止驱动。
为了实现上述目的,本发明的内存使用量监测方法包括:根据预设的收集周期来收集内存使用量的步骤;根据所收集的上述内存使用量来判断是否发生内存泄漏的步骤;以及根据对上述内存泄漏的判断结果来生成设备警报的步骤,上述根据所收集的上述内存使用量来判断是否发生内存泄漏的步骤包括:通过对上述内存使用量和预设临界值进行比较来判断是否发生内存泄漏的步骤;以及在上述内存使用量未超过上述预设临界值的情况下根据上述内存使用量的变化趋势来判断是否发生内存泄漏的步骤。
本发明的特征在于,通过对上述内存使用量和预设临界值进行比较来判断是否发生内存泄漏的步骤为如下的步骤:在上述内存使用量超过上述预设临界值的情况下,判断为发生内存泄漏。
本发明的特征在于,上述内存使用量为所有应用程序的总内存使用量、上述应用程序各自的内存使用量中的至少一种。
本发明还包括将内存使用量积累并存储于存储器的步骤,根据上述内存使用量的变化趋势来判断是否发生内存泄漏的步骤包括如下的步骤:对于在每个上述收集周期内积累并存储的内存使用量判断在预设期间内内存使用量的最大值更新次数,在最大内存使用量的上述最大值更新次数在上述预设期间内超过临界更新次数的情况下,判断为发生内存泄漏。
本发明还包括在每个上述收集周期内将内存使用量积累并存储于存储器的步骤,根据上述内存使用量的变化趋势来判断是否发生内存泄漏的步骤包括如下的步骤:对于在每个上述收集周期内积累并存储的内存使用量判断在预设期间内是否更新内存使用量的最大值,在上述内存使用量的最大值更新在上述预设期间内连续发生的情况下,判断为发生内存泄漏。
本发明的特征在于,上述内存使用量为所有应用程序的总内存使用量、上述应用程序各自的内存使用量中的至少一种。
本发明的基板处理装置包括:内存使用量收集部,根据预设的收集周期,收集内存使用量;内存泄漏判断部,根据上述内存使用量,判断是否发生内存泄漏;以及设备警报发生部,根据对上述内存泄漏的判断结果,来生成设备警报,上述内存泄漏判断部通过对上述内存使用量和预设临界值进行比较来判断是否发生内存泄漏,在上述内存使用量未超过上述预设临界值的情况下,根据上述内存使用量的变化趋势,来判断是否发生内存泄漏。
本发明的特征在于,当上述内存泄漏判断部通过对上述内存使用量和预设临界值进行比较来判断是否发生内存泄漏时,在上述内存使用量超过上述预设临界值的情况下,判断为发生内存泄漏。
本发明的特征在于,上述内存使用量为所有应用程序的总内存使用量、上述应用程序各自的内存使用量中的至少一种。
本发明的特征在于,还包括积累并存储上述内存使用量的内存使用量存储部,当上述内存泄漏判断部根据上述内存使用量的变化趋势来判断是否发生内存泄漏时,对于在每个上述收集周期内积累并存储的内存使用量判断在预设期间内内存使用量的最大值更新次数,在最大内存使用量的上述最大值更新次数在上述预设期间内超过临界更新次数的情况下,判断为发生内存泄漏。
本发明的特征在于,还包括积累并存储上述内存使用量的内存使用量存储部,上述内存泄漏判断部对于在每个上述收集周期内积累并存储的内存使用量判断在预设期间内是否更新内存使用量的最大值,在上述内存使用量的最大值更新在上述预设期间内连续发生的情况下,判断为发生内存泄漏。
本发明的特征在于,上述内存使用量为所有应用程序的总内存使用量、上述应用程序各自的内存使用量中的至少一种。
根据本发明,可通过判断是否发生内存泄漏来事先防止基板处理装置停止驱动,从而可提高基板处理装置的生产率。
并且,根据本发明,在判断为存在内存泄漏的情况下,可通过警报来让使用人员事先知晓存在内存泄漏。
根据本发明,因为不需要使用人员直接进行判断是否发生内存泄漏所需的监测,所以可以节省监测内存使用量的人力、时间、成本等。
根据本发明,通过对所有应用程序的总内存使用量和每个应用程序的内存使用量判断是否发生内存泄漏,从而可以判断出应用程序中的哪个应用程序使用了超出允许值的存储器。
附图说明
图1为用于说明本发明实施例的内存使用量监测方法的流程图。
图2为示例性地表示本发明实施例的内存使用量监测方法的基于预设的收集周期收集并存储的内存使用量的图。
图3为本发明实施例的基板处理装置的简要结构图。
具体实施方式
参照附图,详细说明本发明。
图1为用于说明本发明实施例的内存使用量监测方法的流程图,图2为示例性地表示本发明实施例的内存使用量监测方法的基于预设的收集周期收集并存储的内存使用量的图。
参照图1,本发明实施例的内存使用量监测方法包括内存使用量收集步骤S100、内存使用量存储步骤S200、内存泄漏判断步骤S300以及警报处理步骤S400。
在内存使用量收集步骤S100中,根据预设的收集周期来收集内存使用量。所收集的内存使用量之后在内存泄漏判断步骤S300中成为内存泄漏判断对象。存储器可以包括虚拟存储器和物理存储器中的至少一个。
内存使用量可以是在基板处理装置中驱动的所有应用程序的总内存使用量。或者,内存使用量可以是每个应用程序的内存使用量或特定应用程序的内存使用量。并且,内存使用量可以是在基板处理装置中驱动的所有应用程序的总内存使用量以及每个应用程序的内存使用量。
获取至少一个应用程序的内存使用量的方法可以使用已知方法。例如,在NET框架(framework)环境中,可以使用PerformanceCounter Class来获取所有应用程序或每个应用程序的内存使用量。并且,在C/C++环境中,可以使用WIN32 API、性能数据处理程序(PDH,Performance Data Handler)、winmm.lib、psapi.lib等来获取所有应用程序或每个应用程序的内存使用量。
内存使用量的收集周期T为默认值或由使用人员进行设定,可由使用人员进行更新。另一方面,虽然根据收集周期执行收集内存使用量的工作,但未能收集内存使用量或在多个收集周期内未能收集内存使用量,在这种情况下,虽然未在图1中示出,但可以进行警报处理步骤S400。
在设备被重置或用于驱动设备的主计算机被重置的情况下,直到设备或主计算机启动为止,可以不收集所有应用程序或每个应用程序的内存使用量。而且,在设备被重置或用于驱动设备的主计算机被重置的情况下,可以收集内存使用量,但也可以不用于判断内存泄漏。
在内存使用量存储步骤S200中,存储根据收集周期T收集的内存使用量。通过在每个收集周期都存储内存使用量,来在内存泄漏判断步骤S300中成为判断内存泄漏的资料。
若收集到所有应用程序的总内存使用量,则可将所有应用程序的总内存使用量存储于存储器。所存储的内存使用量为所收集的内存使用量,并且可以是在基板处理装置驱动的所有应用程序的总内存使用量。或者,所存储的内存使用量可以是每个应用程序的内存使用量或特定应用程序的内存使用量。并且,所存储的内存使用量可以是在基板处理装置驱动的所有应用程序的总内存使用量,也可以是每个应用程序的内存使用量。
参见图2,所收集的所有应用程序的总内存使用量或每个应用程序的内存使用量都将存储于具有存储功能的存储库。例如,在t1、t1+T、t1+2T、t1+3T、t1+4T、t1+5T、t1+6T、t1+7T的情况下,所有应用程序的总内存使用量分别为60%、65%、62%、67%、72%、68%、63%、64%。
另一方面,若测量或存储的当前时刻为t1+5T、则可将t1视为比当前测量或存储时刻早5T的时刻。假设最近测量的时刻为t1+5T、则在t1、t1+T、t1+2T、t1+3T、t1+4T、t1+5T的情况下,所有应用程序的总内存使用量为分别为60%、65%、62%、67%、72%、68%。
并且,所有应用程序的总内存使用量或每个应用程序的内存使用量的最大值可在每个收集周期内都被掌握并可以选择性地存储。例如,当收集时刻或存储时刻为t1、t1+T、t1+2T、t1+3T、t1+4T、t1+5T、t1+6T、t1+7T的情况下,则所有应用程序的总内存使用量最大值分别为60%、65%、65%、67%、72%、72%、72%。
并且,在每个收集周期都掌握并存储所有应用程序或每个应用程序的内存使用量最大值的情况下,则所有应用程序或每个应用程序的最大使用量最大值更新与否每个收集周期都被掌握之后可以选择性地存储。
例如,若应用程序的内存使用量最大值被更新时,则将最大值更新与否存储为1,在应用程序的内存使用量最大值未更新的情况下,则将最大值更新与否存储为0。在收集时刻或存储时刻为t1、t1+T、t1+2T、t1+3T、t1+4T、t1+5T、t1+6T、t1+7T的情况下,则图2所示的所有应用程序的总内存使用量最大值更新与否,将分别存储为1、1、0、1、1、0、0、0。
具体观察而言,在测量时刻t1之前记录的所有应用程序的总内存使用量的最大值未到60%的情况下,在测量时刻为t1时,所有应用程序的总内存使用量的最大值更新为60%,因此将最大值更新与否存储为1。并且,在测量时刻为t1+T时,所有应用程序的总内存使用量的最大值更新为65%,因此将最大值更新与否存储为1。并且,在测量时刻为t1+2T时,所有应用程序的总内存使用量的最大值不被更新,因此将最大值更新与否存储为0。并且,在测量时刻为t1+3T时,所有应用程序的总内存使用量的最大值更新为67%,因此最大值更新与否存储为1。并且,在测量时刻为t1+4T时,所有应用程序的总内存使用量的最大值更新为72%,因此将最大值更新与否存储为1。并且,在测量时刻t1+5T、t1+6T、t1+7T时,所有应用程序的总内存使用量的最大值部不被更新,因此将最大值更新与否存储为0。
内存使用量的最大值及最大值更新与否可以作为在内存泄漏判断步骤S300中基于内存使用量变化趋势而进行判断时的资料。
如上所述,在内存使用量存储步骤S100中,对内存使用量、内存使用量最大值、内存使用量最大值更新与否的存储,可以对所有应用程序或每个应用程序或特定应用程序中至少一个而执行。与此不同,可以仅存储内存使用量。内存使用量存储步骤可以对所有应用程序或每个应用程序或特定应用程序中至少一个进行。
在内存泄漏判断步骤S300中,可基于内存使用量来判断是否发生内存泄漏,在判断为发生内存泄漏的情况下,将执行警报处理步骤S400,在判断为不存在内存泄漏的情况下,将进行内存使用量收集步骤S100。
内存泄漏判断步骤S300包括:第一内存泄漏判断步骤S310,通过对上述内存使用量和预设临界值进行比较,来判断是否发生内存泄漏;以及第二内存泄漏判断步骤S320,在内存使用量未超过预设临界值的情况下,根据内存使用量的变化趋势,来判断是否发生内存泄漏。
在第一内存泄漏判断步骤S310中,在所有应用程序的总内存使用量超过所有应用程序的预设临界值的情况下,可以判断为存在内存泄漏。
并且,在第一内存泄漏判断步骤S310中,在每个应用程序的内存使用量中的某一个超过每个应用程序的预设临界值的情况下,可以判断为存在内存泄漏。
并且,在第一内存泄漏判断步骤S310中,在所有应用程序的总内存使用量及每个应用程序的内存使用量中的一个超过每个应用程序的预设临界值情况下,可以判断为存在内存泄漏。
并且,在第一内存泄漏判断步骤S310中,在特定应用程序的内存使用量超过预设临界值的情况下,可以判断为存在内存泄漏。
并且,在第一内存泄漏判断步骤S310中,在所有应用程序的总内存使用量或每个应用程序的内存使用量中的一个超过所有应用程序的预设临界值或每个应用程序的预设临界值的情况下,可以判断为存在内存泄漏。
例如,假设所有应用程序的预设临界值为70%。若所有应用程序的总内存使用量超过临界值70%,则可以判断为所有应用程序存在内存泄漏。
临界值可以是所有应用程序的预设临界值或每个应用程序的预设临界值。而且,每个应用程序的预设临界值都可以互不相同。
参照图2,在测量时刻或存储时刻为t1至t1+3T时,所有应用程序的总内存使用量不超过临界值70%。然而,在t1+4T时,所有应用程序的总内存使用量将超过临界值70%。据此,在t1+4T时,对所有应用程序判断为存在内存泄漏,并且将进行警报处理步骤S400。
并且,例如,在对应用程序1设定的内存使用量临界值为7%的情况下,若所收集的应用程序1的内存使用量超过7%,则可以判断为应用程序存在内存泄漏现象,并且将进行警报处理步骤S400。对于应用程序1而言,在t1+5T时,判断为存在内存泄漏,并且将进行警报处理步骤S400。
另一方面,在判断所有应用程序及每个应用程序是否都存在内存泄漏的情况下,对所有应用程序及每个应用程序而言,若判断出存在任何一个内存泄漏,就会进行警报处理步骤S400。在此情况下,在内存使用量收集步骤S100及内存使用量存储步骤S200中,必须收集并存储所有对所有应用程序和每个应用程序的内存使用量。
另一方面,在判断所有应用程序或每个应用程序是否存在内存泄漏的情况下,在内存使用量收集步骤S100及内存使用量存储步骤S200中,应收集并存储对所有应用程序或特定应用程序的内存使用量。
预设临界值可以在初期设定,并且可以由使用人员设定或更新。
一个应用程序的内存使用量的临界值至少可以由一个以上的临界值构成。例如,对于所有应用程序预设的临界值可由65%的第一临界值、75%的第二临界值、85%的第三临界值构成。若所有应用程序的总内存使用量增加到50%、60%、70%、80%、90%,则可以基于各个临界值来以不同级别的警报发生警报。
可以基于包括虚拟存储器和物理存储器在内的存储器大小来设定应用程序的内存使用量的临界值。即,若应用程序的初始存储器大小为X,则临界值可以设定为X的倍数。
并且,应用程序的内存使用量临界值可以是根据在警报处理步骤S400中进行的警报处理来更新的内存使用量临界值。
在第一内存泄漏判断步骤S310中,若所有应用程序或每个应用程序判断为都存在内存泄漏,则进行基板处理装置的内存使用量监测步骤中的设备警报处理步骤S400,否则,将进行第二内存泄漏判断步骤S320。
在第二内存泄漏判断步骤S320中,将基于内存使用量的变化趋势来判断是否存在内存泄漏。在本发明示出了基于内存使用量最大值更新次数来判断内存使用量变化趋势的步骤,但并不限定于此。
在第一内存泄漏判断步骤S320中,若判断为所有应用程序及每个应用程序不存在内存泄漏,则进行第二内存泄漏判断步骤S320。
在内存使用量存储步骤S200中,内存使用量最大值更新与否被存储的情况下,在第二内存泄漏判断步骤S320中利用使用量最大值更新与否来判断所有应用程序或每个应用程序是否存在内存泄漏。
另一方面,在内存使用量存储步骤S200中,内存使用量最大值更新与否未存储的情况下,利用已存储的内存使用量来在第二内存泄漏判断步骤S320中判断内存使用量最大值更新与否,之后,判断是否存在内存泄漏。
在第二内存泄漏判断步骤S320中,若设定期间L1内内存使用量最大值更新次数超过临界次数N,则判断为所有应用程序或每个应用程序存在内存泄漏。
参照图2所示的例,如下说明第二内存泄漏判断步骤S320。
首先,假设应用程序1的预设临界值为10%,并且假设在第一内存泄漏判断步骤S310中判断为不存在内存泄漏。则在存储于存储器的应用程序1的内存使用量中,在收集时刻或存储时刻为t1、t1+T、t1+2T、t1+3T、t1+4T、t1+5T、t1+6T、t1+7T时,应用程序1的内存使用量最大值分别为5%、5%、6%、7%、7%、8%、8%、8%。
假设,在应用程序的内存使用量最大值被更新的情况下,最大值更新与否为1,在应用程序的内存使用量最大值未更新的情况下,最大值更新与否为0。而且,假设,在收集或测量时刻为t1时最大值未更新,则应用程序1的内存使用量最大值在收集时刻或存储时刻为t1、t1+T、t1+2T、t1+3T、t1+4T、t1+5T、t1+6T、t1+7T时,内存使用量最大值更新与否分别为0、0、1、1、0、1、0、0。
在设定时刻L1为4T且临界次数N为3的情况下,在测量时刻为t1+5T时,在设定时刻t1+T至t1+5T期间的内存使用量最大值更新次数为3,从而可以判断为存在内存泄漏。在此情况下,在当前收集时刻或测量时刻为t1+5T时,可以排除或包含收集时刻或存储时刻为t1+T时的最大值更新与否来进行判断。
可通过与上述方法不同的方法来进行第二内存泄漏判断步骤。即,在内存使用量最大值更新在设定期间L2内连续发生的情况下,可以判断为该应用程序中存在内存泄漏。
参照图2所示的例,如下说明通过另一种方法执行的第二内存泄漏判断步骤S320。
在存储于存储器的应用程序2的内存使用量中,在收集时刻或存储时刻为t1、t1+T、t1+2T、t1+3T、t1+4T、t1+5T、t1+6T、t1+7T时,应用程序2的内存使用量最大值分别为3%、4%、4%、5%、7%、8%、9%、10%。
假设,在应用程序2的内存使用量最大值被更新的情况下,最大值更新与否为1,在应用程序2的内存使用量最大值未更新的情况下,最大值更新与否为0。假设,在收集时刻或存储时刻为t1时最大值被更新,则在收集时刻或存储时刻为t1、t1+T、t1+2T、t1+3T、t1+4T、t1+5T、t1+6T、t1+7T时,应用程序2的内存使用量最大值的内存使用量最大值更新与否分别为1、1、0、1、1、1、1、1。
假设,设定期间L2为4T,则在收集时刻或存储时刻为t1+6T时,在设定期间t1+3T至t1+6T期间连续发生内存使用量的最大值更新,从而可以判断存在内存泄漏。
另一方面,临界值还可以应用于第二内存泄漏判断步骤。仅在应用程序的内存使用量高于应用于第二内存泄漏判断步骤S320中的临界值的情况下,可以基于内存使用量变化趋势来执行第二内存泄漏判断步骤S320。在第二内存泄漏判断步骤S320中使用的临界值小于在第一内存泄漏判断步骤S310中所使用的临界值。
与此不同地,还可以利用设定期间L3内的内存使用量的差分值。
另一方面,当重置基板处理装置或用于驱动基板处理装置的主计算机时,可以一同重置内存使用量最大值。也可以由使用人员重置内存使用量最大值。
在警报处理步骤S400中,基于在内存泄漏判断步骤S300中的对内存泄漏的判断结果来发生设备警报。
即,可向使用人员发送设备警报器和将发生内存泄漏的应用程序的名称、发生内存泄漏的应用程序的内存使用量包含在内的信息。
若在警报处理步骤中S500发生警报,则进行内存使用量收集步骤S100。其理由是,判断内存泄漏是为了防止出现内存的使用超过允许值,因此,基板处理装置的驱动不被停止。并且,即使发生警报以后,也有必要收集内存使用量并判断是否发生内存泄漏,因此应进行内存使用量收集步骤S100。
若在警报处理步骤S500中发生警报,则不进行内存使用量收集步骤S100,内存使用量监测步骤可以由使用人员终止或可以通过初始设置来终止。
另一方面,在警报处理步骤S500中,可以基于对基板处理装置实施的措施来更新将用于判断内存使用量泄漏的临界值、设定期间L1及L2、临界次数N等包括在内的参数。
根据本发明的另一内存使用量监测方法,收集所有应用程序、每个应用程序、特定应用程序中至少一种的内存使用量,并且存储所收集的内存使用量,基于所存储的内存使用量来判断是否存在内存泄漏,基于内存泄漏判断结果来处理警报。
以下,对基板处理装置进行说明。
图3为示出本发明实施例的基板处理装置的图。
利用内存使用量监测方法的基板处理装置10包括内存使用量收集部100,内存使用量存储部200,内存泄漏判断部300,警报处理部400。
内存使用量收集部100执行内存使用量收集步骤S100,即,根据预设的收集周期,收集基板处理装置10的内存使用量。
内存使用量存储部200执行内存使用量存储步骤S200,即,积累并存储内存使用量。
内存泄漏判断部300执行内存泄漏判断步骤S300,即,根据内存使用量,判断是否发生内存泄漏。即,内存泄漏判断部300对内存使用量与预设临界值进行大小比较,从而判断是否发生内存泄漏,在上述内存使用量未超过上述预设临界值的情况下,基于上述内存使用量的变化趋势来判断是否发生内存泄漏。
警报处理部400执行警报处理步骤S400,即,根据对内存泄漏的判断结果,来生成设备警报。
另一方面,这种内存使用量监测步骤可以在配置于基板处理装置的主计算机或独立的计算机中执行。
各个结构的具体内容与在内存使用量监测方法中所述的上述内容相同,因此将省略对其的说明。
根据本发明,可通过判断是否发生内存泄漏来事先防止基板处理装置停止驱动,从而可提高基板处理装置的生产率。
并且,根据本发明,在判断为存在内存泄漏的情况下,可通过警报来让使用人员提前认识到存在内存泄漏。
根据本发明,由于不需要使用人员直接进行判断是否发生内存泄漏所需的监测,所以可以节省监测内存使用量的人力、时间、成本等。
根据本发明,通过对所有应用程序的总内存使用量和每个应用程序的内存使用量判断是否发生内存泄漏,从而可以判断出应用程序中的哪个应用程序使用了超出允许值的存储器。
以上,参照附图对本发明的实施例进行了更详细的说明,但本发明并不限定于这些实施例,可在不超出本发明的技术思想的范围内通过多种变形来实施本发明。因此,本发明中的实施例用于对本发明进行说明,而不是限定本发明,本发明的范围并不限定于这种实施例。因此,应理解的是,以上记述的实施例在所有层面都属于例示性的,而不是限定性的。本发明的保护范围应根据发明要求保护范围来解释,与之等同范围内的所有技术思想应解释为属于本发明的权利范围。

Claims (10)

1.一种内存使用量监测方法,其特征在于,
包括:
内存使用量收集步骤,根据预设的收集周期,收集内存使用量;
内存泄漏判断步骤,根据所收集的上述内存使用量,判断是否发生内存泄漏;以及
警报处理步骤,根据对上述内存泄漏的判断结果,来生成设备警报,
上述内存泄漏判断步骤包括:
第一内存泄漏判断步骤,通过对上述内存使用量和预设临界值进行比较,来判断是否发生内存泄漏;以及
第二内存泄漏判断步骤,在上述内存使用量未超过上述预设临界值的情况下,根据上述内存使用量的变化趋势,来判断是否发生内存泄漏。
2.根据权利要求1所述的内存使用量监测方法,其特征在于,在上述第一内存泄漏判断步骤中,在上述内存使用量超过上述预设临界值的情况下,判断为发生内存泄漏。
3.根据权利要求2所述的内存使用量监测方法,其特征在于,上述内存使用量为所有应用程序的总内存使用量、上述应用程序各自的内存使用量中的至少一种。
4.根据权利要求1所述的内存使用量监测方法,其特征在于,
还包括存储步骤,在上述存储步骤中,将所收集的上述内存使用量存储于存储器,
上述第二内存泄漏判断步骤包括如下的步骤:
对于在每个上述收集周期存储的内存使用量判断在预设期间内内存使用量的最大值更新次数,
在最大内存使用量的上述最大值更新次数在上述预设期间内超过临界更新次数的情况下,判断为发生内存泄漏。
5.根据权利要求1所述的内存使用量监测方法,其特征在于,
还包括存储步骤,在上述存储步骤中,将在每个上述收集周期内所收集的内存使用量存储于存储器,
上述第二内存泄漏判断步骤包括如下的步骤:对于在每个上述收集周期存储的内存使用量判断在预设期间内是否更新内存使用量的最大值,在上述内存使用量的最大值更新在上述预设期间内连续发生的情况下,判断为发生内存泄漏。
6.根据权利要求4或5中任一项所述的内存使用量监测方法,其特征在于,上述内存使用量为所有应用程序的总内存使用量、上述应用程序各自的内存使用量中的至少一种。
7.一种基板处理装置,其特征在于,
包括:
内存使用量收集部,根据预设的收集周期,收集内存使用量;
内存泄漏判断部,根据上述内存使用量,判断是否发生内存泄漏;以及
设备警报发生部,根据对上述内存泄漏的判断结果,来生成设备警报,
上述内存泄漏判断部通过对上述内存使用量和预设临界值进行比较来判断是否发生内存泄漏,在上述内存使用量未超过上述预设临界值的情况下,根据上述内存使用量的变化趋势,来判断是否发生内存泄漏。
8.根据权利要求7所述的基板处理装置,其特征在于,当上述内存泄漏判断部通过对上述内存使用量和预设临界值进行比较来判断是否发生内存泄漏时,在上述内存使用量超过上述预设临界值的情况下,判断为发生内存泄漏。
9.根据权利要求8所述的基板处理装置,其特征在于,上述内存使用量为所有应用程序的总内存使用量、上述应用程序各自的内存使用量中的至少一种。
10.根据权利要求7所述的基板处理装置,其特征在于,
还包括积累并存储上述内存使用量的内存使用量存储部,
当上述内存泄漏判断部根据上述内存使用量的变化趋势来判断是否发生内存泄漏时,对于在每个上述收集周期内积累并存储的内存使用量判断在预设期间内内存使用量的最大值更新次数,在最大内存使用量的上述最大值更新次数在上述预设期间内超过临界更新次数的情况下,判断为发生内存泄漏。
CN201910765558.1A 2018-08-23 2019-08-19 内存使用量监测方法及基板处理装置 Pending CN110858177A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0098541 2018-08-23
KR1020180098541A KR102148736B1 (ko) 2018-08-23 2018-08-23 메모리 사용량 모니터링 방법 및 기판처리장치

Publications (1)

Publication Number Publication Date
CN110858177A true CN110858177A (zh) 2020-03-03

Family

ID=69586193

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910765558.1A Pending CN110858177A (zh) 2018-08-23 2019-08-19 内存使用量监测方法及基板处理装置

Country Status (3)

Country Link
US (1) US20200065008A1 (zh)
KR (1) KR102148736B1 (zh)
CN (1) CN110858177A (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111766848B (zh) * 2020-06-29 2021-09-10 北京广利核系统工程有限公司 仪控系统中子系统的拒动率验证方法和装置
CN112181830B (zh) * 2020-09-28 2022-08-09 厦门美柚股份有限公司 内存泄露的检测方法、装置、终端及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011233075A (ja) * 2010-04-30 2011-11-17 Nec System Technologies Ltd 資源解放漏れ判定装置、メモリリーク判定装置、資源解放漏れ判定方法およびプログラム
US20160070633A1 (en) * 2014-09-09 2016-03-10 Microsoft Corporation Memory leak analysis by usage trends correlation

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7765528B2 (en) * 2005-09-21 2010-07-27 Hewlett-Packard Development Company, L.P. Identifying sources of memory retention
KR20130020136A (ko) * 2011-08-19 2013-02-27 인크로스 주식회사 실시간 메모리 누수 확인 시스템 및 그를 이용한 실시간 메모리 누수 확인 방법
KR101323220B1 (ko) * 2012-07-27 2013-11-04 부산대학교 산학협력단 메모리 누수 탐지 장치 및 방법, 그리고 컴퓨터로 읽을 수 있는 기록매체
KR101494328B1 (ko) * 2013-06-28 2015-02-23 부산대학교 산학협력단 힙 분석을 이용한 메모리 누수 탐지 장치 및 방법
KR102010264B1 (ko) * 2016-10-10 2019-08-13 세메스 주식회사 기판 처리 장치, 그리고 이의 공정 유체 모니터링 장치 및 모니터링 방법
US10565104B2 (en) * 2017-08-01 2020-02-18 International Business Machines Corporation System and method to manage and share managed runtime memory for JAVA virtual machine
US10579551B2 (en) * 2017-12-27 2020-03-03 Intel Corporation Memory pressure notifier

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011233075A (ja) * 2010-04-30 2011-11-17 Nec System Technologies Ltd 資源解放漏れ判定装置、メモリリーク判定装置、資源解放漏れ判定方法およびプログラム
US20160070633A1 (en) * 2014-09-09 2016-03-10 Microsoft Corporation Memory leak analysis by usage trends correlation

Also Published As

Publication number Publication date
KR20200022663A (ko) 2020-03-04
KR102148736B1 (ko) 2020-10-14
US20200065008A1 (en) 2020-02-27

Similar Documents

Publication Publication Date Title
US8930757B2 (en) Operations management apparatus, operations management method and program
US8555296B2 (en) Software application action monitoring
US9846601B2 (en) Method and apparatuses for determining a leak of resource and predicting usage of resource
US20170178015A1 (en) Maintenance timing prediction system and maintenance timing prediction device
US20050102426A1 (en) Methods, systems and computer program products for developing resource monitoring systems from observational data
CN110858177A (zh) 内存使用量监测方法及基板处理装置
US10254743B2 (en) Numerical control apparatus and logging method
JPWO2015022890A1 (ja) ソフトウェアエージングテストシステム、ソフトウェアエージングテスト方法及びソフトウェアエージングテスト用プログラム
CA2741982A1 (en) Apparatus and method for monitoring a computer system
CN111103851A (zh) 基于联合历史和时间序列分析的异常表征的系统和方法
CN111581005A (zh) 终端修复方法、终端和存储介质
JP2011170518A (ja) 状態監視装置及び方法
CN113704698B (zh) 一种非介入式负荷辨识的事件检测方法及系统
JP2004145536A (ja) 管理システム
CN111159051B (zh) 死锁检测方法、装置、电子设备及可读存储介质
CN112035322A (zh) Jvm监控方法及装置
CN112100067A (zh) 一种基于回归分析的测试方法、系统及存储介质
US20150248339A1 (en) System and method for analyzing a storage system for performance problems using parametric data
CN115204617A (zh) 一种电网作业计划处理方法、装置、设备及存储介质
US10936469B2 (en) Software component verification using random selection on pooled devices
JP2001014189A (ja) 処理能力測定装置および処理能力測定方法
US20090049340A1 (en) System analysis device and computer readable storage medium storing system analysis program
CN114564369B (zh) 应用程序的异常监测方法、装置、电子设备及存储介质
CN111857689A (zh) 一种框架、框架的功能配置方法、终端及存储介质
EP3032422B1 (en) Monitoring method and computer device

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: 20200303