因為要優化I/O性能,所以要理解一下這兩個概念,這兩個cache着實讓我迷糊了好久,通過查資料大概明白了兩者的區別,試着說下。
page cache:文件系統層級的緩存,從磁盤里讀取的內容是存儲到這里,這樣程序讀取磁盤內容就會非常快,比如使用grep和find等命令查找內容和文件時,第一次會慢很多,再次執行就快好多倍,幾乎是瞬間。如果page cache的數據被修改過后,也即臟數據,等到寫入磁盤時機到來時,會轉移到buffer cache 而不是直接寫入到磁盤。
buffer cache:磁盤等塊設備的緩沖,內存的這一部分是要寫入到磁盤里的。
free命令和top,vmstat命令都可以查看這兩部分的大小,使用方法網上例子很多,我就不寫了,如果有不理解的,可以回復我,大家多交流。
以上。