Memory 업그레이드

2007.11.20 12:12 | 메모리

              질문

현재 DDR 256Mb 266Mhz의 memory를 확장하려 512Mb 400Mhz를 구입하였읍니다.

256Mb 266Mhz를 제거하고 512Mb 400Mhz만을 쓰는 것이 좋을까요?

아니면 그냥 추가하여 속도는 떨어지더라도 768Mb를 쓰는 것이 좋을까요?

Motherboard는 1Ghz까지 지원합니다.

사용자 삽입 이미지

           해결





512MB 하나만 사용하는 것이 프로그램 사용할때 도움이 됩니다.

XP는 펜티엄4의 CPU와 메인메모리 512M 정도이면 충분합니다.

 
 기존에 메모리를 가지고 있다가 업그레이드를 한다고 했는데

 기존것과 새로 구입하는 메모리를 모두 사용할 수도 있습니다.

 그런데 메모리가 266짜리와 400짜리로 혼용을 하면 윈도우에서는 동작클럭속도를
 266에 맞추게 됩니다.

 업그레이드를 한다면 266mhz짜리 메모리를 빼로 400으로 맞춰서 512M로
 운영하는 것이 더 좋다고 생각을 합니다.

 참고로 윈도우 비스타는 메모리를 2G로 맞추는게 좋습니다.
 메모리를 구입할 때는
 프로그램마다 권장사양이 있는데 권장사양보다는 2배로 구입하는것이
 사용하는데 무리가 없을 겁니다.

 윈도우비스타가 보통 1G라고 권장하면 2G를 준비를 해두어야 게임을 자유롭게
 할 수 있겠지요..

 특히 특정 프로그램을 염두에 두고 업그레이드를 한다면
 메모리만 올리면 될런지...
 CPU까지 올려야 되는지 확인을 해봐야 합니다.

 

          추가정보


 제가 보기에는 가정에서 사용할때
 동영상이나 포토샵, 게임을 사용한다면 필요하지만
 오피스, 아래한글, 인터넷을 쓸데는 그렇게 사양이 높지 않아도 되지요.

 
  메모리 운영

 프로그램(프로세스)가 실행이 되면 프로그램은 메인메모리에 올라갑니다.
 윈도우에서 사용하는 메모리를 이용하는 방식이 있는데
 고정적인 메모리 할당방식과 가변적으로 메모리를 할당하는 방식을 사용을 합니다.
 
 고정적으로 메모리를 할당하는 영역은 주로 하드웨어 장치나 드라이버들이
 윈도우 부팅 때 차지하고 있고..
 가변적으로 사용하는 것은 일반 프로그램들을 사용합니다.

 메인메모리(ram)에 먼저 올라가고 메인메모리에 더 들어갈 빈 공간이 없으면
 디스크영역 즉 가상메모리 영역에 프로그램들이 올라가서
 cpu와 정보를 주고 받으면서 실행이 되게 됩니다.

 즉 메모리를 늘리면 프로그램의 실행 속도가 빠르게 실행되는 것이 바로
 이런 속성 때문입니다.

 RAM의 영역이 디스크영역보다 훨씬 빠르기 때문에 RAM이 많으면 그만큼
 RAM에 할당되는 프로그램영역이 커지고 RAM에서 실행되기 때문이지요..

 한가지 명심할 것은
 프로그램이 실행되고 난 다음에
 프로그램에 따라서 CPU와 RAM을 많이 쓰는 프로그램들이 있고
 일반 디스크 영역의 가상메모리를 쓰는 프로그램들이 있다는 것입니다.

 예제.

 동영상, 그래픽, 3D 게임들은 CPU와 정보를 많이 주고 받아야 합니다.
 좌표나 프레임, 동작등을 CPU가 계산을 많이 해야 되기 때문에
 RAM의 용량이 많으면 그만큼 CPU와 주고 받는 시간이 단축되고
 사용자가 볼때는 빠르게 느껴지겠지요..

 일반 오피스의 파워포인트, 엑셀과 같이 프로그램 자체에 기능이 많고
 작업을 할 때 데이타도 많아 질 때
 RAM의 용량을 이용해서 프로그램을 사용한다면
 훨씬 빠르게 보일 겁니다.

 많은 파일을 복사할때도 마찬가지겠지요
 


질 문


예전에 win98 사용 시에 '메모리부족' 현상에 대해 그것을 정정하고
가상메모리를 늘려 사용하는 방법 등을 보고 그대로 따라하는 등의
조치를 취했던 기억은 나는데...

그거 비슷한 건가요?
그리고 메시지대로 그냥 두고 기다리면 되는 건가요?




해 결

에러사인을 보니까
프로그램이 실행이 되면서 나오는 에러 사인 같습니다.

프로그램중에는 가상메모리를 많이 사용하는 프로그램들이 있습니다

주로 그래픽, 멀티미디어 용 프로그램들이 많이 사용을 하게 됩니다.

옛날에는 음악프로그램들은 일부러 캐시메모리를 잡아놓고
사용했던 기억도 납니다만..

주로 그래픽 관련 프로그램들이 가상메모리가 작으면 늘려줄겁니다.

왜 그런가 하면

그래픽 프로그램들의 기능을 보면 장난이 아니게 많습니다.

기능을 메뉴로 보면 됩니다.
그런데 프로그램의 메뉴가 많다는 것은 그많큼 dll 파일을 많이 사용한다는
증거입니다.

메뉴하나당 기본적으로 dll 파일이 20-30개는 사용될겁니다.
윈도우에서 제공하는 기본 dll 파일과 메뉴의 dll파일이 같이 돌아가야 하니까요..

그런데 dll파일이라는 놈이 가상메모리를 주로 많이 사용합니다.

그렇게 윈도우에서 설계되었기 때문입니다.

그러니까 자동을 늘리는 함수도 있습니다.
shellxx.dll 파일, advapi32.dll 파일들이 그역할을 할 겁니다.

advapi32.dll파일에서 프로그램이 사용할 커널메모리 영역을 얻지 못하면
"프로그램을 실행할 수 없다는 사인을 내보거내거나"
아니면 먹통이 되고

잘 설계된 프로그램이라면 shell을 통해서 다시 윈도우의 메모리 영역을
넓히라는 사인을 받아서 다시 advapi32.dll 한테

메모리를 허락을 받아 낼겁니다.

그래서 허가나 나면 shell에서 가상메모리를 넓히겠다는 사인을 내보낼 겁니다.

질문 내용의 답변은
사인대로 처리될 때까지 기다려 보든가

이 기회에 안쓰는 파일이나 프로그램을 정리를 해보는것이 더 좋은
방법이 될 것 같습니다.


추가



그동안 메일을 받아본 분들은 가끔 이렇게 쓰는 것을 1년에 1-2 번 봤을 겁니다.

파일들이 모두 사람이라고 생각을 해보고 상상을 해보면 됩니다.

컴퓨터에 들어간 데이타용 파일을 빼놓은 나머지

프로그램들을 설치하면서 저장된 파일들은 뭔가를 역할이 있는 파일들입니다.

설치가 중요한 것이 역할 분담이 결정이 되는데
설치가 제대로 안되거나 설치되었는데 정보가 풀렸을 경우에는
프로그램으로서의 구실을 못하게 됩니다.

핵심은
설치 때 레지스트리 정보를 저장 했다가
실행이 될 때 레지스트리에서 파일들의 역할을 분담하면서 작동이 되기 때문에
파일과 레지스트리 유기적으로 돌아가야 하는 부분이 중요합니다.

파일은 있는데 레지스트리에 등록이 안되어도 문제가 되고
레지스트리에는 있는데 파일이 다른 폴더에 있는 것도
문제가 됩니다.

위의 질문과 같은 문제가 발생하는 프로그램을 보았을 경우에는
다시 한번 해당 프로그램의 사양을 한번 체크를 꼭 해보는것이 좋겠지요.

일반적으로 제품의 사양은 최소사양을 제품포장에 적어 둡니다.
그러니까 2배정도로 항상 생각을 해서
제품 사양을 꼼꼼하게 살펴보세요.