Como posso simular um PC com menos memória física do que para testar o desempenho?

1

Nosso aplicativo lida com arquivos grandes, digamos 2Gb, e a sabedoria aceita é que os usuários precisam do tamanho do conjunto de dados da RAM 10X. Os desenvolvedores têm máquinas bem especificadas, mas alguns usuários vêem um desempenho horrível, que atribuímos à RAM muito menor, mas não podem provar ou medir categoricamente.

Existe uma maneira no Windows, Linux, Mac para 'esconder' RAM do sistema operacional sem desligá-lo. Idealmente em tempo de execução, ou seja, não BIOS? Ou até mesmo um utilitário que engolirá uma quantidade solicitada de RAM e impedirá que outros aplicativos o usem?

Nosso aplicativo também faz demandas pesadas de GPU via OpenGL, o que torna as VMs uma opção complicada. Eu sei que o Parallels e o VirtualBox simplesmente não suportam a versão do OpenGL que usamos, outros podem, mas às vezes são caros.

    
por Mr. Boy 19.09.2018 / 19:46

3 respostas

2

Existe.

No Linux, use o parâmetro de linha de comando do kernel mem= . Adicione esta opção à linha de comando do kernel no GRUB. Referência.

O Windows possui os parâmetros de inicialização /BURNMEMORY e /TRUNCATEMEMORY . Use bcdedit para adicionar essas opções ou Referência . No Windows Vista e 7, a F10 leva você a uma tela de pré-inicialização, na qual você pode adicioná-la apenas àquela sessão, sem ter certeza de como isso funciona no Windows 10. Use a opção BCDEdit se não estiver disponível. Outra referência .

    
por 19.09.2018 / 20:44
1

Deduza alguma memória disponível criando um ramdrive, que não imporá a carga adicional do ciclo de CPU de uma VM.

Ramdrives, ou ramdisks, são discutidos aqui para Windows , Linux e MacOS .

Para o Windows, um aplicativo de código aberto é o ImDisk , mas há muitas outras opções.

O Linux inclui tmpfs , mas você tem várias outras opções aqui, como o uso de mem como uma opção de linha de comando no kernel , conforme observado nos comentários abaixo por Austin Hemmelgarn .

Para o MacOS, você nem precisa criar o disco virtual para obrigar a memória; em vez disso, de acordo com o link acima mencionado, faça

hdiutil attach -nomount ram://1165430 /dev/disk4
    
por 19.09.2018 / 20:13
-1

Outra ideia: você pode configurar uma máquina virtual com qualquer quantidade de RAM desejada e executar o aplicativo para ver como ela se comporta.

    
por 19.09.2018 / 21:16