Tem como limitar a quantidade de ram que a igpu vai pegar?

Tem como limitar quanto de ram a igpu intel hd vai pegar no sistema?

Não. O vídeo integrado sempre irá usar a quantidade de RAM que for necessária. Do contrário, o computador congelaria.

Detalhando um pouco mais… Consideremos um processador ou chipset equipado com vídeo integrado. Na BIOS, é possível que exista - mas nem sempre - uma opção de definir a quantidade pré-alocada de RAM para o vídeo. Isso não significa que aquela será a quantidade máxima de RAM usada pelo vídeo, mas sim que aquela quantidade ficará reservada para o vídeo e o restante do sistema não poderá usá-la como RAM.

Digamos que você está executando um jogo que, em determinado momento, precisa de 1,8GB de memória de vídeo. Se a quantidade pré-alocada fosse, por exemplo, 1GB, o vídeo integrado usaria o 1GB pré-alocado e pegaria mais 800 MB do restante da RAM. Se a quantidade pré-alocada fosse, por exemplo, 2GB, o vídeo usaria 1,8GB da pré-alocação e os outros 200 MB ficariam reservados.

√Č muito comum encontrar v√≠deos no YouTube contendo informa√ß√Ķes incorretas sobre isso, sugerindo que aumentar a pr√©-aloca√ß√£o poderia resultar em aumento de desempenho. N√£o √© assim que isso funciona e essa op√ß√£o s√≥ existe por conta de alguns contextos espec√≠ficos, conforme eu explico neste t√≥pico:

√Č importante ressaltar que esse compartilhamento de mem√≥ria √© realidade mesmo para placas de v√≠deo dedicadas. Assim que a VRAM dedicada chega ao limite, a placa come√ßa a fazer uso da RAM da m√°quina. Naturalmente que, quando isso come√ßa a ocorrer, h√° perda de desempenho, j√° que a RAM tende a ser muito mais lenta que a VRAM. Esse recurso existe h√° d√©cadas e serve justamente para impedir que o sistema trave.

Podemos, de certa forma, fazer analogia com o recurso de swap: se ele não existir, a máquina precisa encerrar processos ou irá travar por falta de memória. Com a memória gráfica é a mesma coisa.

Em resumo: se a BIOS do seu laptop permitir, você pode reduzir a pré-alocação de memória gráfica para o menor valor disponível. Isso vai permitir que o sistema use a quantidade que antes estava reservada e bloqueada, mas não impedirá o vídeo integrado de usar o quanto for necessário para funcionar. :wink:

6 curtidas

O meu sistema est√° travando sem motivo aparente (nem no journalctl aparece nada) e pensei que pudesse ser a gpu engolindo toda a ram por algum bug, por mostrar que pode usar todos os 8 gigas de ram da m√°quina com o comando glxinfo -B.

O que se trata desse parametro do kernel para amdgpu?

Tem um aplicativo para terminal chamado nvtop que é basicamente um htop para placa de video, nele você pode ver o consumo de ram que esta sendo utilizado na placa de vídeo e quais processos estão rodando.

O trafego que a GPU tem que fazer entre o barramento de chegar na RAM e ter que passar pelo chipset(ponte norte) na ida e volta causa um atraso que não ocorre se for usado a RAM dedicada da placa de vídeo. Então mesmo que a RAM do pente de memória tivesse a mesma velocidade da memória dedicada ela ainda seria mais lenta devido a este trajeto.
Olhando no olho parece que o trajeto da PCI-Express passando pelo barramento ate a ponte norte é curto mas na verdade é bastante demorado.

√Č por isso que o CPU tem mem√≥ria RAM(cache) chamadas de L1, L2, L3, devido a essa demora do barramento e ponte norte para dar comunica√ß√£o com o pente de mem√≥ria RAM.
Se esse atraso n√£o fosse significativo essas caches nunca teria passado a existir.

Sem a nova tecnologia da Nvidia da GPU poder ter acesso aos pentes de memória RAM sem passar pela CPU obviamente que o trajeto no barramento maior e o atraso da CPU torna a situação ainda pior.

1 curtida

Acredito que serve exatamente para configurar a pré-alocação, conforme expliquei anteriormente, mas sem precisar acessar a BIOS. Isso não limita o uso de VRAM máximo, mas apenas a quantidade pré-alocada que não poderá ser usada como RAM pelo restante do sistema. :wink:

1 curtida