KR20220055945A - 메모리 누수 검출 장치 및 방법 - Google Patents

메모리 누수 검출 장치 및 방법 Download PDF

Info

Publication number
KR20220055945A
KR20220055945A KR1020200140554A KR20200140554A KR20220055945A KR 20220055945 A KR20220055945 A KR 20220055945A KR 1020200140554 A KR1020200140554 A KR 1020200140554A KR 20200140554 A KR20200140554 A KR 20200140554A KR 20220055945 A KR20220055945 A KR 20220055945A
Authority
KR
South Korea
Prior art keywords
memory
memory usage
program
average
usage
Prior art date
Application number
KR1020200140554A
Other languages
English (en)
Inventor
유혜원
이평화
Original Assignee
현대자동차주식회사
기아 주식회사
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 현대자동차주식회사, 기아 주식회사 filed Critical 현대자동차주식회사
Priority to KR1020200140554A priority Critical patent/KR20220055945A/ko
Publication of KR20220055945A publication Critical patent/KR20220055945A/ko

Links

Images

Classifications

    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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

Landscapes

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

Abstract

본 발명의 일 실시예에 따른 메모리 누수 검출 장치는 프로그램 동작이 할당되는 메모리가 포함되는 저장부 및 상기 프로그램 동작에 요구되는 메모리의 사용을 모니터링하여 상기 프로그램의 메모리 평균 사용량을 산출하고, 상기 메모리 평균 사용량과 미리 설정된 임계값을 비교하고, 비교 결과에 따라 메모리 누수 여부를 판단하는 제어부를 포함하여, 메모리 누수를 빠르게 검출하고 시스템 부하를 줄일 수 있다.

Description

메모리 누수 검출 장치 및 방법{APPARATUS AND METHOD FOR DETECTING LEAKAGE OF MEMORY}
본 발명은 메모리 누수 검출 장치 및 방법에 관한 것이다.
최근 차량 내 구비된 장치들은 적어도 하나 이상의 프로그램들에 의해 동작이 제어된다. 프로그램이 동작하기 위해서는 메모리를 할당받게 되며, 프로그램 동작이 종료되면 할당된 메모리는 해제되어 시스템으로 반환된다. 그러나, 프로그램이 종료되어도 메모리가 반환되지 않고 할당된 상태로 유지되는 경우 메모리가 낭비되어 실제로 메모리를 요구하는 다른 프로그램들이 동작할 수 없는 문제가 발생한다. 이와 같이, 프로그램이 필요하지 않은 메모리를 계속 점유하고 있는 현상을 메모리 누수라고 한다.
이러한 메모리 누수는 사용자가 작동시키기 원하는 차량 내 장치가 있는 경우, 차량 내 장치를 작동시키기 위한 프로그램의 정상 동작을 방해하여, 사용자의 불편함을 유발하는 한계가 있다.
본 발명의 일 목적은 메모리 누수를 빠르게 검출할 수 있는 메모리 누수 검출 장치 및 방법을 제공하는데 있다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재들로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 다른 메모리 누수 검출 장치는 프로그램 동작이 할당되는 메모리가 포함되는 저장부, 및 상기 프로그램 동작에 요구되는 메모리의 사용을 모니터링하여 상기 프로그램의 메모리 평균 사용량을 산출하고, 상기 메모리 평균 사용량과 미리 설정된 임계값을 비교하고, 비교 결과에 따라 메모리 누수 여부를 판단하는 제어부를 포함할 수 있다.
상기 제어부는 차량 시동 시 정차 상태에서 프로그램 동작에 요구되는 최소 메모리 사용량 및 상기 차량 주행 시 프로그램 동작에 요구되는 최대 메모리 사용량에 기초하여 상기 임계값을 설정할 수 있다.
상기 제어부는 상기 최소 메모리 사용량의 절반값과 상기 최대 메모리 사용량의 합을 상기 임계값으로 설정할 수 있다.
상기 제어부는 소정 개수 이상의 소프트웨어의 버전 별로 상기 프로그램 동작에 요구되는 메모리의 사용량을 모니터링하여, 상기 메모리 평균 사용량을 산출할 수 있다.
상기 제어부는 상기 메모리 평균 사용량이 상기 미리 설정된 임계값을 초과하는 경우, 메모리 누수로 판단할 수 있다.
상기 제어부는 적어도 하나 이상의 프로그램이 동시에 동작되는 경우, 소정 개수 이상의 소프트웨어 버전 별로 메모리 사용량을 모니터링하고, 상기 적어도 하나 이상의 프로그램 중 소정 프로그램들이 동작에 요구되는 최소 메모리 사용량과 상기 소정 프로그램들이 동작에 요구되는 최대 메모리 사용량의 평균값에 기초하여 상기 적어도 하나 이상의 프로그램의 메모리 평균 사용량을 산출할 수 있다.
상기 제어부는 상기 적어도 하나 이상의 프로그램의 상기 메모리 평균 사용량을 저장하고 학습할 수 있다.
상기 제어부는 상기 적어도 하나 이상의 프로그램의 상기 메모리 평균 사용량과, 상기 메모리 평균 사용량과 미리 설정된 임계값을 비교하고, 비교 결과에 따라 메모리 누수 여부를 판단할 수 있다.
상기 제어부는 차량 시동 시 정차 상태에서 상기 적어도 하나 이상의 프로그램의 동작에 요구되는 최소 메모리 사용량의 평균값으로 산출된 제1 메모리 사용량 및 상기 차량 주행 상태에서 상기 적어도 하나 이상의 프로그램의 동작에 요구되는 최대 메모리 사용량의 평균값으로 산출된 제2 메모리 사용량에 기초하여 상기 임계값을 설정할 수 있다.
상기 제어부는 상기 제1 메모리 사용량의 절반값과 상기 제2 메모리 사용량의 합을 상기 임계값으로 설정할 수 있다.
본 발명의 일 실시예에 따른 메모리 누수 검출 방법은 프로그램 동작에 요구되는 메모리의 사용을 모니터링하여 메모리 평균 사용량을 산출하는 단계, 및 상기 메모리 평균 사용량과 미리 설정된 임계값을 비교하고, 비교 결과에 따라 메모리 누수 여부를 판단하는 단계를 포함할 수 있다.
상기 임계값은 차량 시동 시 정차 상태에서 프로그램 동작에 요구되는 최소 메모리 사용량 및 상기 차량 주행 시 프로그램 동작에 요구되는 최대 메모리 사용량에 기초하여 설정할 수 있다.
상기 임계값은 상기 최소 메모리 사용량의 절반값과 상기 최대 메모리 사용량의 합으로 설정할 수 있다.
소정 개수 이상의 소프트웨어의 버전 별로 상기 프로그램 동작에 요구되는 메모리의 사용량을 모니터링하여, 상기 메모리 평균 사용량을 산출할 수 있다.
상기 메모리 평균 사용량이 상기 미리 설정된 임계값을 초과하는 경우, 메모리 누수로 판단할 수 있다.
적어도 하나 이상의 프로그램이 동시에 동작되는 경우, 소정 개수 이상의 소프트웨어 버전 별로 메모리 사용량을 모니터링하고, 상기 적어도 하나 이상의 프로그램 중 소정 프로그램들이 동작에 요구되는 최소 메모리 사용량과 상기 소정 프로그램들이 동작에 요구되는 최대 메모리 사용량의 평균값에 기초하여 상기 적어도 하나 이상의 프로그램의 메모리 평균 사용량을 산출할 수 있다.
상기 적어도 하나 이상의 프로그램의 상기 메모리 평균 사용량을 저장하고 학습할 수 있다.
상기 적어도 하나 이상의 프로그램의 상기 메모리 평균 사용량과, 상기 메모리 평균 사용량과 미리 설정된 임계값을 비교하고, 비교 결과에 따라 메모리 누수 여부를 판단할 수 있다.
차량 시동 시 정차 상태에서 상기 적어도 하나 이상의 프로그램의 동작에 요구되는 최소 메모리 사용량의 평균값으로 산출된 제1 메모리 사용량 및 상기 차량 주행 상태에서 상기 적어도 하나 이상의 프로그램의 동작에 요구되는 최대 메모리 사용량의 평균값으로 산출된 제2 메모리 사용량에 기초하여 상기 임계값을 설정할 수 있다.
상기 임계값은 상기 제1 메모리 사용량의 절반값과 상기 제2 메모리 사용량의 합으로 설정할 수 있다.
본 발명의 일 실시예에 따른 메모리 누수 검출 장치 및 방법은 메모리 누수가 발생한 시점에 메모리 누수를 빠르게 검출하여, 시스템 부하를 줄일 수 있다.
도 1은 본 발명의 일 실시예에 따른 메모리 누수 검출 장치의 구성을 나타낸 구성도이다.
도 2는 본 발명의 일 실시예에 따른 메모리 누수 검출 방법의 순서도를 나타낸 도면이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 실시예에 대한 이해를 방해한다고 판단되는 경우에는 그 상세한 설명은 생략한다.
본 발명의 실시예의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 또한, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 일 실시예에 따른 메모리 누수 검출 장치의 구성을 나타낸 구성도이다.
도 1에 도시된 바와 같이, 본 발명의 메모리 누수 검출 장치(100)는 저장부(110) 및 제어부(120)를 포함할 수 있다.
저장부(110)는 본 발명의 일 실시예에 따른 메모리 누수를 검출 장치의 전반적인 동작을 실행하는 알고리즘을 저장할 수 있다. 또한, 저장부(110)는 차량에 구비된 장치의 동작을 제어하기 위한 적어도 하나 이상의 프로그램과, 프로그램 동작시 할당되는 메모리를 포함할 수 있다. 이를 위하여, 본 발명의 실시예에 따르면, 저장부(110)는 플래시 메모리(flash memory), 하드디스크(hard disc), 메모리 카드, 롬(ROM: Read-Only Memory), 램(RAM: Random Access Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광 디스크 중 적어도 하나의 저장 매체를 포함할 수 있다.
제어부(120)는 각종 명령의 연산이나 실행을 수행 가능한 반도체 칩 등을 내장한 마이크로 프로세서(microprocessor) 등의 다양한 처리 장치에 의해 구현될 수 있으며, 본 발명의 일 실시예에 따른 메모리 누수 검출 장치의 동작을 제어할 수 있다. 구체적으로, 제어부(120)는 프로그램이 구동되는 소프트웨어의 버전 별로 메모리 사용량을 모니터링하여, 프로그램의 메모리 평균 사용량을 산출하고, 메모리 평균 사용량과 미리 설정된 임계값을 비교하고, 비교 결과에 따라 메모리 누수 여부를 판단할 수 있다.
내비게이션 동작 시 새로운 지도 데이터를 읽기 위하여 메모리를 추가로 사용할 수 있으며, 더 이상 필요하지 않은 지도 데이터는 삭제하여 메모리 사용을 중단할 수 있다. 따라서 프로그램이 동작하는데 메모리의 사용량은 변화되며, 따라서 제어부(120)는 소프트웨어의 최근 3개의 버전에서 구동된 프로그램의 메모리 사용량을 모니터링하고, 이를 기반으로 프로그램의 메모리 평균 사용량을 산출할 수 있다. 본 발명의 실시예에 따르면, 제어부(120)는 메모리 사용량을 모니터링하는데 발생되는 부하를 최소화하기 위해, 소정 시간 단위(예, 10초) 단위로 메모리 사용량을 모니터링 할 수 있다.
또한, 제어부(120)는 차량 시동 시 정차 상태에서 프로그램의 구동에 요구되는 최소 메모리 사용량 및 차량 주행 시 프로그램의 구동에 요구되는 최대 메모리 사용량에 기초하여 임계값을 설정할 수 있다.
일 예로, 제어부(120)는 차량 시동 시 정차 상태에서 프로그램 동작에 요구되는 최소 메모리 사용량(표 1)과, 차량 주행 시 프로그램 동작에 요구되는 최대 메모리 사용량(표 2)을 기반으로 계산식 1을 이용하여 임계값을 설정할 수 있다.
프로그램 최소 메모리 사용량
내비게이션 서비스 400MB
블루투스 서비스 32MB
미디어 서비스 91MB
라디오 서비스 113MB
프로그램 최대 메모리 사용량
내비게이션 서비스 497MB
블루투스 서비스 236MB
미디어 서비스 107MB
라디오 서비스 113MB
<계산식 1>
임계값 = (최소 메모리 사용량/2)+ 최대 메모리 사용량
(최소 메모리 사용량: 부팅이 끝난 시점의 초기 메모리 사용량(차량 시동 시 프로그램 동작에 요구되는 메모리 사용량), 최대 메모리 사용량: 차량 주행 시 프로그램 동작에 요구되는 메모리 사용량)
제어부(120)는 프로그램 동작 시 요구되는 메모리의 평균 사용량이 계산식 1에 의해 산출된 임계값을 초과하는 경우, 메모리 누수로 판단할 수 있다. 아울러, 제어부(120)는 메모리 누수가 판단되면, 메모리 사용 패턴을 로깅(기록 및 저장)할 수 있다. 즉, 제어부(120)는 프로그램이 동작하는데 사용된 메모리가 프로그램 동작 완료 이후에도 해제되지 않아, 메모리 누수가 발생되는 경우, 어떤 프로그램을 동작시키기 위해 메모리가 할당되었고, 할당된 이후에 반환되지 않았는지 프로그램의 사용 패턴을 로깅할 수 있다. 아울러, 제어부(120)는 프로그램 단위로 메모리 누수 여부를 판단하여, 함수단위 메모리 누수리포트를 생성할 수 있다. 여기서, 함수는 메모리가 할당된 프로그램을 포함할 수 있다.
본 발명의 일 실시예에 따르면, 제어부(120)는 적어도 하나 이상의 프로그램이 동시에 동작되는 경우, 소정 개수 이상의 소프트웨어 버전 별로 메모리 사용량을 모니터링할 수 있다. 아울러, 제어부(120)는 적어도 하나 이상의 프로그램 중 소정 프로그램들이 동작하는데 요구되는 최소 메모리 사용량과 소정 프로그램들이 동작하는데 요구되는 최대 메모리 사용량의 평균값에 기초하여 적어도 하나 이상의 프로그램의 메모리 평균 사용량을 산출할 수 있다. 실시예에 따르면, 제어부(120)는 최근 5개 내지 10개의 소프트웨어 버전 별로, 메모리 사용량을 모니터링할 수 있다. 본 발명의 실시예에 따라 적어도 하나 이상의 프로그램이 동작하는 경우는 표 3과 같이 나타낼 수 있다.
실시예 프로그램 동작
1 내비게이션+블루투스+미디어/라디오/DMB 재생+미디어 scanning+VCRM/FOTA
2 내비게이션+블루투스+미디어/라디오/DMB 재생+미디어 scanning
3 내비게이션+블루투스
4 내비게이션
5 블루투수+미디오/라디오/DMB 재생+미디어 scanning+VCRM/FOTA
6 미디어/라디오/DMB 재생+미디오 scanning+VCRM/FOTA
7 미디어 scanning+VCRM/FOTA
8 VCRM/FOTA
(VCRM: 서버로 데이터 전송, FOTA : 소프트웨어 무선 업데이트)
제어부(120)는 표 3의 실시예에서와 같이 적어도 하나 이상의 프로그램이 동작하는 경우, 메모리 평균 사용량을 저장하고, 학습할 수 있다.
제어부(120)는 적어도 하나 이상의 프로그램의 메모리 평균 사용량과, 메모리 평균 사용량과 미리 설정된 임계값을 비교하고, 비교 결과에 따라 메모리 누수 여부를 판단할 수 있다. 실시예에 따르면, 제어부(120)는 차량 시동 시 정차 상태에서 적어도 하나 이상의 프로그램 동작에 요구되는 최소 메모리 사용량의 평균값으로 산출된 제1 메모리 사용량 및 차량 주행 시 적어도 하나 이상의 프로그램 동작에 요구되는 최대 메모리 사용량의 평균값으로 산출된 제2 메모리 사용량에 기초하여 임계값을 설정할 수 있다.
본 발명의 실시예에 따르면, 제어부(120)는 적어도 하나 이상의 프로그램이 동작하는 경우, 임계값은 계산식 2를 이용하여 산출할 수 있다.
<계산식 2>
임계값 = (제1 메모리 사용량/2)+ 제2 메모리 사용량
제어부(120)는 적어도 하나 이상의 프로그램 동작에 요구되는 메모리의 평균 사용량이 계산식 2에 의해 산출된 임계값을 초과하는 경우, 메모리 누수로 판단할 수 있다. 아울러, 제어부(120)는 메모리 누수가 판단되면, 메모리 사용 패턴을 로깅(기록 및 저장)할 수 있다. 즉, 제어부(120)는 적어도 하나 이상의 프로그램이 동작하는데 사용된 메모리가 프로그램 동작 완료 이후에도 해제되지 않아, 메모리 누수가 발생되는 경우, 어떤 프로그램을 동작시키기 위해 메모리가 할당되었고, 할당된 이후에 반환되지 않았는지 프로그램의 사용 패턴을 로깅할 수 있다. 아울러, 제어부(120)는 프로그램 단위로 메모리 누수 여부를 판단하여, 함수단위 메모리 누수리포트를 생성할 수 있다. 여기서, 함수는 메모리가 할당된 프로그램을 포함할 수 있다.
도 2는 본 발명의 일 실시예에 따른 메모리 누수 검출 방법의 순서도를 나타낸 도면이다.
도 2에 도시된 바와 같이, 제어부(120)는 프로그램이 동작하는데 사용되는 메모리 평균 사용량을 산출할 수 있다(S110). 일 실시예에 따르면, S110에서 제어부(120)는 소프트웨어의 최근 3개의 버전에서 구동된 프로그램의 메모리 사용량을 모니터링하고, 이를 기반으로 프로그램의 메모리 평균 사용량을 산출할 수 있다. 본 발명의 실시예에 따르면, 제어부(120)는 메모리 사용량을 모니터링하는데 발생되는 부하를 최소화하기 위해, 소정 시간 단위(예, 10초) 단위로 메모리 사용량을 모니터링 할 수 있다. 또 다른 실시예에 따르면, S110에서 제어부(120)는 적어도 하나 이상의 프로그램이 동시에 동작되는 경우, 소정 개수 이상(5개 내지 10개)의 소프트웨어 버전 별로 메모리 사용량을 모니터링할 수 있다. 아울러, 제어부(120)는 적어도 하나 이상의 프로그램 중 소정 프로그램들이 동작하는데 요구되는 최소 메모리 사용량과 소정 프로그램들이 동작하는데 요구되는 최대 메모리 사용량의 평균값에 기초하여 적어도 하나 이상의 프로그램의 메모리 평균 사용량을 산출할 수 있다. 제어부(120)는 적어도 하나 이상의 프로그램 구동에 요구되는 메모리 평균 사용량이 산출되면 이를 저장하고, 학습할 수 있다.
제어부(120)는 차량 시동 시 정차 상태에서 프로그램의 구동에 요구되는 최소 메모리 사용량을 산출하고(S120), 차량 주행 시 프로그램의 구동에 요구되는 최대 메모리 사용량을 산출할 수 있다(S130). 일 실시예에 따르면, S120에서 제어부(120)는 차량 시 정차 상태에서 프로그램의 구동에 요구되는 최소 메모리 사용량을 산출할 수 있고, 다른 실시예에 따르면, S120에서 제어부(120)는 차량 시동 시 정차 상태에서 동작하는 적어도 하나 이상의 프로그램 동작에 요구되는 최소 메모리 사용량의 평균값으로 산출된 제1 메모리 사용량을 산출할 수 있다. 또한, 일 실시예에 따르면, S130에서 차량 주행 시 프로그램의 구동에 요구되는 최대 메모리 사용량을 산출할 수 있고, 다른 실시예에 따르면, S130에서 차량 주행 시 동작하는 적어도 하나 이상의 프로그램 동작에 요구되는 최대 메모리 사용량의 평균값으로 산출된 제2 메모리 사용량을 산출할 수 있다.
제어부(130)는 S110에서 산출된 메모리 평균 사용량, S120에서 획득된 최소 메모리 사용량 및 S130에서 획득된 최대 메모리 사용량을 기반으로 메모리 누수가 발생하였는지 판단할 수 있다(S140). S140에서 제어부(120)는 S120에서 획득된 최소 메모리 사용량 및 최대 메모리 사용량에 기초하여 임계값을 산출하고, S110에서 산출된 메모리 평균 사용량이 임계값을 초과하는 경우 메모리 누수가 발생한 것으로 판단할 수 있다. 여기서, 제어부(120)는 최소 메모리 사용량의 절반값과 최대 메모리의 합으로 임계값을 산출할 수 있다. 다른 실시예에 따르면, 제어부(120)는 S120에서 산출된 제1 메모리 사용량의 절반값과 제2 메모리 사용량의 합으로 임계값을 산출할 수 있다.
제어부(130)는 S110에서 산출된 메모리 평균 사용량이 임계값을 초과하여, 메모리 누수가 발생한 것으로 판단하면(Y), 메모리 사용 패턴을 로깅하고(S150), 함수단위 메모리 누수리포트를 생성할 수 있다(S160). 즉, S150 및 S160에서 제어부(120)는 적어도 하나 이상의 프로그램이 동작하는데 사용된 메모리가 프로그램 동작 완료 이후에도 해제되지 않아, 메모리 누수가 발생되는 경우, 어떤 프로그램을 동작시키기 위해 메모리가 할당되었고, 할당된 이후에 반환되지 않았는지 프로그램의 사용 패턴을 로깅할 수 있다. 아울러, 제어부(120)는 프로그램 단위로 메모리 누수 여부를 판단하여, 함수단위 메모리 누수리포트를 생성할 수 있다. 여기서, 함수는 메모리가 할당된 프로그램을 포함할 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다.
따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
메모리 누수 검출 장치 100
저장부 110
제어부 120

Claims (20)

  1. 프로그램 동작이 할당되는 메모리가 포함되는 저장부; 및
    상기 프로그램 동작에 요구되는 메모리의 사용을 모니터링하여 상기 프로그램의 메모리 평균 사용량을 산출하고, 상기 메모리 평균 사용량과 미리 설정된 임계값을 비교하고, 비교 결과에 따라 메모리 누수 여부를 판단하는 제어부를 포함하는 메모리 누수 검출 장치.
  2. 청구항 1에 있어서,
    상기 제어부는
    차량 시동 시 정차 상태에서 프로그램 동작에 요구되는 최소 메모리 사용량 및 상기 차량 주행 시 프로그램 동작에 요구되는 최대 메모리 사용량에 기초하여 상기 임계값을 설정하는 메모리 누수 검출 장치.
  3. 청구항 2에 있어서,
    상기 제어부는
    상기 최소 메모리 사용량의 절반값과 상기 최대 메모리 사용량의 합을 상기 임계값으로 설정하는 메모리 누수 검출 장치.
  4. 청구항 1에 있어서,
    상기 제어부는
    소정 개수 이상의 소프트웨어의 버전 별로 상기 프로그램 동작에 요구되는 메모리의 사용량을 모니터링하여, 상기 메모리 평균 사용량을 산출하는 메모리 누수 검출 장치.
  5. 청구항 1에 있어서,
    상기 제어부는
    상기 메모리 평균 사용량이 상기 미리 설정된 임계값을 초과하는 경우, 메모리 누수로 판단하는 메모리 누수 검출 장치.
  6. 청구항 1에 있어서,
    상기 제어부는
    적어도 하나 이상의 프로그램이 동시에 동작되는 경우, 소정 개수 이상의 소프트웨어 버전 별로 메모리 사용량을 모니터링하고, 상기 적어도 하나 이상의 프로그램 중 소정 프로그램들이 동작에 요구되는 최소 메모리 사용량과 상기 소정 프로그램들이 동작에 요구되는 최대 메모리 사용량의 평균값에 기초하여 상기 적어도 하나 이상의 프로그램의 메모리 평균 사용량을 산출하는 메모리 누수 검출 장치.
  7. 청구항 6에 있어서,
    상기 제어부는
    상기 적어도 하나 이상의 프로그램의 상기 메모리 평균 사용량을 저장하고 학습하는 메모리 누수 검출 장치.
  8. 청구항 7에 있어서,
    상기 제어부는
    상기 적어도 하나 이상의 프로그램의 상기 메모리 평균 사용량과, 상기 메모리 평균 사용량과 미리 설정된 임계값을 비교하고, 비교 결과에 따라 메모리 누수 여부를 판단하는 메모리 누수 검출 장치.
  9. 청구항 8에 있어서,
    상기 제어부는
    차량 시동 시 정차 상태에서 상기 적어도 하나 이상의 프로그램의 동작에 요구되는 최소 메모리 사용량의 평균값으로 산출된 제1 메모리 사용량 및 상기 차량 주행 상태에서 상기 적어도 하나 이상의 프로그램의 동작에 요구되는 최대 메모리 사용량의 평균값으로 산출된 제2 메모리 사용량에 기초하여 상기 임계값을 설정하는 메모리 누수 검출 장치.
  10. 청구항 9에 있어서,
    상기 제어부는
    상기 제1 메모리 사용량의 절반값과 상기 제2 메모리 사용량의 합을 상기 임계값으로 설정하는 메모리 누수 검출 장치.
  11. 프로그램 동작에 요구되는 메모리의 사용을 모니터링하여 메모리 평균 사용량을 산출하는 단계; 및
    상기 메모리 평균 사용량과 미리 설정된 임계값을 비교하고, 비교 결과에 따라 메모리 누수 여부를 판단하는 단계를 포함하는 메모리 누수 검출 방법.
  12. 청구항 11에 있어서,
    상기 임계값은
    차량 시동 시 정차 상태에서 프로그램 동작에 요구되는 최소 메모리 사용량 및 상기 차량 주행 시 프로그램 동작에 요구되는 최대 메모리 사용량에 기초하여 설정하는 메모리 누수 검출 방법.
  13. 청구항 12에 있어서,
    상기 임계값은
    상기 최소 메모리 사용량의 절반값과 상기 최대 메모리 사용량의 합으로 설정하는 메모리 누수 검출 방법.
  14. 청구항 11에 있어서,
    소정 개수 이상의 소프트웨어의 버전 별로 상기 프로그램 동작에 요구되는 메모리의 사용량을 모니터링하여, 상기 메모리 평균 사용량을 산출하는 메모리 누수 검출 방법.
  15. 청구항 11에 있어서,
    상기 메모리 평균 사용량이 상기 미리 설정된 임계값을 초과하는 경우, 메모리 누수로 판단하는 메모리 누수 검출 방법.
  16. 청구항 11에 있어서,
    적어도 하나 이상의 프로그램이 동시에 동작되는 경우, 소정 개수 이상의 소프트웨어 버전 별로 메모리 사용량을 모니터링하고, 상기 적어도 하나 이상의 프로그램 중 소정 프로그램들이 동작에 요구되는 최소 메모리 사용량과 상기 소정 프로그램들이 동작에 요구되는 최대 메모리 사용량의 평균값에 기초하여 상기 적어도 하나 이상의 프로그램의 메모리 평균 사용량을 산출하는 메모리 누수 검출 방법.
  17. 청구항 16에 있어서,
    상기 적어도 하나 이상의 프로그램의 상기 메모리 평균 사용량을 저장하고 학습하는 메모리 누수 검출 방법.
  18. 청구항 17에 있어서,
    상기 적어도 하나 이상의 프로그램의 상기 메모리 평균 사용량과, 상기 메모리 평균 사용량과 미리 설정된 임계값을 비교하고, 비교 결과에 따라 메모리 누수 여부를 판단하는 메모리 누수 검출 방법.
  19. 청구항 18에 있어서,
    차량 시동 시 정차 상태에서 상기 적어도 하나 이상의 프로그램의 동작에 요구되는 최소 메모리 사용량의 평균값으로 산출된 제1 메모리 사용량 및 상기 차량 주행 상태에서 상기 적어도 하나 이상의 프로그램의 동작에 요구되는 최대 메모리 사용량의 평균값으로 산출된 제2 메모리 사용량에 기초하여 상기 임계값을 설정하는 메모리 누수 검출 방법.
  20. 청구항 19에 있어서,
    상기 임계값은
    상기 제1 메모리 사용량의 절반값과 상기 제2 메모리 사용량의 합으로 설정하는 메모리 누수 검출 방법.

KR1020200140554A 2020-10-27 2020-10-27 메모리 누수 검출 장치 및 방법 KR20220055945A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200140554A KR20220055945A (ko) 2020-10-27 2020-10-27 메모리 누수 검출 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200140554A KR20220055945A (ko) 2020-10-27 2020-10-27 메모리 누수 검출 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20220055945A true KR20220055945A (ko) 2022-05-04

Family

ID=81584298

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200140554A KR20220055945A (ko) 2020-10-27 2020-10-27 메모리 누수 검출 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20220055945A (ko)

Similar Documents

Publication Publication Date Title
US9632855B2 (en) Method and apparatus for controlling watchdog
CN105094927B (zh) 一种设备固件升级方法和装置
US7334121B2 (en) Flash memory system including a duplicate booting program and apparatus and method for protecting the same flash memory
CN111105840A (zh) 一种固态硬盘异常掉电的测试方法、装置和系统
CN110286853B (zh) 一种数据写入方法和装置、计算机可读存储介质
CN104536841B (zh) 一种Android系统Data分区自修复方法及系统
US20060069904A1 (en) Information processing apparatus and startup control method
EP3688574A1 (en) System version upgrading method and apparatus
CN113127011A (zh) 电子设备及电子设备的操作方法
CN112397128A (zh) 一种Flash存储器的控制方法和装置
WO2023098124A1 (zh) 驻车空调及其控制方法、装置以及计算机可读存储介质
KR101573330B1 (ko) 영상 재생 장치를 부팅하는 방법 및 그 장치
CN111796965A (zh) 涉及电源待机模式期间经改进的汽车电子控制单元可靠性及安全性的方法及装置
KR20150140921A (ko) 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 그 동작 방법
US11640288B2 (en) System version upgrading method and apparatus
KR20220055945A (ko) 메모리 누수 검출 장치 및 방법
WO2010106577A1 (ja) 演算処理装置、データ消去方法、プログラム、記憶媒体、および、遠隔操作システム
KR20070008908A (ko) 데이터 처리장치 및 그 제어방법
CN111124760B (zh) 一种基于uboot的嵌入式设备启动方法及装置
JP2016126699A (ja) 自動車用電子制御装置
CN114968694A (zh) 一种硬盘故障注入方法、装置、设备及存储介质
CN110990052B (zh) 一种配置保存方法及装置
US20120030418A1 (en) Memory controller
US9405938B2 (en) Information processing apparatus, method for releasing restriction on use of storage device, and storage medium
US8627157B2 (en) Storing apparatus

Legal Events

Date Code Title Description
A201 Request for examination