あるファイルがページキャッシュにのっているかどうかを調べたい
g++ -std=c++11 fincore.cpp -o fincore
# clear page cache
sync; sudo sh -c "echo 1 > /proc/sys/vm/drop_caches"
./fincore $FILEPATH
open()
やfstat()
をしただけでは、キャッシュされず、read()
されるとキャッシュされる- 特定のファイルキャッシュを解放したい場合は、
posix_fadvice()
のPOSIX_FADV_DONTNEED
を利用する
Google Code Archive - Long-term storage for Google Code Project Hosting.
ただし、うまくビルドできず
Ubuntu16.04の下記に含まれているはずだが、含まれておらず
sudo apt-get install -y util-linux