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;
そのうちの1つが別のものを含む場合、ここで考慮されます。
/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%の一貫性を保証する証拠にすぎません。)