Por que um aplicativo usaria diferentes quantidades de memória em computadores diferentes?

Por que um aplicativo usaria diferentes quantidades de memória em computadores diferentes?

Eu construí um aplicativo (OpenGL/SDL) que usa quantidades de memória muito diferentes em sistemas diferentes:

LGA2011/HD6950/16GbRam/W8PRO - 185Mb

LGA1155/HD7850/16GbRam/W7PRO - 180Mb

LGA1333/Quadro2000/W7PRO - 110Mb <------------- O que há com este?

2011MBA - 300+Mb (acho que isso se deve ao compartilhamento de RAM do igpu)

Como posso determinar o motivo disso?

Responder1

Quanto à sua pergunta, aqui está o que eu sei. Quando você olha para a memória que está sendo usada, ela pode mostrar diferentes tipos. Alguns computadores ocuparão parte da memória e a moverão para SWAP se estiverem usando sua RAM. Também pode estar usando memória virtual, que ocupa menos espaço, fazendo com que seu aplicativo pareça estar usando menos.

Se eles estiverem sendo executados em sistemas operacionais ou versões diferentes, isso poderá contribuir. Por exemplo, o Windows XP pode não lidar com a memória da mesma forma que o 7, o que pode alterar ligeiramente a quantidade de memória real que seu aplicativo usa.

Pequenas alterações nas placas gráficas ou outras peças de hardware também podem contribuir, exigindo memória de outro aplicativo, mas isso geralmente não acontece no Windows, ainda mais no baseado em Unix.

Quanto ao Mac, você está correto. O OS X armazena memória de maneira bem diferente e usará o máximo de memória RAM possível; começará a diminuir a quantidade quando a memória ficar baixa. Mas o compartilhamento de RAM da GPU é o que faz com que pareça tão importante.

Não sou o mais conhecedor do assunto, pois também sou engenheiro de software, talvez um engenheiro elétrico (ou alguém com conhecimento semelhante) pudesse entrar em maiores detalhes.

informação relacionada