Existem pelo menos dois usuários de swap que você perdeu:
- tmpfs: Qualquer instância tmpfs montada (geralmente no mínimo / tmp e / run, com outros diretórios potencialmente incluídos) é suportada pelo espaço de troca. Normalmente, os dados em tmpfs estão no cache de páginas do kernel. No entanto, quando o sistema começa a ficar com pouca memória, esses dados podem ser forçados a trocar para que os dados sejam retidos enquanto ainda libera espaço para outras coisas. Até onde sei, o uso do tmpfs não é contabilizado em nenhum processo quando se calcula o uso do swap (de uma perspectiva prática, você não pode contabilizá-lo em qualquer processo, assim como não é possível contabilizar nenhum arquivo para um processo específico). O mesmo vale para as instâncias do hugetlbfs (o hugetlbfs é um tipo especial de tmpfs).
- Segmentos de memória compartilhada: Para segmentos de memória compartilhada POSIX nomeados, os dados são armazenados em / dev / shm, que é em si uma montagem tmpfs e cai sob o acima. Para segmentos de memória compartilhada anônimos, acredito (mas não tenho certeza e não tenho paciência ou habilidades para testar e testar) que o uso de espaço também não é considerado como um processo específico.
Pode haver outros usuários de swap, mas esses são os únicos usuários de swap sem processo que eu conheço com certeza.