당신의 기억력은 너무 작습니다. DXVK를 위한 공간을 확보해야 합니다.

당신의 기억력은 너무 작습니다. DXVK를 위한 공간을 확보해야 합니다.

너무 많은 메모리를 소비하는 게임을 Wine(WineHQ)을 통해 실행할 때 무언가를 교체하기 전에 RAM 메모리가 완전히 채워져 다음 오류가 발생할 수 있습니다.
"DxvkMemoryAllocator: 메모리 할당 실패"

이런 일이 발생하지 않도록 하는 방법이 있나요?

dxvk에서 수정할 수 없다는 내용을 읽었습니다(관련 링크를 찾아야 함)...

답변1

이 메시지를 접한 사람에게는 실제로 두 가지 가능성이 있습니다.

당신의 기억력은 너무 작습니다. DXVK를 위한 공간을 확보해야 합니다.

이는 일반적으로 충돌 발생 시 시스템 메모리가 사용된 + 버퍼 + 캐시로 가득 차 있는 경우에 발생합니다.

다음 명령을 실행하여 DXVK에 항상 1GB의 여유 공간이 있는지 확인하십시오.

echo $(( 1024 * 1024 )) | sudo tee /proc/sys/vm/min_free_kbytes

애플리케이션은 32비트이며 wine은 기본적으로 2GB의 공간만 할당합니다.

이는 일반적으로 컴퓨터에 여유 메모리가 있지만 응용 프로그램이 여전히 충돌하는 경우에 발생합니다.

와인이 2GB - 4GB 공간을 할당하도록 추가 WINE_LARGE_ADDRESS_AWARE=1하거나 허용하려면 시작 옵션을 편집해야 합니다 .PROTON_LARGE_ADDRESS_AWARE=1

답변2

제가 이 문제를 해결한 방법은 다음을 실행하는 것이었습니다.
stress-ng --vm-bytes 5000M --timeout 15 --vm-keep --vm 1 --verbose RAM이 6GB밖에 없기 때문입니다.

하지만 그 전에 Wine 게임이나 Chromium과 같이 메모리를 많이 차지하는 다른 애플리케이션에 SIGSTOP 신호를 보내는 것이 좋습니다.

이 명령은 dxvk 오류가 발생하지 않도록 RAM의 대부분을 스왑으로 이동하도록 합니다.

그 전에는 와인이 RAM의 100%는 아니더라도 거의 99%를 채웠습니다.

RAM 사용량이 너무 높아질 때마다 이 작업을 반복해야 하므로 스크립트를 작성하는 것이 좋습니다. :)

관련 정보