タグ

cgroupとmemoryに関するmanabouのブックマーク (5)

  • LinuxにおけるOOM発生時の挙動 - Qiita

    はじめに これはLinux Advent Calendar 2015 3日目の記事を2016/2/2に編集したものです。 Linuxにおいてシステムの物理メモリが枯渇したOut-Of-Memory(OOM)という状態になった際の挙動について説明しています。OOMに関連が深いsysctlパラメタを紹介するとともに、カーネルの内部論理についても触れました。 記事に記載されているファイル名は、とくに断りが無ければカーネルソースのトップディレクトリからの相対パス名です。調査に使用したカーネルバージョンは4.3です。 書は話を単純化するために、細かい動作論理については説明を省いていることをご承知おきください。また、書の中に誤りを見つけたかた、および、私が追いきれなかったソースについての詳細をご存知のかたは、指摘していただけると助かります。 Out-Of-Memory(OOM)とOOM-kill

    LinuxにおけるOOM発生時の挙動 - Qiita
  • cgroup: プロセスが所属しているmemoryサブシステムが使用しているメモリの使用量を見るツール - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ

    pythonでなんとなく。 show memory usage in memcg. memoryサブシステムにtest1を作ってメモリの上限を100Mで設定。 root@saga:/sys/fs/cgroup/memory/test1# cat memory.limit_in_bytes 104857600 root@saga:/sys/fs/cgroup/memory/test1# cat memory.memsw.limit_in_bytes 104857600 root@saga:/sys/fs/cgroup/memory/test1# pid 4473はtest1に所属するbashのプロセス。このシェルから1MiBのmalloc()を繰り返すプロセスを実行する。 ツールはpid 4473を指定して実行 masami@saga:~/codes/memcgstat$ ./memcgst

    cgroup: プロセスが所属しているmemoryサブシステムが使用しているメモリの使用量を見るツール - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ
  • memory cgroupとpageのLRUめも - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ

    カーネルは4.1系です。 include/linux/mm_inline.hにLRUへの登録・削除処理の実装があります。 static __always_inline void add_page_to_lru_list(struct page *page, struct lruvec *lruvec, enum lru_list lru) { int nr_pages = hpage_nr_pages(page); mem_cgroup_update_lru_size(lruvec, lru, nr_pages); list_add(&page->lru, &lruvec->lists[lru]); __mod_zone_page_state(lruvec_zone(lruvec), NR_LRU_BASE + lru, nr_pages); } static __always_inlin

    memory cgroupとpageのLRUめも - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ
  • Linuxのメモリダンプ解析の話 (その1) - Qiita

    背景 社内で Linux マシンのとあるドライバの挙動がおかしいということで「ライブ crash で見たいなぁ」って呟いたら、「クラッシュって何?壊すの?」という反応が出て自分としてはカルチャーショックを受けたので、メモリダンプ解析の話を書いてみようと思いました。 色々と検索してみたところ、kdumpでメモリダンプ (世の中的にはクラッシュダンプと言う方が多い?) を採取する設定・手順についてはたくさんあるんですが、実際にその解析をどうやるのかって記事はあんまりないなぁと。パッと見つかったレベルだとこんな感じ。英文記事も探せば出てくるのだろうか。 VA Linuxの「ダンプ解析講座」の記事は結構ちゃんと書いてる。 O'Reillyの Debug Hacks -デバッグを極めるテクニック&ツール は結構ページ使って説明してる (役に立つかどうかは読み手次第)。 ミラクル・リナックスのLin

    Linuxのメモリダンプ解析の話 (その1) - Qiita
  • Linuxのメモリダンプ解析の話 (その2) - Qiita

    Linuxのメモリダンプ解析の話 (その1) の続きです。 メモリダンプ解析の話に結構いつきがあったので、引き続き書いてみたいと思います。カーネルの中身を理解するのは何故か敷居が高いと思われがちなのですが、全然そんなこと無いってことを分かっていただけると嬉しく思いますし、「ここが分かりにくい」みたいな話があれば教えていただけると有難いです。僕もまだまだカーネルの中身を知ってる段階ではなく、その都度調べてる状況なので。 個人的には Web 界隈の様々なミドルウェア・ツールが乱立してて理解が追いつきません。 それでは早速やりましょう。今回も Ubuntu 上での操作となります。 crashの操作 crash> log log コマンドはカーネル内のバッファに蓄積されたカーネルログを出力します。ログの中身は、一般的なシェル上から使うことのできる dmesg コマンドで出力されるものと同じはずで

    Linuxのメモリダンプ解析の話 (その2) - Qiita
  • 1