File size: 1,005 Bytes
afafadc
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
# I/O 稽核:O_DIRECT 與 buffered page cache 對照

在 1 GiB RLIMIT_DATA 條件下,先將 GGUF page cache 驅逐,再以 0.25 秒間隔量測模型檔 `mincore` resident 頁面與 `/proc/<pid>/io`。

| 測試 | 真實裝置 read_bytes 峰值 | GGUF page-cache resident 峰值 | Cached 增量峰值 |
|---|---:|---:|---:|
| 預設 O_DIRECT pager | 8.981 GiB | 0.496 GiB | +0.768 GiB |
| Buffered 對照 (`SDQ_NO_DIRECT_IO=1`) | 3.341 GiB | 3.341 GiB | +3.336 GiB |

在 buffered 對照中,GGUF resident 隨 buffered reads 上升至 3.341 GiB;O_DIRECT 組只有 0.496 GiB resident,顯示 direct I/O 沒有將相同專家權重工作集留在模型檔 page cache。模型載入仍會讀取/快取非 expert tensors,因此 resident 並非零。兩次 I/O 數字因 O_DIRECT 與 buffered 的核心讀取路徑不同,不應視為完全相同負載下的效能對比。

原始時間序列:[`io_direct_watch.txt`](io_direct_watch.txt) 與 [`io_buffered_watch.txt`](io_buffered_watch.txt)。