Meu palpite é que você está bem: A memória é usada pelo cache de disco do kernel Linux (veja link para mais detalhes ).
Sobre o Apache: Embora todo usuário precise de uma instância do Apache, se você usar uma versão não encadeada do Apache (como é o padrão), ele usa isso por um curto período de tempo, enquanto uma única página é transmitida para o Apache. do utilizador. Depois disso, o processo do apache lidará com a próxima solicitação, provavelmente por um usuário diferente. Dessa forma, você pode manipular muitas conexões com apenas relativamente poucos processos do apache.
Edit: Um exemplo para a saída do free:
total used free shared buffers cached
Mem: 498 434 64 0 194 77
-/+ buffers/cache: 162 336
Swap: 4102 0 4102
Os 64MB listados como gratuitos são a quantidade de memória que não é usada de forma alguma. Mas (quase) todos os buffers / memória cache podem ser usados pelo sistema operacional imediatamente, se necessário, de modo que a memória disponível em potencial é de fato quase 350 MB em vez de 64 MB.