KR100936967B1 - 웹 어플리케이션 서버 운영 하에서 사용자 프로그램의 메모리 누수 추적 장치 및 그 방법 - Google Patents
웹 어플리케이션 서버 운영 하에서 사용자 프로그램의 메모리 누수 추적 장치 및 그 방법 Download PDFInfo
- Publication number
- KR100936967B1 KR100936967B1 KR1020090071654A KR20090071654A KR100936967B1 KR 100936967 B1 KR100936967 B1 KR 100936967B1 KR 1020090071654 A KR1020090071654 A KR 1020090071654A KR 20090071654 A KR20090071654 A KR 20090071654A KR 100936967 B1 KR100936967 B1 KR 100936967B1
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- thread
- transaction
- memory size
- repository
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0751—Error or fault detection not based on redundancy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
Claims (13)
- (a) 쓰레드가 수행하는 트랜잭션의 종료 시점에 쓰레드의 메모리 사이즈와 객체의 메모리 사이즈를 수집하여 쓰레드 ID 및 트랜잭션 ID와 함께 리파지토리에 저장하는 단계;(b) 상기 리파지토리에 소정 기간 저장된 자료를 이용하여 메모리 증가가 있는 트랜잭션을 검출하고, 메모리 증가가 있는 트랜잭션에 대하여 메모리 사이즈 변화를 표시하는 단계; 및(c) 상기 리파지토리에 저장된 자료의 쓰레드 ID 및 트랜잭션 ID를 이용하여 상기 메모리 증가가 있는 트랜잭션과 대응하는 객체 중에서 메모리 증가가 있는 객체를 검출하고, 메모리 증가가 있는 객체의 메모리 사이즈 변화를 표시하는 단계;를 포함하고,상기 (a) 단계는(a1) 수집 주기를 설정하는 단계;(a2) 쓰레드가 수행하는 트랜잭션의 종료 시점에 쓰레드의 메모리 사이즈와 객체의 메모리 사이즈를 수집하고, 현재 시간을 최종 수집 시간으로 두고, 수집된 쓰레드의 메모리 사이즈, 객체의 메모리 사이즈, 쓰레드 ID, 트랜잭션 ID 및 최종 수집 시간을 리파지토리에 저장하는 단계; 및(a3) 상기 (a2) 단계의 쓰레드에 대응하는 트랜잭션과 동일한 트랜잭션에 대응하는 쓰레드가 수행하는 트랜잭션의 종료 시점의 현재 시간과 상기 (a2) 단계의 수집 시간의 차이가 설정된 수집 주기를 초과한 경우, 쓰레드의 메모리 사이즈와 객체의 메모리 사이즈를 수집하고, 현재 시간을 최종 수집 시간으로 갱신하고, 수집된 쓰레드의 메모리 사이즈, 객체의 메모리 사이즈, 쓰레드 ID, 트랜잭션 ID 및 최종 수집 시간을 리파지토리에 저장하는 단계;를 포함함을 특징으로 하는 웹 어플리케이션 서버 운영 하에서 사용자 프로그램의 메모리 누수 추적 방법.
- 제1항에 있어서,상기 (a) 단계의 수집은 트랜잭션 별로 샘플링 된 쓰레드에 대하여 수행되는 것을 특징으로 하는 웹 어플리케이션 서버 운영 하에서 사용자 프로그램의 메모리 누수 추적 방법.
- 삭제
- 제1항에 있어서, 상기 (b) 단계 및 상기 (c) 단계에서의 메모리 사이즈 변화는,시계열 추이 그래프에 의해 표시하는 것을 특징으로 하는 웹 어플리케이션 서버 운영 하에서 사용자 프로그램의 메모리 누수 추적 방법.
- 제1항에 있어서, 상기 (a) 단계는쓰레드의 메모리 사이즈와 객체의 메모리 사이즈 뿐만 아니라, 객체의 메모리 주소를 더 수집하는 것을 특징으로 하는 웹 어플리케이션 서버 운영 하에서 사 용자 프로그램의 메모리 누수 추적 방법.
- 제5항에 있어서,(d) 상기 리파지토리에 소정 기간 저장된 자료를 이용하여 동일한 메모리 주소를 가진 객체 중 메모리 증가가 있는 객체를 검출하고, 메모리 증가가 있는 객체에 대하여 메모리 사이즈 변화를 표시하는 단계; 및(e) 상기 리파지토리에 저장된 자료의 쓰레드 ID 및 트랜잭션 ID를 이용하여 상기 (d) 단계에서 검출된 객체를 사용하는 모든 트랜잭션을 표시하는 단계;를 더 포함함을 특징으로 하는 웹 어플리케이션 서버 운영 하에서 사용자 프로그램의 메모리 누수 추적 방법.
- 제6항에 있어서, 상기 (b) 단계, 상기 (c) 단계 및 상기 (d) 단계에서의 메모리 사이즈 변화는,시계열 추이 그래프에 의해 표시하는 것을 특징으로 하는 웹 어플리케이션 서버 운영 하에서 사용자 프로그램의 메모리 누수 추적 방법.
- 쓰레드가 수행하는 트랜잭션의 종료 시점에 쓰레드의 메모리 사이즈와 객체의 메모리 사이즈를 수집하는 자료 수집부;상기 자료 수집부에 의해 수집된 자료를 쓰레드 ID 및 트랜잭션 ID와 함께 저장하는 리파지토리; 및상기 리파지토리에 소정 기간 저장된 자료를 이용하여 메모리 증가가 있는 트랜잭션을 검출하고, 메모리 증가가 있는 트랜잭션에 대하여 메모리 사이즈 변화를 표시하고, 상기 리파지토리에 저장된 자료의 쓰레드 ID 및 트랜잭션 ID를 이용하여 상기 메모리 증가가 있는 트랜잭션과 대응하는 객체 중에서 메모리 증가가 있는 객체를 검출하고, 메모리 증가가 있는 객체의 메모리 사이즈 변화를 표시하는 톱다운 메모리 누수 추적부;를 포함하고,상기 자료 수집부는수집 주기를 설정하는 수집 주기 설정부;쓰레드가 수행하는 트랜잭션의 종료 시점에 현재 시간과 동일한 트랜잭션에 대응하는 쓰레드에 의해 설정된 최종 수집 시간과의 차이가 상기 수집 주기를 초과한 경우, 쓰레드의 메모리 사이즈와 객체의 메모리 사이즈를 수집하고, 현재 시간을 최종 수집 시간으로 갱신하고, 수집된 쓰레드의 메모리 사이즈, 객체의 메모리 사이즈, 쓰레드 ID, 트랜잭션 ID 및 최종 수집 시간을 상기 리파지토리에 저장하는 수집부;를 구비함을 특징으로 하는 웹 어플리케이션 서버 운영 하에서 사용자 프로그램의 메모리 누수 추적 장치.
- 삭제
- 제8항에 있어서, 상기 톱다운 메모리 누수 추적부에서의 메모리 사이즈 변화는,시계열 추이 그래프에 의해 표시하는 것을 특징으로 하는 웹 어플리케이션 서버 운영 하에서 사용자 프로그램의 메모리 누수 추적 장치.
- 제8항에 있어서, 상기 자료 수집부는쓰레드의 메모리 사이즈와 객체의 메모리 사이즈 뿐만 아니라, 객체의 메모리 주소를 더 수집하는 것을 특징으로 하는 웹 어플리케이션 서버 운영 하에서 사용자 프로그램의 메모리 누수 추적 장치.
- 제11항에 있어서,상기 리파지토리에 소정 기간 저장된 자료를 이용하여 동일한 메모리 주소를 가진 객체 중 메모리 증가가 있는 객체를 검출하고, 메모리 증가가 있는 객체에 대하여 메모리 사이즈 변화를 표시하고, 상기 리파지토리에 저장된 자료의 쓰레드 ID 및 트랜잭션 ID를 이용하여 상기 검출된 객체를 사용하는 모든 트랜잭션을 표시하는 보톰업 메모리 누수 추적부;를 더 포함함을 특징으로 하는 웹 어플리케이션 서버 운영 하에서 사용자 프로그램의 메모리 누수 추적 장치.
- 제12항에 있어서, 상기 보톰업 메모리 누수 추적부에서의 메모리 사이즈 변화는,시계열 추이 그래프에 의해 표시하는 것을 특징으로 하는 웹 어플리케이션 서버 운영 하에서 사용자 프로그램의 메모리 누수 추적 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090071654A KR100936967B1 (ko) | 2009-08-04 | 2009-08-04 | 웹 어플리케이션 서버 운영 하에서 사용자 프로그램의 메모리 누수 추적 장치 및 그 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090071654A KR100936967B1 (ko) | 2009-08-04 | 2009-08-04 | 웹 어플리케이션 서버 운영 하에서 사용자 프로그램의 메모리 누수 추적 장치 및 그 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100936967B1 true KR100936967B1 (ko) | 2010-01-14 |
Family
ID=41809813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090071654A KR100936967B1 (ko) | 2009-08-04 | 2009-08-04 | 웹 어플리케이션 서버 운영 하에서 사용자 프로그램의 메모리 누수 추적 장치 및 그 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100936967B1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014017701A1 (ko) * | 2012-07-27 | 2014-01-30 | 부산대학교 산학협력단 | 메모리 누수 탐지 장치 및 방법, 그리고 컴퓨터로 읽을 수 있는 기록매체 |
KR101494328B1 (ko) * | 2013-06-28 | 2015-02-23 | 부산대학교 산학협력단 | 힙 분석을 이용한 메모리 누수 탐지 장치 및 방법 |
CN112416793A (zh) * | 2020-12-01 | 2021-02-26 | 新华三人工智能科技有限公司 | 一种内存泄漏检测方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008003945A (ja) | 2006-06-23 | 2008-01-10 | Toshiba Corp | 監視制御システムとそのコンピュータ管理方法およびプログラム |
JP2008134709A (ja) | 2006-11-27 | 2008-06-12 | Hitachi Ltd | メモリリーク検出方法、メモリリーク検出装置及びメモリリーク検出プログラム |
KR20080075293A (ko) * | 2007-02-12 | 2008-08-18 | 삼성전자주식회사 | 이동통신 시스템에서 메모리 누수 프로세스를 복구하기위한 장치 및 방법 |
-
2009
- 2009-08-04 KR KR1020090071654A patent/KR100936967B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008003945A (ja) | 2006-06-23 | 2008-01-10 | Toshiba Corp | 監視制御システムとそのコンピュータ管理方法およびプログラム |
JP2008134709A (ja) | 2006-11-27 | 2008-06-12 | Hitachi Ltd | メモリリーク検出方法、メモリリーク検出装置及びメモリリーク検出プログラム |
KR20080075293A (ko) * | 2007-02-12 | 2008-08-18 | 삼성전자주식회사 | 이동통신 시스템에서 메모리 누수 프로세스를 복구하기위한 장치 및 방법 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014017701A1 (ko) * | 2012-07-27 | 2014-01-30 | 부산대학교 산학협력단 | 메모리 누수 탐지 장치 및 방법, 그리고 컴퓨터로 읽을 수 있는 기록매체 |
KR101494328B1 (ko) * | 2013-06-28 | 2015-02-23 | 부산대학교 산학협력단 | 힙 분석을 이용한 메모리 누수 탐지 장치 및 방법 |
CN112416793A (zh) * | 2020-12-01 | 2021-02-26 | 新华三人工智能科技有限公司 | 一种内存泄漏检测方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7293263B2 (en) | System and method for memory leak detection in a virtual machine environment | |
US8359450B2 (en) | Memory utilization analysis | |
Olbrich et al. | Are all code smells harmful? A study of God Classes and Brain Classes in the evolution of three open source systems | |
US9864676B2 (en) | Bottleneck detector application programming interface | |
US7904493B2 (en) | Method and system for object age detection in garbage collection heaps | |
CN111756575B (zh) | 存储服务器的性能分析方法及装置、电子设备 | |
CN101615143B (zh) | 用于内存泄漏诊断的方法和装置 | |
US8473925B2 (en) | Conditional dynamic instrumentation of software in a specified transaction context | |
Sandoval Alcocer et al. | Learning from source code history to identify performance failures | |
JP5886712B2 (ja) | 分散環境におけるトランザクション別に区別されたメトリックの効率的収集 | |
US8418149B2 (en) | Differential comparison system and method | |
US20100017789A1 (en) | Selectively Obtaining Call Stack Information Based on Criteria | |
US20140189438A1 (en) | Memory leak detection | |
US20110029822A1 (en) | Tracking of java objects during request processing | |
US20110016347A1 (en) | Tool for Analyzing and Resolving Errors in a Process Server | |
Habchi et al. | On the survival of android code smells in the wild | |
CN110795357A (zh) | 程序监控方法及装置 | |
Habchi et al. | The rise of android code smells: Who is to blame? | |
CN106980572B (zh) | 分布式系统的在线调试方法和系统 | |
Weninger et al. | Utilizing object reference graphs and garbage collection roots to detect memory leaks in offline memory monitoring | |
KR100936967B1 (ko) | 웹 어플리케이션 서버 운영 하에서 사용자 프로그램의 메모리 누수 추적 장치 및 그 방법 | |
Šor et al. | Memory leak detection in Plumbr | |
KR100965426B1 (ko) | 메모리 누수 검출 장치 및 방법 | |
KR101494328B1 (ko) | 힙 분석을 이용한 메모리 누수 탐지 장치 및 방법 | |
Fischer et al. | System evolution tracking through execution trace analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130104 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20140106 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20150107 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20160107 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20170106 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20171228 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20181227 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20200107 Year of fee payment: 11 |