タグ

ページキャッシュに関するmasudaKのブックマーク (4)

  • Linux、負荷まわりの話 - goungoun技術系雑記帳

    外部記憶装置のデータをページ単位でメモリ上に保存するしくみ。 空きメモリは積極的にページキャッシュとして使用される。(空きメモリが少ないからといって、メモリが足りないとは言い切れない) バッファキャッシュを含む。 read ページキャッシュから読み込む。 ページキャッシュ上に存在しないとき、外部記憶装置から読み込む。 write ページキャッシュ上に書き込む。 書き込まれたページはDirtyなページ(=外部記憶と同期していないページ)となる。 Dirtyなページは後でまとめて外部記憶に書き込む。 ページキャッシュ経由でデータがやり取りされる。 +------------------------------------------+ | ファイルシステム、mmap、スワップ処理など | +------------------------------------------+ read↑ ↓w

  • Linux I/O のお話 write 編 - naoyaのはてなダイアリー

    write はページに dirty フラグを立てるだけなので決してユーザープロセスを待たせない って、当にそうなんでしょうか?(否定しているわけではなく、純粋な疑問です。) と質問をもらったので、最近追ったことをここでまとめます。かなり長文です、すいません。また、まだまだ不勉強なので間違っているところもあるかもしれません。ツッコミ大歓迎です。 まず、オライリーのカーネルの 15章 ページキャッシュ 15.3 汚れたページのディスクへの書き込み から引用。 ご存知のように、カーネルは、ブロック型デバイスのデータを含むページをページキャッシュに蓄えています。プロセスが何らかのデータを更新した場合は、必ず対応するページに汚れている印をつけます。すなわち、PG_dirty フラグを設定します。 UNIX システムでは、汚れたページのブロック型デバイスへの書き込みを遅延することができます。この方

    Linux I/O のお話 write 編 - naoyaのはてなダイアリー
  • Linux で共有メモリはなぜ cached に計上されるのか? - ablog

    Linux で物理メモリに割り当てられた共有メモリは cahced に計上される - ablog という備忘録を先日書いたが、 Linux の共有メモリにはPOSIX共有メモリとSystem V共有メモリがあり、どちらも tmpfs を使っている。 tmpfs はページキャッシュを使うから /proc/meminfo/cached に計上され、当然 vmstat や free でも cached に計上される。 ということのようだ。 Tmpfs is a file system which keeps all files in virtual memory. Everything in tmpfs is temporary in the sense that no files will be created on your hard drive. If you unmount a tmpf

    Linux で共有メモリはなぜ cached に計上されるのか? - ablog
  • ファイルがページキャッシュに乗っているかどうかを調べる - ablog

    Linux上で任意のファイルがページキャッシュに乗っているかどうか調べるCで書かれたプログラムを見つけたので、コンパイルして実行してみた。 Linux上のとあるファイルがページキャッシュに乗っているかどうかを調べたいなーと思ってGoogle先生にご相談したところ、こんなコマンドを教えてくれた。 ファイルをメモリにマップして、mincore(2)でページごとにRAMに存在するかどうかをチェックしているらしい。 mmapしても即メモリにロードされるわけではないのかぁ。 Cの部分だけ抜き出して、単体で動かしてみた。 #include <errno.h> /* errno */ #include <fcntl.h> /* fcntl, open */ #include <stdio.h> /* perror, fprintf, stderr, printf */ #include <stdlib.

    ファイルがページキャッシュに乗っているかどうかを調べる - ablog
  • 1