タグ

2020年12月15日のブックマーク (3件)

  • Linux ファイルシステム 徹底入門

    引用 プログラマが知っておくべき、メモリ/ディスク/ネットワークの速度まとめ メモリとストレージデバイスではかなりの性能差があることがわかる。そのため、ディスクへの I/O を減らすことが重要になる。これを実現するために、 Linux ではディスクから取得した情報をメモリに余裕がある限りキャッシュするようになっている。メモリに余裕がある限り、キャッシュをじゃぶじゃぶと使い、メモリに余裕がなくなってきたタイミングで回収される。ページ回収の仕組みは今回は扱わないため、詳細を知りたい方は 4.8 スワップアウトとページの破棄 を参考にすること。 openまず、構造体の関係性を図示する。 参考 Linux 仮想ファイルシステム・スイッチの徹底調査 inodeinode は各ファイルやディレクトリの実体を管理する構造体。 参考 linux/include/linux/fs.h 大まかに、次のような情

    Linux ファイルシステム 徹底入門
    tvsk
    tvsk 2020/12/15
    inode, dentry
  • negative dentry と tmpfs で negative dentry がキャッシュされない理由について調べた - hibomaの日記

    kazeburo さんの 一時ファイルとdentry cacheとメモリ を読んでからしばらくファイルシステム周りを調べていたのでした。 先のエントリで /tmp のファイル作成/削除を繰り返して dentry キャッシュ がもりもり溜まっていくのは negative dentry であることが理解できました。 negative dentry とは negative dentry とは 存在しない inode に対応する dentry です。 dentry キャッシュの役割は RAM より低速な HDD や SSD などの二次記憶装置からのディレクトリエントリの読み取りをメモリにキャッシュしておき高速化するためですが、negative dentry をキャッシュすることで存在しないディレクトリエントリの読み取りもキャッシュされます。 「存在しないのにキャッシュ?」がしばらくイミフだったので

    negative dentry と tmpfs で negative dentry がキャッシュされない理由について調べた - hibomaの日記
    tvsk
    tvsk 2020/12/15
    “インメモリなファイルシステムで negative dentry を保持してもメモリの無駄になるしハッシュ検索の時間も無駄になる。のですぐ消す”
  • サーバーのメモリが少しずつ圧迫される原因と対策を調べてみた - Qiita

    サーバーのメモリが slab_cache で占有される サーバーのメモリが数日で slab_cache に占有されるので原因と対策を調査した。 メモリの使用状況の調査 meminfo meminfo を見ると Slab のメモリ使用量が確認できる。 SReclaimable と SUnreclaim を足すと Slab になる。 $ cat /proc/meminfo | grep "Slab\|claim" Slab: 1654520 kB SReclaimable: 1631304 kB SUnreclaim: 23216 kB slabtop slabtop コマンドをたたくと top コマンドのように Slab の内訳が表示される。 dentry が最も多いようだ。 --once は1回出力で終了するオプション。 --sort=c はキャッシュサイズ順にソートするオプション。 sl

    サーバーのメモリが少しずつ圧迫される原因と対策を調べてみた - Qiita