memory

Microsoft/Core

Memory Count

Memory 용어 Page - Memory의 가장 작은 단위 - 32Bit, 64Bit : 4KB - IA64 : 8KB Paging - Physical Memory양 수정을 위해 Memory의 Content를 Disk로 옮김 Shared Memory - exe, dll의 경우 같은 Path를 사용하므로 자동으로 해당 Memory를 Share한다. Trimming the Working SEt - 가장 오래전에 Access한 Page를 Working Set에서 Page Out한다. Process(*)\Virtual Bytes - Process 별 Virtual Memory 사용량 - Reserved and Committed User Memory 의 총합 x86 : 2GB x86 without LargeAd..

DB Server/MS Sql Server

Sql Server와 CPU

CPU는 프로세스에서 처리를 요청하는 연산을 수행해주는 파트입니다. 컴퓨터는 프로세스가 처리를 요청하는 경우 CPU의 Schedule에 해당 요청을 올리며 Memory에 필요한 데이터를 적제합니다. 해당 Processing에 대해 처리할 순서가 된경우 Memory에서 해당 데이터를 Cache에 올려 처리 후 다시 Memory에 결과값을 적재하여 요청한 결과를 반환하는 것이 폰 노이만 구조에서의 처리 방식입니다. 기본적으로 CPU는 다음과 같은 4단계를 통해 연산을 수행합니다. 1) Fetch : 사용가능한 CPU에서 처리할 수 있도록 데이터를 Main Memory에서 가져옵니다. 2) Decode : 데이터를 CPU가 처리할 수 있는 언어로 변환(이진코드) 3) Execute : 개개의 Core에서 각 ..

Microsoft/Core

SMP(Symmetric Multi Processing)

지난 시간에 알아본 Numa와 비슷하게 멀티 프로세싱 기법 중 하나이다. [그림 1] SMP 관계도 [그림 1]을 보면 쉽게 알 수 있다. CPU와 Memory가 System Bus를 통해 연결되어 있는 구조는 NUMA와 동일하다. 단 NUMA의 경우 CPU와 Memory가 하나의 Pair로 구성이 되어 있지만 SMP는 CPU와 Memory가 독립구성이다. 이런 구조는 CPU와 Memory사이의 병목 현상을 초래한다. 즉 하나의 Process가 실행되기 위해 요청되어지면 Memory요청을 한곳에서만 하게된다. 단 Numa와 같이 내부, 외부 메모리로 구분되어지지 않고 하나의 Memory로만 사용되기 때문에 외부 메모리 사용에 따른 지연 현상은 없게된다. SMP는 PC에 대부분 사용되어지고 있다.

DB Server/MS Sql Server

Numa의 이해

오늘은 Numa(Non-Uniform Memory Access) 아키텍처에 대해 알아보도록 하겠습니다. 하드웨어가 발전하면서 하나의 메인보드에 여러개의 CPU, 버스, 메모리 컨트롤러를 구성할 수 있게 되었습니다. Numa는 간단하게 CPU와 메모리가 한 Set를 이루는 것을 의미합니다. [그림1] Numa 관계도 그림 1을 보면 Processor와 Memory 가 하나의 그룹을 이루며 각 그룹은 Numa Node라고 불립니다. 하나의 Node는 CPU와 Memory가 Pair로 구성되어 있으며 Bus를 통해 각각의 Node는 연결되어 있습니다. 그럼 1번 Node를 기준으로 하여 각 용어를 설명하도록 하겠습니다. 로컬 메모리 - 1번 Node의 메모리를 의미합니다. 외부 메모리 - 2, 3, 4번 No..

Microsoft/Core

User Mode, Kernel Mode

윈도우즈의 메모리는 User 모드와 Kernel모드로 나뉘어져 있으며 주소별로 역할이 정해져 있다. [그림 1] X86 레이아웃 그림 1을 보면 간단하게 User Space와 Kernel Space를 구분하여 사용하는 것을 알 수 있다. 일반적으로 User Mode는 일반 Application의 영역이며 Kernel Mode는 OS관련 프로그램과 디바이스 드라이버가 위치를 하게 된다. Kernel 메모리에는 OS가 로드되면서 OS와 관련있는 함수(API)와 디바이스 드라이버 등과 같이 OS 구동에 필요한 데이터들이 올라가 있다. 인텔 X86 프로세서는 특권계층이라는 것을 두어 계층별로 접근할 수 있는 영역을 구분하여 사용하고 있다. [그림 2] 특권레벨 그렇다면 User Mode에 올라간 Applicat..

Microsoft/Core

메모리 체크 관련 툴

1. Pooltag.txt rem rem Pooltag.txt rem rem This file lists the tags used for pool allocations by kernel mode components rem and drivers. rem rem The file has the following format: rem - - rem rem Pooltag.txt is installed with Debugging Tools for Windows (in %windbg%\triage) rem and with the Windows DDK (in %winddk%\tools\other\platform\poolmon, where rem platform is amd64, i386, or ia64). rem Ad..

Microsoft/Core

Intel 80x86 메모리 처리 기법

윈도우의 메모리를 알아 보기 전 Intel 80x86 계열에서의 메모리 처리 기법에 대해 먼저 알아보기로 하자. 1. 가상 주소 운영 체제에서 제공하는 메모리 관리기법으로 실제 메모리와 운영체제의 도움으로 하드디스크까지 메모리의 보조적인 기억장치(Paging Space)를 포함하는 주소를 의미한다. [그림1] 메모리의 가상 주소 및 실제 주소(출처 : 위키백과) 그림 1에서 보는 바와 같이 가상 메모리 주소는 실제 메모리 주소와 메핑되어 있으며 page 단위로 나누어져 있다. page는 다음에 알아보기로 하며 해당 page는 process가 사용하고 있는 page와 process가 사용하고 있지 않는 page로 나뉘어져 있다. process에 속해 있다는 의미는 해당 page가 process가 구동되는 ..

로멘틱가이
'memory' 태그의 글 목록