Em uma máquina Debian Linux 3.16, tenho 244 MB de espaço de troca usado:
# free -h
total used free shared buffers cached
Mem: 94G 36G 57G 1.9G 3.8G 11G
-/+ buffers/cache: 20G 73G
Swap: 487M 244M 243M
Olhando para isso, não consigo encontrar 244 MB usados.
# for file in /proc/*/status ; do grep VmSwap $file; done | sort -nk 2 | tail
VmSwap: 0 kB
VmSwap: 0 kB
VmSwap: 0 kB
VmSwap: 0 kB
VmSwap: 0 kB
VmSwap: 0 kB
VmSwap: 4 kB
VmSwap: 12 kB
VmSwap: 16 kB
VmSwap: 36 kB
E eu só tenho 34 MB de SwapCached
:
# grep -i swap /proc/meminfo
SwapCached: 34584 kB
SwapTotal: 499708 kB
SwapFree: 249388 kB
Kernel doc diz sobre isso:
SwapCached: Memória que uma vez foi trocada, é trocada de volta, mas ainda está no arquivo de troca (se a memória for necessária, ela não precisa ser trocada NOVAMENTE porque já está no arquivo de troca. Isso economiza E/S)
Como posso saber qual processo está usando meu espaço de troca no meu sistema Linux? Mais precisamente: Onde são consumidos cada um desses 244 MB de swap?