A propósito, você deve tentar não usar o termo "memória". Isso cria muita confusão. Se você quer dizer memória física, diga "memória física" ou "RAM". Se você quer dizer memória virtual, diga isso. Se você quer dizer loja de apoio, diga.
Why is total used memory much higher than the memory used by all listed processes, no matter how I try to count them?
Porque o sistema operacional não desperdiça memória física (RAM), a menos que não tenha escolha.
How could windows "know" that memory is used without knowing what program is using it?
Porque nenhum programa está usando. Considere, por exemplo, a memória que contém o código de um programa que acabou de ser terminado. Nenhum programa está usando. Mas essa memória é usada, pois não é livre e contém dados que podem ser úteis (caso o programa seja executado novamente).
What processes might possibly use up memory but now show up on the list?
Não é usado por processos.
Is there any software out there that can give more information about used memory?
RAMMap pode fazer isso.
Existem apenas duas possibilidades, a RAM pode ser usada ou pode ser desperdiçada. Obviamente, o primeiro é melhor. Qualquer memória livre é sempre desperdiçada - uma máquina de 4GB não pode usar 2GB hoje para usar 6GB amanhã. Se você está pensando "eu quero de graça agora para que eu possa usá-lo mais tarde", esqueça isso. Você pode usá-lo agora e usá-lo mais tarde.
How could killing one process that supposedly only used a few MB free up several GB?
Você está com pouca memória, não memória física. Você tem bastante memória física livre, mas armazenamento insuficiente para o sistema operacional continuar alocando memória virtual que pode exigir suporte.
O processo estava usando apenas alguns MB de memória física, mas o sistema operacional pode ter que reservar vários GB de memória virtual para isso. Por exemplo, suponha que um processo crie um mapeamento de memória privada gravável de um arquivo de 2 GB. O SO deve reservar 2 GB de memória virtual suportada para o processo, porque ele pode gravar em cada byte desse mapeamento. Além disso, talvez nunca escreva em nenhum deles. É por isso que você precisa de um arquivo de paginação de bom tamanho.
Sistemas operacionais modernos escrevem muitas verificações (promissoras lojas de apoio) que nunca serão retiradas (exigem RAM). Você não pode continuar fazendo cheques (prometendo uma loja de apoio) mesmo se você tiver bastante dinheiro no banco (RAM grátis) se você já tiver escrito um monte de cheques que podem ou não receber dinheiro (prometido como uma grande loja). Como você tem). Os arquivos de paginação adicionam armazenamento de apoio, permitindo que o SO continue a escrever cheques.