Você não tem troca, o que torna muito difícil para o SO conservar a memória física. Basicamente, não há lugar para colocar dados que provavelmente nunca serão acessados, mas que não podem provar que nunca serão acessados. Portanto, não tem escolha a não ser mantê-lo na RAM.
Considere, por exemplo, um serviço que começa quando o servidor é iniciado, mas nunca é acessado. Pode vincular a uma biblioteca que é realocada. Essa realocação suga as páginas de código na memória. Na inicialização, ele provavelmente alocará memória e modificará seu conteúdo. Com a troca, depois que o serviço não é executado por um longo tempo ou quando a memória é apertada, essas páginas podem ser despejadas da memória e armazenadas na troca. (O mais provável é que nunca seja recuperado, mas o kernel não pode arriscar isso - considere um serviço como ssh
!)
Sem troca, o kernel não tem como remover páginas sujas, mesmo que elas não tenham sido acessadas por dias. A memória física tão preciosa é preenchida com lixo inútil.
Atualização : Aparentemente, isso é um artefato do OpenVZ. Há troca, e os números de memória que você está vendo são sem sentido. Seus problemas de desempenho podem ou não ser devidos a qualquer coisa sob seu controle.