Main Content

memory

설명

예제

memory는 컴퓨터에 있는 메모리의 양과 MATLAB®에서 사용하고 있는 메모리의 양에 대한 정보를 명령 창에 표시합니다. MATLAB에 메모리가 부족한 경우나 메모리 사용량이 많아 성능 회귀가 발생하는 경우 memory를 사용하여 메모리 세부 정보를 조사할 수 있습니다.

memory 함수는 Microsoft® Windows® 플랫폼에서만 사용할 수 있습니다.

예제

[userview,systemview] = memoryuserview에는 사용자 중심의 메모리 정보를, systemview에는 시스템 중심의 메모리 정보를 반환합니다.

예제

모두 축소

컴퓨터 메모리에 대한 정보를 가져와서 명령 창에 표시합니다.

memory
Maximum possible array:       60021 MB (6.294e+10 bytes) *
Memory available for all arrays:       60021 MB (6.294e+10 bytes) *
Memory used by MATLAB:        3337 MB (3.499e+09 bytes)
Physical Memory (RAM):       65189 MB (6.836e+10 bytes)

*  Limited by System Memory (physical + swap file) available.

사용자 중심의 메모리 정보를 구조체 user에 반환합니다. 이 구조체를 사용하여 MATLAB 프로세스가 사용하도록 예약된 메모리의 크기를 표시합니다.

user = memory;
disp(user.MemUsedMATLAB)
   3.4986e+09

사용자 중심의 메모리 정보와 시스템 중심의 메모리 정보를 반환합니다.

[user,sys] = memory
user = struct with fields:
    MaxPossibleArrayBytes: 6.2927e+10
    MemAvailableAllArrays: 6.2927e+10
            MemUsedMATLAB: 3.4986e+09

sys = struct with fields:
    VirtualAddressSpace: [1×1 struct]
           SystemMemory: [1×1 struct]
         PhysicalMemory: [1×1 struct]

PhysicalMemory 구조체의 Available 필드에 액세스하여 컴퓨터의 사용 가능한 물리적 메모리의 크기를 표시합니다.

disp(sys.PhysicalMemory.Available)
   5.4366e+10

출력 인수

모두 축소

사용자 중심의 메모리 정보로, 구조체로 반환됩니다. userview에는 다음과 같은 3개의 필드가 있습니다.

필드 이름필드 값
MaxPossibleArrayBytes

사용 가능한 가장 큰 연속 메모리 블록의 크기로, MATLAB이 현재 만들 수 있는 가장 큰 배열의 크기 상한입니다.

이 필드의 값은 다음 두 개의 값 중에서 작은 값입니다.

  • MATLAB 가상 주소 공간에 있는 가장 큰 연속 메모리 블록

  • 총 사용 가능한 시스템 메모리

이 숫자가 나타내는 배열 요소의 개수를 보려면 배열 클래스의 바이트 수로 나누십시오. 예를 들어, double형 배열의 경우에는 8로 나눕니다. MATLAB이 만들 수 있는 실제 요소의 수는 항상 이 수보다 작습니다.

MemAvailableAllArrays

데이터를 저장하는 데 사용 가능한 총 메모리. 사용 가능한 메모리 크기는 적어도 이 값 크기만큼 보장됩니다.

이 필드의 값은 다음 두 개의 값 중에서 작은 값입니다.

  • 총 사용 가능한 MATLAB 가상 주소 공간

  • 총 사용 가능한 시스템 메모리

MemUsedMATLAB

MATLAB 프로세스에 사용하도록 예약된 총 시스템 메모리.

시스템 중심의 메모리 정보로, 구조체로 반환됩니다. systemview에는 다음과 같은 3개의 필드가 있습니다.

필드 이름필드 값
VirtualAddressSpace

필드 AvailableTotal을 갖는 스칼라 구조체.

  • Available 필드의 값은 MATLAB 프로세스에 사용할 수 있는 가상 메모리의 크기입니다.

  • Total 필드의 값은 MATLAB 프로세스에 사용할 수 있는 총 가상 메모리의 크기입니다.

SystemMemory

필드 Available을 갖는 스칼라 구조체. Available 필드의 값은 사용 가능한 시스템 메모리의 크기입니다. 여기에는 컴퓨터의 물리적 메모리의 사용 가능한 크기와 사용 가능한 스왑 파일 공간의 크기가 포함됩니다.

PhysicalMemory

필드 AvailableTotal을 갖는 스칼라 구조체.

  • Available 필드의 값은 컴퓨터의 사용 가능한 물리적 메모리(RAM)의 크기입니다. 이 값은 디스크의 페이징 파일 없이 액세스할 수 있는 데이터 크기의 척도로 사용할 수 있습니다.

  • Total 필드의 값은 컴퓨터의 총 물리적 메모리의 크기입니다.

세부 정보

모두 축소

메모리 정보 표시

memory는 명령 창에 다음 값을 표시합니다. 여기에 보고되는 값은 모두 double형이며 바이트로 표현됩니다.

  • Maximum possible array: 사용 가능한 가장 큰 연속 메모리 블록의 크기

  • Memory available for all arrays: 데이터를 저장하는 데 사용 가능한 총 메모리

  • Memory used by MATLAB: MATLAB 프로세스에 사용하도록 예약된 총 시스템 메모리

  • Physical Memory (RAM): 컴퓨터의 총 물리적 메모리(RAM)

MATLAB은 위 값에 더해 다음 설명을 표시할 수 있습니다.

*  Limited by System Memory (physical + swap file) available.

  • 이 설명이 Maximum possible array에 표시된다면 시스템 메모리가 부족하여 MATLAB 프로세스의 사용 가능한 가장 큰 블록에 있는 모든 가상 주소를 매핑할 수 없습니다.

  • 이 설명이 Memory available for all arrays에 표시된다면 시스템 메모리가 부족하여 MATLAB 프로세스의 모든 사용 가능한 가상 주소를 매핑할 수 없습니다.

MATLAB이 사용하는 메모리

MATLAB은 MATLAB 프로세스 메모리 구조를 확인하고 디스크의 메모리나 페이징 파일에 물리적 저장 공간이 할당되어 있는 모든 섹션의 합을 구하여, Memory used by MATLAB의 크기를 계산합니다.

결과에 영향을 미치는 요인

실제 메모리 정보는 함수가 호출되었을 때 캡처된 정보와 다를 수 있습니다. 결과는 사용자의 컴퓨터 하드웨어와 시간에 따라 달라지는 컴퓨터에 대한 부하에 따라 다릅니다.

예약된 주소

예약된 주소는 향후 특정하게 사용하기 위해 프로세스 가상 주소 공간에서 따로 대비해 둔 주소입니다. 이 예약된 주소는 Memory available for all arrays의 크기를 줄이며 Maximum possible array의 현재 값이나 향후 값의 크기를 줄일 수 있습니다.

예를 들어, MATLAB 시작 시, MATLAB 가상 주소 공간의 일부가 Java® Virtual Machine(JVM®)에 의해 예약되므로 MATLAB 배열을 저장하는 데 사용할 수 없습니다.

확장 기능

버전 내역

R2008a에 개발됨