pub enum ClearRefs {
PGReferencedAll = 1,
PGReferencedAnonymous = 2,
PGReferencedFile = 3,
SoftDirty = 4,
PeakRSS = 5,
}
Expand description
Clearing the PG_Referenced and ACCESSED/YOUNG bits
provides a method to measure approximately how much memory
a process is using. One first inspects the values in the
“Referenced” fields for the VMAs shown in
/proc/[pid]/smaps
to get an idea of the memory footprint
of the process. One then clears the PG_Referenced and
ACCESSED/YOUNG bits and, after some measured time
interval, once again inspects the values in the
“Referenced” fields to get an idea of the change in memory
footprint of the process during the measured interval. If
one is interested only in inspecting the selected mapping
types, then the value 2 or 3 can be used instead of 1.
The /proc/[pid]/clear_refs
file is present only if the
CONFIG_PROC_PAGE_MONITOR kernel configuration option is
enabled.
Only writable by the owner of the process
See procfs::Process::clear_refs()
and procfs::Process::pagemap()
Variants§
PGReferencedAll = 1
(since Linux 2.6.22)
Reset the PG_Referenced and ACCESSED/YOUNG bits for all the pages associated with the process. (Before kernel 2.6.32, writing any nonzero value to this file had this effect.)
PGReferencedAnonymous = 2
(since Linux 2.6.32)
Reset the PG_Referenced and ACCESSED/YOUNG bits for all anonymous pages associated with the process.
PGReferencedFile = 3
(since Linux 2.6.32)
Reset the PG_Referenced and ACCESSED/YOUNG bits for all file-mapped pages associated with the process.
SoftDirty = 4
(since Linux 3.11)
Clear the soft-dirty bit for all the pages
associated with the process. This is used (in
conjunction with /proc/[pid]/pagemap
) by the check-
point restore system to discover which pages of a
process have been dirtied since the file
/proc/[pid]/clear_refs
was written to.
PeakRSS = 5
(since Linux 4.0)
Reset the peak resident set size (“high water mark”) to the process’s current resident set size value.
Trait Implementations§
impl Copy for ClearRefs
impl Eq for ClearRefs
impl StructuralPartialEq for ClearRefs
Auto Trait Implementations§
impl Freeze for ClearRefs
impl RefUnwindSafe for ClearRefs
impl Send for ClearRefs
impl Sync for ClearRefs
impl Unpin for ClearRefs
impl UnwindSafe for ClearRefs
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)