diff --git a/Ryujinx.Memory/IVirtualMemoryManager.cs b/Ryujinx.Memory/IVirtualMemoryManager.cs
index cd271a5f94..f52c4b2205 100644
--- a/Ryujinx.Memory/IVirtualMemoryManager.cs
+++ b/Ryujinx.Memory/IVirtualMemoryManager.cs
@@ -15,7 +15,7 @@ namespace Ryujinx.Memory
void Fill(ulong va, ulong size, byte value)
{
- const int MaxChunkSize = 1 << 30;
+ const int MaxChunkSize = 1 << 24;
for (ulong subOffset = 0; subOffset < size; subOffset += MaxChunkSize)
{
diff --git a/Ryujinx.Memory/MemoryBlock.cs b/Ryujinx.Memory/MemoryBlock.cs
index fadd50d44d..3b7a54ae9b 100644
--- a/Ryujinx.Memory/MemoryBlock.cs
+++ b/Ryujinx.Memory/MemoryBlock.cs
@@ -136,7 +136,7 @@ namespace Ryujinx.Memory
/// Throw when , or is out of range
public void Copy(ulong dstOffset, ulong srcOffset, ulong size)
{
- const int MaxChunkSize = 1 << 30;
+ const int MaxChunkSize = 1 << 24;
for (ulong offset = 0; offset < size; offset += MaxChunkSize)
{
@@ -155,7 +155,7 @@ namespace Ryujinx.Memory
/// Throw when either or are out of range
public void ZeroFill(ulong offset, ulong size)
{
- const int MaxChunkSize = 1 << 30;
+ const int MaxChunkSize = 1 << 24;
for (ulong subOffset = 0; subOffset < size; subOffset += MaxChunkSize)
{