응용 프로그램이 컴퓨터마다 다른 양의 메모리를 사용하는 이유는 무엇입니까?

응용 프로그램이 컴퓨터마다 다른 양의 메모리를 사용하는 이유는 무엇입니까?

저는 다양한 시스템에서 매우 다른 양의 메모리를 사용하는 애플리케이션(OpenGL/SDL)을 구축했습니다.

LGA2011/HD6950/16GbRam/W8PRO - 185Mb

LGA1155/HD7850/16GbRam/W7PRO - 180Mb

LGA1333/Quadro2000/W7PRO - 110Mb <--------------- 이 제품은 어떻게 되나요?

2011MBA - 300+Mb (이것은 igpu 공유 RAM 때문인 것 같습니다)

그 이유를 어떻게 확인할 수 있습니까?

답변1

귀하의 질문에 대해 제가 알고 있는 것은 다음과 같습니다. 사용 중인 메모리를 보면 다양한 종류가 표시될 수 있습니다. 일부 컴퓨터에서는 RAM을 사용하는 대신 일부 메모리를 가져와 SWAP으로 옮깁니다. 또한 공간을 적게 차지하는 가상 메모리를 사용하여 앱이 공간을 적게 사용하는 것처럼 보이게 만들 수도 있습니다.

다른 OS나 버전에서 실행되고 있다면 그게 기여할 수 있습니다. 예를 들어 Windows XP는 7과 같은 방식으로 메모리를 처리하지 않을 수 있으며, 이로 인해 앱에서 사용하는 실제 메모리 양이 약간 변경될 수 있습니다.

그래픽 카드나 기타 하드웨어의 약간의 변경도 다른 앱에 메모리를 요구하여 영향을 미칠 수 있지만 일반적으로 Windows에서는 발생하지 않으며 Unix 기반에서는 더욱 그렇습니다.

Mac의 경우 귀하의 말이 맞습니다. OS X은 메모리를 매우 다르게 저장하며 가능하다면 모든 RAM 메모리를 최대한 많이 사용합니다. 메모리가 부족해지면 양을 줄이기 시작합니다. 그러나 GPU 공유 RAM이 그 RAM을 너무 높게 보이게 만드는 것입니다.

나는 또한 소프트웨어 엔지니어이기 때문에 이 주제에 대해 가장 잘 아는 것은 아닙니다. 아마도 전기 엔지니어(또는 비슷한 지식을 가진 사람)가 더 자세히 설명할 수 있을 것입니다.

관련 정보