KR101591601B1 - 메모리 최적화 방법 및 그 방법을 수행하는 사용자 단말 - Google Patents

메모리 최적화 방법 및 그 방법을 수행하는 사용자 단말 Download PDF

Info

Publication number
KR101591601B1
KR101591601B1 KR1020140108461A KR20140108461A KR101591601B1 KR 101591601 B1 KR101591601 B1 KR 101591601B1 KR 1020140108461 A KR1020140108461 A KR 1020140108461A KR 20140108461 A KR20140108461 A KR 20140108461A KR 101591601 B1 KR101591601 B1 KR 101591601B1
Authority
KR
South Korea
Prior art keywords
memory
importance
application
user terminal
candidate
Prior art date
Application number
KR1020140108461A
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 KR1020140108461A priority Critical patent/KR101591601B1/ko
Application granted granted Critical
Publication of KR101591601B1 publication Critical patent/KR101591601B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5016Allocation 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Stored Programmes (AREA)

Abstract

메모리 최적화 방법 및 그 방법을 수행하는 사용자 단말은 메모리에 로드된 어플리케이션의 상태 및 어플리케이션의 메모리 사용량을 고려하여 메모리를 확보하기 위한 방법에 관한 것으로, 어플리케이션의 중요도에 따라 생존률을 보장시켜주고, 최소한의 어플리케이션을 종료함으로써, 메모리를 보다 효율적으로 관리한다.

Description

메모리 최적화 방법 및 그 방법을 수행하는 사용자 단말{MEMORY OMTIMIZED METHOD AND UESR DEVICE FOR PERFORMING THE METHOD}
아래의 설명은 메모리 최적화 방법 및 그 방법을 수행하는 사용자 단말에 관한 것으로, 구체적으로는 사용자 단말의 메모리를 보다 효율적으로 확보하기 위한 메모리 최적화 방법 및 그 방법을 수행하는 사용자 단말에 관한 것이다.
본 발명의 배경이 되는 기술은 다음의 문헌에 개시되어 있다.
* 공개번호: JP 2003-330734 (2003년11월21일): 비중을 사용하여 어플리케이션에 시스템 자원을 할당하는 방법 및 시스템.
종래의 안드로이드 시스템에서는 부족한 메모리를 해결하기 위해 Low Memory Killer(LMK)를 사용한다. LMK는 메모리가 부족할 경우 어플리케이션들의 상태를 고려하여 선택적으로 어플리케이션을 종료시키는 기법이다. 이는 중요도가 높은 상태를 가지는 어플리케이션의 생존을 최대한 보장시켜주는 이점이 있다. 그러나, 이러한 방법은 메모리를 확보하기 위해 경우에 따라 확보하고자 하는 메모리보다 많은 수의 어플리케이션을 종료하여 메모리를 확보하는 경우가 발생한다.
반면, 리눅스는 부족한 메모리를 해결하기 위해 Out Of Memory(OOM)를 사용한다. OOM은 메모리 사용량이 많은 프로세스들을 선별적으로 종료시키는 기법이다. 이는 적은 수의 프로세스를 선택적으로 종료시켜 충분한 메모리를 확보하는 이점이 존재한다. 그러나 이 방법으로는 높은 중요도를 가지는 프로세스의 생존을 보장시켜주지 않는 경우가 발생한다.
메모리 부족에 따른 메모리 확보를 위하여 어플리케이션의 상태에 따른 어플리케이션의 메모리 사용량을 고려함으로써, 높은 중요도를 갖는 어플리케이션의 생존을 보장시켜줄 수 있는 메모리 최적화 방법 및 그 방법을 수행하는 사용자 단말을 제공할 수 있다.
사용자 단말에서 확보하고자 하는 메모리의 용량 조건에 충족하도록 어플리케이션을 메모리에서 종료하고, 용량 조건이 충족하는 경우, 어플리케이션을 종료하는 동작을 정지함으로써, 메모리에서 종료되는 어플리케이션의 개수를 최소화하면서 용량 조건에 충족하는 메모리를 확보하는 메모리 최적화 방법 및 그 방법을 수행하는 사용자 단말을 제공할 수 있다.
일실시예에 따른 사용자 단말이 수행하는 메모리 최적화 방법은 상기 사용자 단말의 메모리에서 사용되지 않는 여유 메모리를 확인하여 상기 확인한 여유 메모리의 최소 가용 메모리에 따른 제1 중요도를 결정하는 단계; 상기 결정한 여유 메모리의 제1 중요도를 기준으로 상기 메모리에 로드된 어플리케이션의 제2 중요도에 따라 종료 대상에 해당하는 적어도 하나의 후보 어플리케이션을 선택하는 단계; 상기 여유 메모리를 기준으로 상기 선택된 후보 어플리케이션들의 메모리 사용량을 비교하여 상기 후보 어플리케이션을 정렬하는 단계; 및 상기 사용자 단말에서 확보하고자 하는 메모리의 용량에 기초하여 상기 정렬된 후보 어플리케이션을 종료하는 단계를 포함할 수 있다.
일실시예에 따른 결정하는 단계는 상기 여유 메모리에 대한 임계값을 나타내는 최소 가용 메모리에 해당하는 제1 중요도를 결정할 수 있다.
일실시예에 따른 선택하는 단계는 상기 메모리에 로드된 어플리케이션 중에서 제1 중요도보다 낮은 중요도를 나타내는 적어도 하나의 후보 어플리케이션을 선택할 수 있다.
일실시예에 따른 어플리케이션의 메모리 사용량은 상기 메모리에 로드된 어플리케이션에 대응하여 사용 중인 페이지의 수와 상기 메모리 중에 스왑 공간에서 사용되는 페이지의 수에 의해 결정될 수 있다.
일실시예에 따른 정렬하는 단계는 상기 여유 메모리를 기준으로 선택된 후보 어플리케이션들의 메모리 사용량을 비교하여 상기 후보 어플리케이션 중 가장 큰 메모리 사용량을 가지는 후보 어플리케이션에 따라 내림 차순으로 정렬할 수 있다.
일실시예에 따른 종료하는 단계는 상기 확보하고자 하는 메모리의 용량에 따른 조건에 충족하도록 상기 정렬된 후보 어플리케이션의 메모리 사용량을 고려하여 후보 어플리케이션을 종료할 수 있다.
일실시예에 따른 사용자 단말은 메모리에서 사용되지 않는 여유 메모리를 확인하여 상기 확인한 여유 메모리의 최소 가용 메모리에 따른 제1 중요도를 결정하는 결정부; 상기 결정한 여유 메모리의 제1 중요도를 기준으로 상기 메모리에 로드된 어플리케이션의 제2 중요도에 따라 종료 대상에 해당하는 적어도 하나의 후보 어플리케이션을 선택하는 선택부; 상기 여유 메모리를 기준으로 상기 선택된 후보 어플리케이션들의 메모리 사용량을 비교하여 상기 후보 어플리케이션을 정렬하는 정렬부; 및 상기 사용자 단말에서 확보하고자 하는 메모리의 용량에 기초하여 상기 정렬된 후보 어플리케이션을 종료하는 종료부를 포함할 수 있다.
메모리 최적화 방법 및 그 방법을 수행하는 사용자 단말은 메모리 부족에 따른 메모리 확보를 위하여 어플리케이션의 상태에 따른 어플리케이션의 메모리 사용량을 고려함으로써, 높은 중요도를 갖는 어플리케이션의 생존을 보장시켜줄 수 있다.
메모리 최적화 방법 및 그 방법을 수행하는 사용자 단말은 사용자 단말에서 확보하고자 하는 메모리의 용량 조건에 충족하도록 어플리케이션을 메모리에서 종료하고, 용량 조건이 충족하는 경우, 어플리케이션을 종료하는 동작을 정지함으로써, 무분별하게 종료되는 어플리케이션의 개수를 최소화하면서 메모리를 확보할 수 있다.
메모리 최적화 방법 및 그 방법을 수행하는 사용자 단말은 위에서 언급한 방법을 통해 부족한 메모리에 대해 보다 효과적인 방법을 통해 메모리를 회수하고 아울러 어플리케이션의 실행 속도를 향상시킬 수 있다.
도 1은 일실시예에 따른 사용자 단말을 도시한 도면이다.
도 2는 일실시예에 따른 사용자의 단말의 여유 메모리에 대응하는 제1 중요도를 설명하기 위한 도면이다.
도 3은 일실시예에 따른 메모리에 로드된 어플리케이션의 상태에 따른 제2 중요도를 설명하기 위한 도면이다.
도 4는 일실시예에 따른 사용자 단말의 메모리 최적화 방법을 설명하기 위한 도면이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 일실시예에 따른 사용자 단말을 도시한 도면이다.
도 1을 참고하면, 사용자 단말(101)은 메모리 부족에 따른 메모리의 여유 메모리를 이용하여 메모리에 로드된 어플리케이션의 상태 및 메모리 사용량을 고려하여 메모리를 확보하는 동작을 수행할 수 있다. 이를 위해, 사용자 단말(101)은 결정부(102), 선택부(103), 정렬부(104), 종료부(405)를 포함할 수 있다.
결정부(102)는 메모리에서 사용되지 않는 여유 메모리를 확인할 수 있다. 여기서, 여유 메모리는 현재 메모리에 어플리케이션이 로드되어 있지 않는 미사용 공간을 의미할 수 있다. 즉, 결정부(102)는 메모리에 어플리케이션이 로드된 사용 공간을 제외한 공간으로써, 추후, 사용이 가능한 공간으로 현재 사용되지 않는 여유 메모리를 확인할 수 있다.
그리고, 결정부(102)는 확인된 여유 메모리의 최소 가용 메모리를 고려하여 여유 메모리에 대한 제1 중요도를 결정할 수 있다. 여기서, 여유 메모리의 최소 가용 메모리는 메모리에 로드된 어플리케이션을 동작시키기 위한 최소한의 메모리일 수 있다.
일례로, 메모리 부족은 사용자 단말이 어플리케이션을 실행시키거나 또는 종료시키기 위해 사용되는 메모리가 제한된 상태를 의미하며, 이에 따른 여유 메모리의 최소 가용 메모리는 메모리의 사용에 대하여 제한되지 않는 최소한의 메모리 사용량을 의미할 수 있다.
그리고, 제1 중요도는 확인된 여유 메모리의 최소 가용 메모리에 대응하여 정의되는 값으로, 메모리에 로드된 어플리케이션에 대한 종료 대상을 선정하기 위한 기준이 될 수 있다.
선택부(103)는 결정된 제1 중요도를 기준으로 메모리에 로드된 어플리케이션의 제2 중요도에 따라 종료 대상에 해당하는 적어도 하나의 후보 어플리케이션을 선택할 수 있다. 여기서, 제2 중요도는 현재 메모리에 로드된 각각의 어플리케이션에 대한 상태를 고려하여 정의되는 값일 수 있다. 어플리케이션에 대한 상태는 어플리케이션의 중요도를 판단할 수 있는 척도로써, 자세한 구성은 도 3을 통해 설명하도록 한다.
정렬부(104)는 여유 메모리를 기준으로 선택된 후보 어플리케이션들의 메모리 사용량을 비교하여 후보 어플리케이션을 정렬할 수 있다. 다시 말해서, 정렬부(104)는 여유 메모리를 기준으로 선택된 후보 어플리케이션들과 비교하면서, 후보 어플리케이션을 정렬할 수 있다.
그리고, 종료부(105)는 사용자 단말에서 확보하고자 하는 메모리의 용량에 기초하여 정렬된 후보 어플리케이션을 종료할 수 있다. 확보하고자 하는 메모리의 용량은 사용자 단말(101)의 메모리 부족에 따라 확보하고자 하는 용량으로써, 메모리에서 후보 어플리케이션을 종료함에 있어 기준이 되는 값 일 수 이다.
일례로, 사용자 단말(101)은 200MB에 해당하는 메모리 부족 현상이 발생할 수 있다. 그렇다면, 사용자 단말(101)은 메모리 부족에 따른 200MB에 대하여 메모리를 확보해야 하는 상황이 발생할 수 있다. 즉, 사용자 단말(101)은 메모리에 로드된 적어도 하나의 어플리케이션을 종료함으로써, 200MB의 메모리를 확보할 수 있다. 결국, 사용자 단말은 확보하고자 하는 200MB를 기준으로 메모리에 로드된 어플리케이션을 종료함으로써, 사용자 단말에서 요구되는 메모리의 용량을 확보할 수 있다.
일실시예에 따른 사용자 단말(101)은 어플리케이션의 메모리를 확보하기 위해, 어플리케이션의 중요도뿐만 아니라, 어플리케이션의 메모리 사용량을 고려함으로써, 높은 중요도를 갖는 어플리케이션의 생존 보장 및 최소한의 어플리케이션 종료를 통해 보다 효율적으로 메모리를 확보할 수 있다.
또한, 사용자 단말(101)은 높은 중요도를 갖는 어플리케이션이 생존하며 최소한의 어플리케이션을 종료하기 때문에 어플리케이션에 대한 실행 속도를 향상시켜줄 수 있다. 즉, 사용자 단말(101)은 확보하고자 하는 메모리의 용량에 충족하도록 어플리케이션의 메모리 사용량에 따라 충분한 메모리를 확보함에 따른 메모리를 확보하는 속도가 단축됨에 따라 어플리케이션의 실행 속도를 향상시켜줄 수 있다.
도 2는 일실시예에 따른 사용자의 단말의 여유 메모리에 대응하는 제1 중요도를 설명하기 위한 도면이다.
도 2를 참고하면, 제1 중요도(201)와 여유 메모리의 최소 가용 메모리(202)는 사용자 또는 프로그램을 통해 기 매칭된 상태로써, 비례관계 또는 반비례관계로 나타날 수 있다. 여기서, 여유 메모리의 최소 가용 메모리(202)는 여유 메모리에서 사용 가능한 최소한의 메모리 문턱 값으로써, 여유 메모리에 대한 임계값일 수 있다.
여유 메모리에 대한 최소 가용 메모리(202)의 범위는
Figure 112014078903129-pat00001
으로 표현될 수 있다. 여기서,
Figure 112014078903129-pat00002
는 여유 메모리를 나타낼 수 있다. 그리고,
Figure 112014078903129-pat00003
,
Figure 112014078903129-pat00004
는 여유 메모리의 최소 가용 메모리(202)를 나타내는 것으로 의미는 동일하나, 여유 메모리의 크기에 대한 기준이 서로 상이할 수 있다. 이에 대하여 표 1을 통해 설명하도록 한다.
제1 중요도 최소 가용 메모리(MB)
15 120
9 96
3 84
2 72
1 60
0 48
표 1을 참고하면, 제1 중요도와 최소 가용 메모리는 일정 간격의 오차 범위로 미리 설정될 수 있다. 그리고, 사용자 단말은 표 1에 따른 제1 중요도와 최소 가용 메모리에 따라 여유 메모리의 최소 가용 메모리를 결정할 수 있다.
일례로, 사용자 단말은 100MB의 여유 메모리(
Figure 112014078903129-pat00005
)를 확인하고, 확인된 여유 메모리에 따라 최소 가용 메모리(
Figure 112014078903129-pat00006
,
Figure 112014078903129-pat00007
)를 결정할 수 있다. 여기서, 확인된 여유 메모리는 100MB 이고, 이에 따라 표 1에 도시된 최소 가용 메모리에 대입하였을 때, 여유 메모리(100MB)는 '96MB' 보다는 크고, '120MB' 보다는 작다는 것을 확인할 수 있다. 이에 따른 최소 가용 메모리(202)의 범위(
Figure 112014078903129-pat00008
)에 따라 위의 숫자를 대입하였을 때, 즉,
Figure 112014078903129-pat00009
은 '96MB'에 해당하며,
Figure 112014078903129-pat00010
은 '120MB'에 해당할 수 있으며, 결국, 여유 메모리는 100MB를 기준으로 최소한의 메모리 문턱이므로 여유 메모리의 최소 가용 메모리는 96MB에 대응할 수 있다.
그리고,
Figure 112014078903129-pat00011
Figure 112014078903129-pat00012
보다 한 단계 높은 최소 가용 메모리를 나타낼 수 있으며, 100MB의 여유 메모리를 기준으로 보았을 때, 최대 가용 메모리에 해당할 수 있다.
따라서, 사용자 단말은 표 1에 따른 최소 가용 메모리에 기준에 따라 96MB를 최소 가용 메모리로 설정할 수 있으며, 설정된 최소 가용 메모리에 대응하여 제1 중요도 '9'를 결정할 수 있다. 여기서, 표 1 은 여유 메모리에 따른 최소 가용 메모리 및 제1 중요도를 설명하기 위한 것으로 이에 한정 해석되어서는 안된다.
또한, 결정된 제1 중요도는 메모리에 로드된 어플리케이션에 대한 종료 대상을 선정하기 위한 기준이 될 수 있다. 다시 말해, 사용자 단말은 LMK 기법에 따라 중요도가 낮은 어플리케이션을 종료하기 위한 기준이 되는 제1 중요도를 결정할 수 있다.
결국, 사용자 단말은 여유 메모리를 기초하여 최소 가용 메모리에 따른 제1 중요도를 결정함으로써, 메모리 부족에 따른 메모리 확보를 위한 어플리케이션의 종료 대상을 설정하기 위한 기준 값을 결정할 수 있다.
도 3은 일실시예에 따른 메모리에 로드된 어플리케이션의 상태에 따른 제2 중요도를 설명하기 위한 도면이다.
도 3을 참고하면, 제2 중요도(301)와 어플리케이션의 상태(302)는 사용자 또는 프로그램을 통해 기 매칭된 상태일 수 있다. 이 때, 제2 중요도(301)는 어플리케이션의 상태(302)에 따른 중요도와는 별개로 값이 정의 될 수 있다. 일례로, 제2 중요도(301)는 중요도가 높은 어플리케이션에 대하여 낮은 값으로 정의하거나, 또는 높은 값으로 정의할 수 있다. 반대로, 제2 중요도(301)는 중요도가 낮은 어플리케이션에 대하여 높은 값으로 정의하거나, 또는 낮은 값으로 정의할 수 있다. 즉, 제2 중요도는 어플리케이션의 상태에 대하여 이를 표현하기 위한 값일 수 있다.
어플리케이션의 상태(302)는 어플리케이션에 대한 중요도를 결정할 수 있는 것으로, 캐쉬된 어플리케이션, 이전에 실행된 어플리케이션, 백업 어플리케이션 등의 중요도를 결정할 수 있는 다양한 상태를 나타낼 수 있다. 여기서, 중요도는 어플리케이션의 상태에 따라 낮거나 높을 수 있다.
구체적으로, 중요도가 낮다는 것은 어플리케이션의 생존을 최대한으로 보장시켜주지 않아도 되는 것으로, 일정 시점을 기준으로 캐쉬된 지 오래된 어플리케이션, 최근에 캐쉬 된 어플리케이션 등으로 어플리케이션에 대한 상태에 따른 중요도가 낮은 것을 의미할 수 있다.
일례로, 사용자 단말은 알람 기능, 단순 게임 등으로 지속적으로 실행되지 않고, 필요 시에 실행되어도 무관한 서비스에 대하여 낮은 중요도로 설정할 수 있다.
반대로, 중요도가 높다는 것은 중요도가 낮은 것과 반대되는 개념으로 어플리케이션의 생존을 최대한으로 보장시켜줘야 하는 것으로, 사용자 단말의 핵심 서비스 프로세스, 현재 실행 중으로 디스플레이 된 어플리케이션 등으로 어플리케이션에 대한 상태에 따른 중요도가 높은 것을 의미할 수 있다.
일례로, 사용자 단말은 통화 기능, 문자 기능 등의 지속적으로 실행되어야 하는 서비스에 대하여 높은 중요도로 설정할 수 있다.
사용자 단말은 제1 중요도보다 낮은 중요도를 갖는 제2 중요도(301)에 대응하는 어플리케이션을 선택할 수 있다. 다시 말해, 사용자 단말은 어플리케이션의 상태에 따른 낮은 중요도에 해당하는 제2 중요도(301)에 대응하여 어플리케이션을 선택할 수 있다. 구체적으로, 사용자 단말은 현재 메모리에 로드된 어플리케이션 중 종료 대상이 되는 후보 어플리케이션을 선택할 수 있다. 이를 위해, 사용자 단말은 여유 메모리의 제1 중요도를 기초하여 제1 중요도보다 낮은 중요도를 갖는 종료 대상인 적어도 하나의 후보 어플리케이션을 선택할 수 있다. 다시 말해서, 사용자 단말은 메모리에 로드된 어플리케이션에 대한 종료 대상은 선정함에 있어, 여유 메모리의 크기에 따른 제1 중요도와 어플리케이션의 상태에 따른 제2 중요도를 고려할 수 있다.
일례로, 도 3은 어플리케이션의 상태에 따른 중요도가 낮을수록 제2 중요도의 값이 크도록 설정할 수 있다. 그리고, 도 3을 기초하여 다음과 같이 종료 대상인 후보 어플리케이션을 선택할 수 있다.
다시 말해, 제1 중요도가 '9'의 값을 가질 때, 사용자 단말은 제1 중요도에 따른 '9'의 중요도보다 낮은 중요도를 가지는 '15'에 해당하는 제2 중요도를 선택할 수 있다. 이 때, 제1 중요도와 제2 중요도는 각각이 가지는 값을 비교하였을 때는 제2 중요도가 높지만, 제2 중요도가 나타내는 어플리케이션의 상태는 상대적으로 낮은 중요도를 나타내고 있다. 결국, 사용자 단말은 제1 중요도를 기준으로 어플리케이션에 대한 낮은 중요도를 나타내는 제2 중요도를 선택할 수 있다.
따라서, 사용자 단말은 중요도가 높은 상태를 가지는 어플리케이션의 생존을 최대한으로 보장시켜주기 위하여 제1 중요도에 따른 어플리케이션에 대한 중요도의 기준을 설정하고, 이에 따라, 제1 중요도를 기준으로 중요도가 낮은 어플리케이션을 종료 대상으로 설정할 수 있다.
도 4는 일실시예에 따른 사용자 단말의 메모리 최적화 방법을 설명하기 위한 도면이다.
단계(401)에서 사용자 단말은 사용자 단말의 메모리에서 사용되지 않는 여유 메모리를 확인할 수 있다. 사용자 단말은 메모리 중 현재 사용중인 메모리를 제외한 나머지에 해당하는 여유 메모리를 확인할 수 있다.
단계(402)에서 사용자 단말은 메모리 부족에 따라 메모리를 확보하기 위하여 기준으로 설정할 수 있도록 선택 변수 및 크기 변수를 초기화할 수 있다. 선택 변수는 후보 어플리케이션을 할당할 수 있는 파라미터(select)를 포함할 수 있다. 여기서, 선택 변수는 종료 대상로 선택된 후보 어플리케이션을 체크하기 위한 변수 일 수 있다. 그리고, 크기 변수는 후보 어플리케이션의 메모리 사용량을 할당할 수 있는 파라미터(size)를 포함할 수 있다. 여기서, 크기 변수는 종료 대상로 선택된 후보 어플리케이션의 메모리 사용량을 체크하기 위한 변수 일 수 있다. 그리고, 선택 변수 및 크기 변수는 종료 대상인 후보 어플리케이션에 대하여 최종적으로 종료 대상이 되는 후보 어플리케이션들에 대하여 파라미터(select, size)로 할당받을 수 있다.
단계(403)에서 사용자 단말은 확인한 여유 메모리의 최소 가용 메모리에 따른 제1 중요도를 결정할 수 있다. 구체적으로, 사용자 단말은 여유 메모리에서 사용 가능한 최소한의 메모리 문턱 값을 나타내는 최소 가용 메모리를 결정할 수 있다. 그리고, 사용자 단말은 결정된 최소 가용 메모리에 대응하여 제1 중요도를 결정할 수 있다. 여기서, 제1 중요도는 메모리에 로드된 어플리케이션에 대한 종료 대상을 선정하기 위한 기준이 될 수 있다.
단계(404)에서 사용자 단말은 제1 중요도를 기반으로 제2 중요도에 따른 중요 대상인 적어도 하나의 후보 어플리케이션을 선택할 수 있다. 사용자 단말은 제1 중요도에 기준으로 중요도가 낮은 어플리케이션에 대한 제2 중요도를 선택할 수 있다. 즉, 사용자 단말은 메모리를 확보하는 과정에서 중요도가 높은 어플리케이션을 종료되는 것을 방지하기 위하여 제1 중요도를 기준으로 어플리케이션에 대한 낮은 중요도를 나타내는 제2 중요도에 따라 종료 대상인 후보 어플리케이션을 선택할 수 있다.
단계(405)에서 사용자 단말은 크기 변수의 파라미터를 기준으로 선택된 후보 어플리케이션의 메모리 사용량과 비교할 수 있다. 여기서, 어플리케이션의 메모리 사용량은 메모리에 로드된 어플리케이션에 대응하여 사용 중인 페이지의 수 또는 상기 메모리 중에 스왑 공간으로 사용되는 페이지의 수에 의해 결정될 수 있다.
그리고, 사용자 단말은 메모리 사용량을 비교하기 위하여 크기 변수의 파라미터로 여유 메모리의 크기를 초기에 할당할 수 있다. 사용자 단말은 여유 메모리와 선택된 후보 어플리케이션들의 메모리 사용량을 비교할 수 있다.
단계(406)에서 사용자 단말은 선택된 후보 어플리케이션의 메모리 사용량이 여유 메모리에 해당하는 size보다 큰가를 확인할 수 있다. 여기서, 후보 어플리케이션의 메모리 사용량이 size보다 큰 경우(Yes), 단계(407)에서 사용자 단말은 후보 어플리케이션 및 후보 어플리케이션의 메모리 사용량을 선택 변수와 크기 변수에 할당할 수 있다.
일례로, 사용자 단말은 후보 어플리케이션의 메모리 사용량을 비교하기 위해, 최초 일회에 한하여 크기 변수의 파라미터로 여유 메모리를 할당할 수 있다. 그리고, 사용자 단말은 크기 변수와 후보 어플리케이션의 메모리 사용량에 대한 비교를 통해 후보 어플리케이션의 메모리 사용량이 큰 경우, 크기 변수의 파마리터를 후보 어플리케이션의 메모리 사용량으로 할당할 수 있다.
반대로, 후보 어플리케이션의 메모리 사용량이 여유 메모리보다 작은 경우(No), 단계(408)에서 사용자 단말은 종료 대상으로 선택된 후보 어플리케이션들에 대한 메모리 사용량을 모두 비교하였는지 확인할 수 있다. 즉, 사용자 단말은 제1 중요도의 값 이상을 가지는 후보 어플리케이션에 대하여 모두 감사를 하였는지 확인할 수 있다.
또한, 종료 대상으로 선택된 후보 어플리케이션들에 대한 메모리 사용량을 모두 비교하지 않은 경우(No), 사용자 단말은 단계(404)로 피드백되어 종료 대상으로 선택된 후보 어플리케이션을 재 선택할 수 있다.
종료 대상으로 선택된 후보 어플리케이션들에 대한 메모리 사용량을 모두 비교한 경우(Yes), 단계(409)에서 사용자 단말은 select에 선택된 후보 어플리케이션을 종료할 수 있다. 구체적으로, 선택 변수의 파라미터로 할당된 후보 어플리케이션에 대하여 정렬할 수 있다. 다시 말해, 사용자 단말은 선택된 후보 어플리케이션들의 메모리 사용량을 비교하여 상기 후보 어플리케이션 중 가장 큰 메모리 사용량을 가지는 후보 어플리케이션에 따라 내림 차순으로 정렬할 수 있다. 결국, 사용자 단말은 메모리 확보를 위하여 어플리케이션의 상태에 따른 중요도만을 고려하는 것뿐만 아니라, 해당 어플리케이션의 메모리 사용량을 고려하기 위하여 메모리 사용량에 따라 후보 어플리케이션에 따라 내림 차순으로 정렬할 수 있다.
따라서, 사용자 단말은 메모리에 로드된 어플리케이션 중에 중요도가 낮으면서도 메모리 사용량이 높은 어플리케이션을 대상으로 해당 어플리케이션을 종료할 수 있도록 내림 차순으로 정렬할 수 있다. 그리고, 사용자 단말은 정렬된 후보 어플리케이션에 대하여 select에 선택된 후보 어플리케이션을 종료할 수 있다.
단계(410)에서 사용자 단말은 select에 선택된 후보 어플리케이션을 종료한 이후, 사용자 단말에서 확보하고자 하는 메모리의 용량에 기초하여 상기 정렬된 후보 어플리케이션을 메모리에서 종료할 수 있다. 구체적으로, 사용자 단말은 확보하고자 하는 메모리의 용량에 충족하였는지를 판단할 수 있다. 그리고, 사용자 단말은 충족되지 못하는 경우, 메모리의 용량이 충족될 수 있도록 상기 정렬된 후보 어플리케이션의 메모리 사용량을 고려하여 후보 어플리케이션을 종료할 수 있다.
일례로, 사용자 단말에서 확보하고자 하는 메모리의 용량은 150MB이고, 정렬된 후보 어플리케이션은 각각 내림 차순으로 90MB, 70MB, 50MB 일 수 있다. 그리고, 사용자 단말은 확보하고자 하는 메모리의 용량에 대응하여 90MB, 70MB에 해당하는 후보 어플리케이션을 종료함으로써, 160MB 메모리를 확보할 수 있다. 여기서, 사용자 단말은 90MB, 70MB에 해당하는 후보 어플리케이션을 종료하여 160MB 메모리를 확보함으로써, 50MB에 해당하는 후보 어플리케이션을 종료하지 않고, 최소한의 어플리케이션을 종료하여 보다 효율적인 메모리를 관리할 수 있다.
혹은, 메모리의 용량에 대응하여 메모리를 확보하지 못한 경우(No), 사용자 단말은 단계(404)로 피드백되어 종료 대상에 대한 후보 어플리케이션을 재 선택하여 메모리를 확보할 수 있도록 재 동작할 수 있다.
일실시예에 따른 사용자 단말은 중요도가 높은 상태를 가지는 어플리케이션의 생존을 최대한 보장시켜주며, 최소한의 어플리케이션을 종료함으로써, 보다 효율적으로 메모리를 관리할 수 있다.
본 발명의 실시 예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
101: 사용자 단말
102: 결정부
103: 선택부
104: 정렬부
105: 종료부

Claims (7)

  1. 사용자 단말이 수행하는 메모리 최적화 방법에 있어서,
    상기 사용자 단말의 메모리에서 사용되지 않는 여유 메모리를 확인하여 상기 확인한 여유 메모리에 대한 임계값을 나타내는 최소 가용 메모리에 해당하는 제1 중요도를 결정하는 단계;
    상기 결정한 여유 메모리의 제1 중요도를 기준으로 상기 메모리에 로드된 어플리케이션의 제2 중요도에 따라 종료 대상에 해당하는 적어도 하나의 후보 어플리케이션을 선택하는 단계;
    상기 선택된 후보 어플리케이션들의 메모리 사용량을 비교하여 상기 후보 어플리케이션을 정렬하는 단계; 및
    상기 사용자 단말에서 확보하고자 하는 메모리의 용량에 기초하여 상기 정렬된 후보 어플리케이션을 종료하는 단계
    를 포함하는 메모리 최적화 방법.
  2. 삭제
  3. 사용자 단말이 수행하는 메모리 최적화 방법에 있어서,
    상기 사용자 단말의 메모리에서 사용되지 않는 여유 메모리를 확인하여 상기 확인한 여유 메모리에 따른 제1 중요도를 결정하는 단계;
    상기 결정한 여유 메모리의 제1 중요도를 기준으로 상기 메모리에 로드된 어플리케이션의 제2 중요도에 따라 종료 대상에 해당하는 적어도 하나의 후보 어플리케이션을 선택하는 단계;
    상기 선택된 후보 어플리케이션들의 메모리 사용량을 비교하여 상기 후보 어플리케이션을 정렬하는 단계; 및
    상기 사용자 단말에서 확보하고자 하는 메모리의 용량에 기초하여 상기 정렬된 후보 어플리케이션을 종료하는 단계
    를 포함하고,
    상기 선택하는 단계는,
    상기 메모리에 로드된 어플리케이션 중에서 제1 중요도보다 낮은 중요도를 나타내는 적어도 하나의 후보 어플리케이션을 선택하는 메모리 최적화 방법.
  4. 사용자 단말이 수행하는 메모리 최적화 방법에 있어서,
    상기 사용자 단말의 메모리에서 사용되지 않는 여유 메모리를 확인하여 상기 확인한 여유 메모리에 따른 제1 중요도를 결정하는 단계;
    상기 결정한 여유 메모리의 제1 중요도를 기준으로 상기 메모리에 로드된 어플리케이션의 제2 중요도에 따라 종료 대상에 해당하는 적어도 하나의 후보 어플리케이션을 선택하는 단계;
    상기 선택된 후보 어플리케이션들의 메모리 사용량을 비교하여 상기 후보 어플리케이션을 정렬하는 단계; 및
    상기 사용자 단말에서 확보하고자 하는 메모리의 용량에 기초하여 상기 정렬된 후보 어플리케이션을 종료하는 단계
    를 포함하고,
    상기 후보 어플리케이션의 메모리 사용량은,
    상기 메모리에 로드된 어플리케이션에 대응하여 사용 중인 페이지의 수와 상기 메모리 중에 스왑 공간에서 사용되는 페이지의 수에 의해 결정되는 메모리 최적화 방법.
  5. 사용자 단말이 수행하는 메모리 최적화 방법에 있어서,
    상기 사용자 단말의 메모리에서 사용되지 않는 여유 메모리를 확인하여 상기 확인한 여유 메모리에 따른 제1 중요도를 결정하는 단계;
    상기 결정한 여유 메모리의 제1 중요도를 기준으로 상기 메모리에 로드된 어플리케이션의 제2 중요도에 따라 종료 대상에 해당하는 적어도 하나의 후보 어플리케이션을 선택하는 단계;
    상기 선택된 후보 어플리케이션들의 메모리 사용량을 비교하여 상기 후보 어플리케이션을 정렬하는 단계; 및
    상기 사용자 단말에서 확보하고자 하는 메모리의 용량에 기초하여 상기 정렬된 후보 어플리케이션을 종료하는 단계
    를 포함하고,
    상기 정렬하는 단계는,
    상기 선택된 후보 어플리케이션들의 메모리 사용량을 비교하여 상기 후보 어플리케이션 중 가장 큰 메모리 사용량을 가지는 후보 어플리케이션에 따라 내림 차순으로 정렬하는 메모리 최적화 방법.
  6. 사용자 단말이 수행하는 메모리 최적화 방법에 있어서,
    상기 사용자 단말의 메모리에서 사용되지 않는 여유 메모리를 확인하여 상기 확인한 여유 메모리에 따른 제1 중요도를 결정하는 단계;
    상기 결정한 여유 메모리의 제1 중요도를 기준으로 상기 메모리에 로드된 어플리케이션의 제2 중요도에 따라 종료 대상에 해당하는 적어도 하나의 후보 어플리케이션을 선택하는 단계;
    상기 선택된 후보 어플리케이션들의 메모리 사용량을 비교하여 상기 후보 어플리케이션을 정렬하는 단계; 및
    상기 사용자 단말에서 확보하고자 하는 메모리의 용량에 기초하여 상기 정렬된 후보 어플리케이션을 종료하는 단계
    를 포함하고,
    상기 종료하는 단계는,
    상기 확보하고자 하는 메모리의 용량에 충족하도록 상기 정렬된 후보 어플리케이션의 메모리 사용량을 고려하여 후보 어플리케이션을 종료하는 메모리 최적화 방법.
  7. 메모리에서 사용되지 않는 여유 메모리를 확인하여 상기 확인한 여유 메모리에 대한 임계값을 나타내는 최소 가용 메모리에 해당하는 제1 중요도를 결정하는 결정부;
    상기 결정한 여유 메모리의 제1 중요도를 기준으로 상기 메모리에 로드된 어플리케이션의 제2 중요도에 따라 종료 대상에 해당하는 적어도 하나의 후보 어플리케이션을 선택하는 선택부;
    상기 선택된 후보 어플리케이션들의 메모리 사용량을 비교하여 상기 후보 어플리케이션을 정렬하는 정렬부; 및
    사용자 단말에서 확보하고자 하는 메모리의 용량에 기초하여 상기 정렬된 후보 어플리케이션을 종료하는 종료부;
    를 포함하는 사용자 단말.
KR1020140108461A 2014-08-20 2014-08-20 메모리 최적화 방법 및 그 방법을 수행하는 사용자 단말 KR101591601B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140108461A KR101591601B1 (ko) 2014-08-20 2014-08-20 메모리 최적화 방법 및 그 방법을 수행하는 사용자 단말

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140108461A KR101591601B1 (ko) 2014-08-20 2014-08-20 메모리 최적화 방법 및 그 방법을 수행하는 사용자 단말

Publications (1)

Publication Number Publication Date
KR101591601B1 true KR101591601B1 (ko) 2016-02-04

Family

ID=55356267

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140108461A KR101591601B1 (ko) 2014-08-20 2014-08-20 메모리 최적화 방법 및 그 방법을 수행하는 사용자 단말

Country Status (1)

Country Link
KR (1) KR101591601B1 (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190003684A (ko) * 2016-06-10 2019-01-09 애플 인크. 애플리케이션 로딩을 위한 메모리 관리
US11150696B2 (en) 2016-06-10 2021-10-19 Apple Inc. Enhanced application preview mode
WO2022055261A1 (ko) * 2020-09-10 2022-03-17 삼성전자 주식회사 메모리를 관리하기 위한 전자 장치, 전자 장치의 동작 방법, 및 비 일시적 저장 매체
WO2023101152A1 (ko) * 2021-11-30 2023-06-08 삼성전자주식회사 대용량 메모리 사용 앱의 진입 속도를 개선하는 장치 및 방법
WO2024025143A1 (ko) * 2022-07-26 2024-02-01 삼성전자 주식회사 성능 정보를 고려하는 메모리 관리 방법 및 장치
WO2024080693A1 (ko) * 2022-10-12 2024-04-18 삼성전자 주식회사 전자 장치 및 전자 장치의 메모리 관리 방법
US12045598B2 (en) 2016-06-10 2024-07-23 Apple Inc. Providing updated application data for previewing applications on a display

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190003684A (ko) * 2016-06-10 2019-01-09 애플 인크. 애플리케이션 로딩을 위한 메모리 관리
KR102189612B1 (ko) 2016-06-10 2020-12-11 애플 인크. 애플리케이션 로딩을 위한 메모리 관리
US11150696B2 (en) 2016-06-10 2021-10-19 Apple Inc. Enhanced application preview mode
US11513557B2 (en) 2016-06-10 2022-11-29 Apple Inc. Enhanced application preview mode
US12045598B2 (en) 2016-06-10 2024-07-23 Apple Inc. Providing updated application data for previewing applications on a display
WO2022055261A1 (ko) * 2020-09-10 2022-03-17 삼성전자 주식회사 메모리를 관리하기 위한 전자 장치, 전자 장치의 동작 방법, 및 비 일시적 저장 매체
WO2023101152A1 (ko) * 2021-11-30 2023-06-08 삼성전자주식회사 대용량 메모리 사용 앱의 진입 속도를 개선하는 장치 및 방법
WO2024025143A1 (ko) * 2022-07-26 2024-02-01 삼성전자 주식회사 성능 정보를 고려하는 메모리 관리 방법 및 장치
WO2024080693A1 (ko) * 2022-10-12 2024-04-18 삼성전자 주식회사 전자 장치 및 전자 장치의 메모리 관리 방법

Similar Documents

Publication Publication Date Title
KR101591601B1 (ko) 메모리 최적화 방법 및 그 방법을 수행하는 사용자 단말
KR101700667B1 (ko) 스토리지 네트워크 데이터 할당
US11150949B2 (en) Resource release method, resource allocation method, devices, and computer program products
KR102290540B1 (ko) 네임스페이스/스트림 관리
CN109428913B (zh) 一种存储扩容方法及装置
CN104199784B (zh) 一种基于分级存储的数据迁移方法及装置
CN104090847A (zh) 一种固态存储设备的地址分配方法
CN107209716B (zh) 内存管理装置和方法
CN108762665B (zh) 一种控制存储设备读写的方法及装置
CN108874502B (zh) 云计算集群的资源管理方法、装置及设备
WO2019170011A1 (zh) 任务分配方法及装置、分布式存储系统
CN109981702B (zh) 一种文件存储方法及系统
CN107273200B (zh) 一种针对异构存储的任务调度方法
EP3208709B1 (en) Batch processing method and device for system invocation commands
CN112749135A (zh) 文件系统的存储空间的平衡的方法、设备和计算机程序产品
CN109725835A (zh) 用于管理盘阵列的方法、设备和计算机程序产品
CN109002348B (zh) 一种虚拟化系统中的负载均衡方法及装置
CN116483740B (zh) 内存数据的迁移方法、装置、存储介质及电子装置
CN112799588A (zh) 使用外部存储加载容器集群应用数据时的数据存储方法
CN104572484A (zh) 存储空间分配方法、存储空间分配装置和终端
CN109274609A (zh) 一种端口设置方法、装置、交换网板及可读存储介质
CN115543859A (zh) 多分区ssd的磨损均衡优化方法、装置、设备及介质
CN112352216B (zh) 数据存储方法及数据存储装置
CN109818767B (zh) 一种Redis集群容量调整的方法、装置及存储介质
CN109302353B (zh) 一种分配报文缓存空间的方法及装置

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190102

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200102

Year of fee payment: 5