Dirty
%lu - 디스크에 다시 쓰기를 기다리는 메모리입니다.
Writeback
%lu - 메모리가 디스크에 활발하게 다시 기록되고 있습니다.--인간의 과정
포함되나요? Dirty
아니면Writeback
제외되나요?
내 커널 버전은 4.18.16-200.fc28.x86_64입니다.
답변1
"Dirty" 및 "Writeback"은 이를 보여주기 위한 별도의 통계 및 페이지 상태입니다. 예를 참조하세요.node_dirty_ok
:
nr_pages += node_page_state(pgdat, NR_FILE_DIRTY);
nr_pages += node_page_state(pgdat, NR_UNSTABLE_NFS);
nr_pages += node_page_state(pgdat, NR_WRITEBACK);
return nr_pages <= limit;
그 중 하나가 다른 하나를 포함하는 경우 여기에서 고려됩니다.
/proc/meminfo
또한 해당 값을 처리하지도 않습니다.:
show_val_kb(m, "Dirty: ",
global_node_page_state(NR_FILE_DIRTY));
show_val_kb(m, "Writeback: ",
global_node_page_state(NR_WRITEBACK));
답변2
Dirty
나는 그것이 배제된 것 같아요 Writeback
.
dd if=/dev/zero of=~/X.img bs=1M count=1 ; sync & for i in 1 2 3; do grep -E '^(Dirty:|Writeback:|MemFree:|Cached:)' /proc/meminfo ; done
1+0 records in
1+0 records out
1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.00316564 s, 331 MB/s
[1] 13140
MemFree: 1461832 kB
Cached: 1475188 kB
Dirty: 132 kB
Writeback: 1032 kB
...
/proc/meminfo
(이것은 100% 일관성을 보장하는 증거 일 뿐입니다 .)