Обратите внимание, что этот вопрос относится только к linux
. И под swap space
под свопом я имею в виду выделенный swap partition
.
Я немного google
и нашел следующие 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.
а также
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.
Теперь вы можете захотеть продублировать этот вопрос с вопросами о разнице между подкачкой и обменом. Но я ищу немного больше. В любой момент времени эти счетчики в /proc/vmstat
взаимоисключающими? Под этим я подразумеваю, включает ли параметр pswpin
некоторые подсчеты из pgpgin
или наоборот ? Что именно происходит, когда процесс deactivated
? Если все его страницы перемещены в пространство swap
, то чем именно они отличаются от нескольких pageouts
? Кроме того, если pagein
возникает при возникновении сбоя страницы, что можно сказать о двух других параметрах pgmajfault
и pgfault
относительно этого события? Является ли это случаем, что всякий раз, когда pagefault (major? minor?)
происходит, соответствующая pagein
также происходит?
Было бы полезно, если бы предложили несколько примеров программ / тестов для тестирования этих отдельных параметров.
PS: я могу продолжать добавлять / редактировать вопросы :)