Зауважте, що це питання стосується 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: Я можу продовжувати додавати / редагувати питання :)