Acredito que o Windows XP de 32 bits tenha mais de 2 GB de RAM. Parece haver problemas no Windows onde ele relata erroneamente que está sem memória, quando na verdade há mais do que precisa. Isso se deve ao uso de um inteiro assinado em vez de um inteiro não assinado para medir a quantidade de RAM (você sabe, aquelas comparações assinadas e não assinadas que os compiladores nos advertem).
Você precisa remover a RAM até ter 2 GB ou menos ou precisa da PAE (Extensão de endereço físico). Como alternativa, se você estiver compilando um programa, poderá torná-lo ciente de mais de 2 GB de RAM usando o sinalizador de vinculador / LARGEADDRESSAWARE para o vinculador da Microsoft, mas esse não é o problema mencionado aqui. [fonte]
Você também pode querer tentar atualizar o Windows XP para a versão mais recente, que pode conter binários atualizados com conhecimento de endereços maiores, o que resolveria o problema. Existem também as opções / 3GB , / 4GB e / PAE em boot.ini que fará o sistema ciente de que está executando mais de 2 GB de RAM.
Espero que isso resolva o problema. Você também pode tentar mudar para uma versão de 64 bits do sistema operacional, mas isso nem sempre é uma opção por causa dos custos monetários de alguns sistemas operacionais e devido à disponibilidade de alguns drivers.
EDIT: eu esqueci de mencionar que você também pode tentar aumentar o tamanho do arquivo de paginação. Isso pode ajudar, especialmente se o arquivo de paginação tiver 2 GB e você aumentar a quantidade de RAM disponível sem modificar o tamanho do arquivo de paginação.