Por favor, note que esta questão é específica de linux
apenas. E por swap space
, quero dizer o swap partition
dedicado.
Eu fiz google
nisso e encontrei esses definitions
:
Paging refers to writing portions, termed pages, of a process’ memory to disk.
Swapping, strictly speaking, refers to writing the entire process, not just part, to disk.
In Linux, true swapping is exceedingly rare, but the terms paging and swapping
often are used interchangeably.
e
page-out: The system's free memory is less than a threshold "lotsfree" and unnused / least used pages are moved to the swap area.
page-in: One process which is running requested for a page that is not in the current memory (page-fault), it's pages are being brought back to memory.
swap-out: System is thrashing and has deactivated a process and it's memory pages are moved into the swap area.
swap-in: A deactivated process is back to work and it's pages are being brought into the memory.
Agora, você pode querer duplicar essa pergunta com os que perguntam sobre as diferenças entre paginação e troca. Mas eu procuro um pouco mais. A qualquer momento, esses contadores em /proc/vmstat
são mutuamente exclusivos? Com isso, o parâmetro pswpin
inclui algumas contagens de pgpgin
ou vice-versa? O que exatamente acontece quando um processo é deactivated
? Se todas as suas páginas forem movidas para swap
space, como exatamente é diferente de vários pageouts
? Além disso, se um pagein
ocorrer sempre que ocorrer uma falha de página, o que se pode dizer sobre os outros dois parâmetros pgmajfault
e pgfault
em relação a esse evento? É o caso que sempre que ocorre um pagefault (major? minor?)
, ocorre também um pagein
correspondente?
Seria útil se alguns exemplos de programas / benchmarks fossem sugeridos para testar esses parâmetros individuais.
PS: Eu posso continuar adicionando / editando as perguntas:)