테라 인벤 실시간팁 게시판

전체보기

모바일 상단 메뉴

본문 페이지

[기타] 가상메모리 어떻게 해야할까요..

Bellerophon
댓글: 21 개
조회: 21489
추천: 21
2014-09-15 11:50:58

1. 메모리

 

메모리는 데이터를 지속적으로 저장하는 하드디스크나 SSD와 같은 저장매체와 다르게,

임시로 불러오거나 사용해야 할 데이터가 필요할때 사용되며,

데이터 읽기 / 쓰기 속도가 하드디스크 보다 훨~씬 빠릅니다.

 

 

 

2. 가상메모리

 

가상메모리는 하드디스크 일부분을 메모리처럼 사용하여 부족한 메모리용량을 보조해주는 역할을 수행합니다.

상대적으로 안쓰는 데이터들을 메모리에 상주시키지 않고, 가상메모리로 지정한 하드디스크에 옮겨놓아

실제 메모리의 용량이 확보되는 식입니다.

 

맨위에 써놓았듯이, 메모리는 하드디스크보다 훨씬 빠르므로 가상메모리 기능을 활성화하면 병목현상이 일어납니다.

다시말해, 속도가 엄청 빠른 메모리를 쓰다가 용량이 부족해지면 하드디스크의 일부분을 메모리로 활용하기 때문에

메모리와 하드디스크의 속도차이가 큰만큼 버벅거리는 성능저하가 일어납니다.

 

아시다시피, 모든 프로그램은 일정 메모리 용량이 필요합니다. 그래서 데이터를 불러와서 사용할때

메모리가 부족하거나 메모리 총 용량을 넘어가는 경우 에러가 나게 됩니다.

이 정도가 심한 경우, 블루 스크린까지 뜨기도 합니다.

 

 

 

3. 메모리 부족현상

 

그렇다면 겜을 하다 왜 메모리가 부족하다는 메시지가 출력되며 에러를 뿜는 것일까요?

크게 2가지로 볼 수 있습니다.

 

 

  3-1. 물리적인 메모리 용량 자체가 부족한 경우

 

첫번째의 경우, 말그대로 메모리 용량 자체가 부족한 경우입니다.

일반적으로 윈7 64비트를 예로 들자면,

어느정도 인터넷도 이것저것 켜놓고 겜도 하면서 기타 프로그램을 돌리려면 8GB 정도는 필요합니다.

기본적으로 64비트 운영체제면 윈도우에서 기본적으로 먹는 양도 큰지라..

(개인마다 다르지만, 최대한 최적화 할시, 시스템 메모리 사용량이 첫 부팅 후 16~18% 정도가 됩니다.)

이보다 무거운 프로그램을 많이 돌리시는 분들은 그에 상응한 메모리 용량이 필요합니다.

 

그런데, 메모리는 우리가 흔히 아는 시스템 메모리 뿐만 아니라, 그래픽 카드에도 메모리가 있습니다.

시스템 메모리만 부족하다고 해서 메모리 부족 현상이 나타나는 것이 아니라 그래픽 카드에 장착된

메모리가 부족한 경우에도 메모리 부족 현상이 나타납니다.

다시말해, 시스템 메모리가 충분하더라도, 그래픽 카드의 메모리가 부족하면 겜이 강제종료 되거나

필요한 용량과 실제 메모리 용량의 차이가 크면 블루 스크린까지 뜨게 됩니다.

게임에서 나오는 텍스쳐 하나하나 모두 불러오고, 사용할 때마다 메모리를 차지합니다.

그래픽 엔진에는 텍스쳐 뿐만아니라 여러 다양한 구성요소들이 있고, 이들 데이터를 사용하기 위해서

그래픽 카드에도 메모리가 있는 것이죠.

 

일반적으로 그래픽 카드의 메모리가 부족해지는 경우는 다시

컴퓨터 사양에 비해 그래픽 옵션값을 너무 과하게 적용한 경우와

컴퓨터 사양이 좋더라도 겜에서 요구되는 메모리 용량이 큰 경우로 나뉩니다.

 

컴퓨터 사양이 좋아도 그래픽 카드 메모리가 부족한 경우는 그래픽 엔진 최적화와 밀접한 관계가 있습니다.

일반적으로 어떤 데이터를 불러와서 계속 메모리에 상주시킬 필요가 없어지면 그 데이터 값을 메모리에서

삭제하여 그 데이터가 움켜쥐고 있던 자원을 다시 환원시켜야 하는데,

이것이 잘 이루어지지 않고 계속 불필요한 정보가 메모리에 누적되면서 잔존하여

메모리 부족 현상이 일어나는 경우(이것은 시스템 메모리에서도 동일)가 있습니다.

이를 메모리 누수현상이라고 합니다. 메모리에서 활용할 수 있는 자원이 계속 이런 불필요한 데이터가

먹고 있어서 줄줄 새듯이 메모리 용량이 비효율적으로 사용되고 있는 것이죠.

 

가령, 처음 화면에 나무와 빛, 풀, 각종 벌레, 몇몇 나무통이나 오두막 같은 여러가지 것들이 나왔습니다.

그 후, 어떤 마을로 들어갔습니다. 그런데, 마을 안에서도 처음 화면에 나왔던 것들의 정보가 계속 출력이 되면

이후 불러와야 될 정보를 불러오지 못하게 됩니다. 이런 식으로 자원이 새는 거죠.

 

 

다른 경우는 그래픽 옵션이 너무 과해서 그렇습니다.

바닥에 깔려있는 풀하나하나와 그 그림자, 광원효과에 가령 200MB면 충분한데 얘한테 주는 음식을

1024MB로 주는 겁니다. 그럼 얼마 하지도 않아서 겜이 강종되겠죠?

여기엔 게임 자체 엔진 최적화도 관련이 있지만, 유저들이 적용하는 그래픽 옵션값이 과한 것도 있습니다.

대충 그래픽 설정을 최하로 돌려야 되는 사양인데,

무리하게 중으로 돌리면 엄청 느린 게임 진행속도로 진행은 되지만, 이게 심한 경우 메모리 부족으로 꺼지는 거죠.

 

 

  3-2. 사용하는 프로그램에서 강제로, 혹은 먼저 가상메모리를 필요로 하는데,

        가상메모리 기능을 껐거나 부족한 경우

 

가상메모리를 필요로 하는 프로그램들이 존재하지만 매우 극소수이며,

이런 경우에는  아주 오래된 프로그램들인 경우가 많습니다.

상황에 따라 필요한 경우, 필요한 만큼은 가상메모리를 활성화해줘야 하죠.

 

왜 이것들은 강제로, 혹은 먼저 어느정도의 가상메모리를 확보한 후에 프로그램이 구동되도록 했을까요?

 

지금이야 상대적으로 옛날보다 용량이나 성능이 빵빵하지만

옛날엔 지금보다 훨씬 용량과 성능이 제한적이었다는 것을 생각하시면 풀립니다.

겜으로 치면 당시의 기술력으론 그래픽 엔진 쪽 설계에서 최적화 부분이 미흡했거나, 당시 컴터 사양이 따라오지 못해서,

혹은 프로그래밍 하는 사람이 대충 뚝딱! 한거죠.

이 경우에는 프로그램에 아예 가상메모리를 요구하도록 해놓은 것이기 때문에

필수로 가상메모리를 설정해줘야 합니다.

단, 정말로 그러한 것인지, 아니면 사양에 비해 그래픽 옵션값이 과도하게 높은 값으로 해서 그런 것이 아닌지

한번 생각해보셔야 할 것 같아요.

 

 

 

4. 결론

 

가상메모리에 대해 의견이 분분한 것 같아 기재하게 되었습니다.

물리 메모리 용량이 부족하여 보조기능으로 사용하게 되는 가상메모리.

하지만 기본적으로 속도가 빠른 메모리와 이를 보충하여

부족한 부분을 상대적으로 엄청 느린 하드디스크의 일부분으로 때워서 생기는 성능저하.

이 가상메모리를 보다 편하게, 최대한 성능이 나오도록 메모리의 일부분을 가상 디스크로 만들어주는

램디스크 프로그램을 잘 활용하면 편의성과 성능 두가지를 잡을 수 있습니다.

 

그러나, 자주 사용하는 것들을 이미지로 떠서 부팅시마다 불러와서 저장하는 특성상,

덩치가 커지게 되면 부팅속도가 느려지게 됩니다.

프로그램에서 지원하면, 읽어들이는 우선순위와 필수로 읽어들여야 하는 것들을 지정해서

좀더 속도를 개선시킬 수도 있습니다.

하지만, 시스템 램(DRAM)보다 입출력이 동시에 되면서 월등히 속도도 빠른 그래픽 카드 램(VRAM)의

부족한 용량을 일반 시스템 메모리로 보충하는 것이라서,

하드디스크로 때우는 것만큼은 아니지만 그래도 속도차이가 많이 나서 병목현상이 여전히 존재합니다.

그래픽 카드의 부족한 메모리 용량을 가상메모리로 요구하는 건 저가용 그래픽 카드 때문에 고안된 것이라

아무래도 성능에선 가상메모리를 사용하지 않는 걸 따라갈 수는 없습니다.

 

그나마 SSD로 때운다면 낫지만요. 하지만, 그것보단 그래픽 카드를 바꾸시는걸 추천합니다.

왜냐하면, 그래픽 카드 램 용량 부족한 부분으로, (프로그램에서 가상메모리를 강제로 요구하는 것이 아니면)

Ram까지 끌어올 정도면 이미 상당히 오버스펙이거나 그래픽 옵션값이 너무 높은 경우이니까요.

[시스템 램 용량 자체가 너무 부족해서 바꾸는 것과 같은 이유]

(Ram은 일반적으로 동작클럭이 젤 낮은 동작클럭으로 작동합니다.

즉, 1초에 2Km만큼 뛰는 램이 있어도, 같이 뛰는 램이 1초에 1.333Km 뛰면 둘 다 1초당 1.333Km의 속도로 뛰게 되죠.)

  - 일반 DRAM이 이제 DDR3일때, 2010년에 ATI의 그래픽 카드는 이미 DDR5 램을 달았습니다.

 

그런데, 가상메모리를 필수로 하는 프로그램은 극소수이고,

거기서도 실제론 가상메모리를 필수로 요구하지 않는 프로그램이지만,

사용자의 그래픽 옵션값이 과해서 가상메모리가 필요한 경우가 많기 때문에

그래픽 옵션을 최대한 사양(그래픽 카드 램 용량도 포함)에 맞게 조정하시면,

가상메모리를 굳이 활성화할 필요가 없다는 것이 제 생각입니다.

 

가상메모리를 킬 바에야 해당 그래픽 엔진에 대해서 알아보고 그래픽 옵션을 최대한 조정해서

원하는 그래픽 품질과 속도의 밸런스를 맞춰 설정하면 강제로 프로그램에서 가상메모리를 요구하지 않는 이상,

가상메모리는 필요가 없어지기 때문입니다.

이는 가상메모리가 나오게 된 배경과 기능에서도 일맥상통하구요.

여기에는 성능을 젤 중시하는 제 성향도 들어가있습니당.

 

여기에 윈도우도 최대한 최적화해서 불필요한 프로그램이 상주하지 않도록 하면 더 좋겠죠.

물론 램 용량이 너무 부족한 경우에는 추가로 장착을 하고,

그래픽 카드의 성능과 램용량이 부족하다면 그래픽 카드를 상위 카드로 교체하구요.

 

- 저는 현재는 윈7 64비트, 시스템 메모리 8GB, ATI 라데온 HD 7870 2GB로 사용하는데

  가상메모리가 필요한 경우는 아직 보지 못했고, 그것때문에 오류가 난 적도 보지 못했습니다.

  물론 최대한 컴퓨터는 최적화한 상태이구요.

 

마영전은 데브캣이 임의로 유저가 설정을 변경하지 못하도록 막아놓은 것도 있지만

2004년 버전 스팀 엔진을 개조해서 최적화쪽에서

언리얼엔진3보다 최적화 여지가 매우 적습니다.

[언리얼엔진이 훨씬 나중에 나와서 당연한 거지만]

(언리얼엔진3는 테라 때문에 얼마나 많은 시간을 들여 공부했는지 몰라요 ㅠ_ㅠ)

 

배틀필드4는 아직 해보진 않았지만, 여러사람들이 말하는 것을 봤을때,

제작사에서 최적화를 해줘야 할 것 같습니다.

물론 현재의 기술력이 부족해서 사양이 못따라가는 것일 수도 있겠지만,

큰 차이가 없이 전작과 같은 그래픽 엔진을 개선해서 썼는데, 그래픽은 많이 좋아졌지만

메모리가 부족하다..라는건 아직 현재 나오는 컴터의 사양한계보다는

그래픽 효과가 이것저것 많이 들어가서 그런 것 같네요.

 

모든 프로그램과 게임을 해보진 않았지만,

여러 게임들과 여태까지 컴터를 사용해본 경험으로는 그렇습니다.

 

게임 최적화를 알아보고 적용하는건 생각보다 많은 시간을 요구하기 때문에

성능보다 안전하고, 편리하게 사용하고 싶으시다면 메모리 사용량을 모니터링해서

가상메모리를 필요한 만큼만, 켜놓으시는 것을 추천드립니다.

SSD와 램디스크 프로그램 사용은 또 취향에 따라..

 

 

 

* 요약

 

- 어느정도 지식이 있고, 가상메모리보다 성능이 좋다면

   컴터 최적화+겜 그래픽 엔진 설정 최적화+충분한 램+가상 메모리 off.

 

- 성능보다 안전하고, 편리하게 사용하고 싶다면

   가상메모리 on or 램디스크.

 

 

 

 

 

p.s. 최대한 많은 분들이 아실 수 있도록 길~게 많은 시간을 들여 썼는데,

      걍 조용히 있어야겠다!..고 하시면 앙대요!! ㅠ_ㅠ

Lv70 Bellerophon

모바일 게시판 하단버튼

댓글

새로고침
새로고침

모바일 게시판 하단버튼

지금 뜨는 인벤

더보기+

모바일 게시판 리스트

모바일 게시판 하단버튼

글쓰기

모바일 게시판 페이징

AD