Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Linuxのメモリ管理入門

 Linuxのメモリ管理入門

以下動画のテキストです。
https://youtu.be/ncHq6xgLkZs

Satoru Takeuchi
PRO

September 17, 2022
Tweet

More Decks by Satoru Takeuchi

Other Decks in Technology

Transcript

  1. Linuxのメモリ管理入門
    Sep. 17th, 2022
    Satoru Takeuchi
    twitter: satoru_takeuchi

    View Slide

  2. マシンの物理メモリはカーネル&全プロセス共有
    マシンの全メモリ
    空きメモリ
    プロセス0
    のメモリ
    プロセス1
    のメモリ
    カーネルのメモリ
    プロセスn
    のメモリ

    物理メモリを管理して各プロセスにメモリを割り当てる

    View Slide

  3. freeコマンドでうちわけがわかる
    total
    プロセスが使用中
    free
    カーネルが使用中
    解放可能
    解放不可能
    buff/cache
    (バッファキャッシュ&
    ページキャッシュ) used = total - free - buff/cache
    available

    View Slide

  4. 大事なところだけ抜粋
    total
    プロセスが使用中
    free
    カーネルが使用中
    解放可能
    解放不可能
    available

    View Slide

  5. 空きメモリが減ってくると…
    total
    プロセスが使用中
    free
    カーネルが使用中
    解放可能
    解放不可能
    available
    せまくてつらい

    View Slide

  6. カーネルの解放可能メモリを解放
    total
    プロセスが使用中
    free
    カーネルが使用中
    解放不可能
    available
    つらくなくなった
    解放可能

    View Slide

  7. 📝 メモリ使用量についてもっと細かく知りたければ
    ● /proc/meminfoにメモリ使用量のさらに詳しいうちわけがわかる
    ● カーネルの知識がないと理解が大変
    ● 興味があればman procfsの説明を見てね

    View Slide

  8. まとめ
    物理メモリはカーネルが管理し、カーネルとプロセスが共用
    freeコマンドを使えば物理メモリ使用量のだいたいの内訳がわかる
    メモリが減ってきたら解放可能メモリを解放する
    freeフィールドに騙されずにavailableフィールドを見よう
    もっと知りたければ/proc/meminfoを見よう

    View Slide