No php.ini defina o seguinte,
memory_limit = 100M
post_max_size = 100M
Além disso, vale a pena observar se você está enviando uma imagem via biblioteca de envio do GD, então você está enviando uma imagem que será descompactada na memória. Assim, por exemplo, se o tamanho de um arquivo de 3000 x 3000 for o tamanho real, se o uso do GD for:
largura * altura * profundidade de bits, por exemplo, 3000 * 3000 * 32 = 288000000 bits = 34 MB
Também vale a pena mencionar que 512 mb nos dias de hoje para qualquer compilação do Linux é uma quantidade baixa para um LAMP, mesmo que o site seja pequeno e tenha apenas alguns visitantes por dia. o upload pode ser um problema. Muitos VPS desativam o SWAP, pois os proprietários do VPS não querem gravações de discos CONSTANT que diminuam os outros VPSs (Disks cause Lag em VM Servers com SWAP ativado).
Portanto, as alterações são o arquivo é simplesmente grande e você está ficando sem memória, supondo que você esteja usando um bom provedor vps você deve ser capaz de ampliar a memória para 1gb e ver se ele ainda recupera esse erro.