タグ

カーネルに関するWackyのブックマーク (8)

  • 謎のコンテナランタイムlinuxd - Qiita

    はじめに 記事はLinux Advent Calenda 2018の最終日、25日目の記事です。 ここ数年、一つないし複数のプロセスから成るアプリをコンテナと呼ばれるサンドボックス上で動かすのが流行っています。このときアプリを動かす実行環境のことをコンテナランタイムと呼びます。このコンテナランタイムには例えば次のようなものがあります。 runC: アプリをそれぞれ別々のnamespace上で実行。カーネルは全アプリで共有。世間的に「コンテナ」というと今はだいたいこれを指す Kata Containers: アプリを個々のアプリ専用VM上で実行 gVisor: アプリをユーザ空間で独自実装されたLinuxカーネルのサブセット上で実行 記事は最近筆者が気になっているlinuxdというコンテナランタイムについて簡単に紹介したいと思います。 何がどう"謎"なのか タイトルに「謎の」と書いている

    謎のコンテナランタイムlinuxd - Qiita
    Wacky
    Wacky 2019/01/06
    “linuxdとはユーザ空間で動作するlinuxカーネル上でアプリを動かすコンテナランタイムです。将来的にはOCIやCRIに準拠したランタイムになる予定だそうです。”
  • Linuxカーネルをgdbでデバッグ(またはディストリビューションのカーネルを使うときは当たってるパッチにも注意しよう) - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ

    この記事はLinux Advent Calendar 2018の1日目ですΣ(゚∀゚ノ)ノキャー イントロ ほんとは別の内容にしようと思ってたのですが、進めてる途中でカーネルのデバッグをするハメになったのでカーネルデバッグをネタにしてみました。カーネルのデバッグと言っても普通のデバッグと変わらないよね〜というところがわかると思います。(`・ω・´)<コワクナイヨー デバッグの環境としてはlibvirt(qemu)で動いてるゲスト環境にホスト側からgdbでデバッグする感じです。ディストリビューションはFedora 29です。デバッグするカーネルはFedoraのカーネルで4.19.2-300.fc29.x86_64です。 テストコード テストコードは↓です。これはdebugfsのディレクトリ(大概は/sys/kernel/debug/だと思います)にopen-testってファイルを作って、その

    Linuxカーネルをgdbでデバッグ(またはディストリビューションのカーネルを使うときは当たってるパッチにも注意しよう) - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ
    Wacky
    Wacky 2018/12/01
    “デバッグされるホストのカーネルのほうでKASLRが有効になっていてリモートデバッグするときにはこのままだと適切な場所にブレークポイントを張ったりができないので、これを無効にする必要があります。”
  • Linuxカーネルソースコードを読むツール (1):cscope編 - Fixstars Tech Blog /proc/cpuinfo

    皆さん、Linuxカーネルのソースコードを読む時には、どのツールを使っているのでしょうか?ソースコードをインデックス化してくれるツールはいろいろありますよね。ブラウザで見るならLXR等は便利ですよね。 手元のソースコードを見る時に便利だと僕が思っているのは、cscope, vi, ctags の組み合わせです。文字端末で使う非常にクラッシックなツールですが、軽いですし、インデックスファイルもコピーすれば、どこでも見られるようになるのも嬉しいです。残念なのは、cscopeはその名の通りC言語では非常に使いやすいのですが、その他の言語のサポートが非常に弱いところです。シンプルなツールなので仕方ないですね。そんな cscope (+ ctags) ですが、Linuxカーネルで便利に使うにはちょっとしたコツがあると思っていますので、それを紹介したいと思います。 まずは使い方です。以下が cscop

    Linuxカーネルソースコードを読むツール (1):cscope編 - Fixstars Tech Blog /proc/cpuinfo
  • Linux:パフォーマンスに影響あるデバッグオプションがどれだけ影響あるか試してみた - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ

    なんとなくやってみた系ですね。 今回はCONFIG_DEBUG_OBJECTSのところです。 CONFIG_DEBUG_OBJECTS_FREEがkmalloc/kfreeをヘヴィにつかうような場合にパフォーマンス劣化するよーなんていってます。 まずはCONFIG_DEBUG_OBJECTSの項目を全部無効にした場合。 この時点でもロック周りに時間取ってますね。 hackbenchを引数 10 process 20000 で実行してる時の様子がこんな感じです。 次にCONFIG_DEBUG_OBJECTSの項目を全部無効にした場合。 起動した時点でかなりの時間をロックで使ってます。 そして、hackbenchを同じく実行するとこうこうなります/(^o^)\ このときはこんな感じになっていてもうどうにもならない感がありますね。 説明に書いてあるとおり、ほんと遅くなりますね。 ( ´ー`)フゥ

    Linux:パフォーマンスに影響あるデバッグオプションがどれだけ影響あるか試してみた - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ
  • 【お知らせ】メモリ枯渇時の挙動の安定性が改善された Linux カーネル 4.15 が公開されました | NTTデータ先端技術株式会社

    Tweet お知らせ - 2018.02.22 Linux カーネルはメモリが枯渇した際の挙動を十分に考慮しておらず、メモリの枯渇が原因でLinux システムがハングアップしてしまうことがあるという問題があります。 この問題に当社ソリューション事業部 半田 哲夫が4年半取り組み続けた結果、メモリの枯渇時にハングアップしてしまう処理の多くが修正されました。現時点までの道のりは、以下の資料/動画でご覧いただけます。 資料:https://elinux.org/images/7/73/CELFJP-Jamboree63-handa-ja.pdf(社外サイト) 動画:https://youtu.be/ZznEyf1PN0Q(社外サイト)

    【お知らせ】メモリ枯渇時の挙動の安定性が改善された Linux カーネル 4.15 が公開されました | NTTデータ先端技術株式会社
  • LinuxコアメンバーによるMeltdownとSpectre 対応状況の説明 (1/19更新) - Qiita

    はじめに Linuxの安定カーネルのとりまとめ役、グレッグ・クラーハートマンによるメルトダウンとスペクター問題に関する1/6時点での現況の説明の訳文です。 太字は訳者が主観で独自に付加したものです。 2018/1/19: 対応状況がGreg氏によりアップデートされましたので、追記しました。 ライセンス 原文は当人のブログでby-nc-sa3.0で公開されています。 この文章のライセンスも原文に準じます。 謝辞 何よりもまず多忙な中情報をシェアしてくれた原著者のGreg氏に。 表記間違いについて指摘ありがとうございます。以下修正しました。 https://twitter.com/KuniSuzaki/status/950888858568163328 ライセンスの表記間違いを修正しました。ご指摘ありがとうございました。 @7of9 さんより明らかな誤認・誤訳・見落とし箇所への編集リクエストを

    LinuxコアメンバーによるMeltdownとSpectre 対応状況の説明 (1/19更新) - Qiita
  • カーネルエクスプロイト入門 - Linuxカーネル解析の基礎 - - るくすの日記 ~ Out_Of_Range ~

    0. はじめに 記事は、Linuxを対象としたカーネルエクスプロイトの入門記事です。 カーネルエクスプロイトというのは、Linuxや*BSD、Windowsを始めとするカーネル自身の脆弱性を突くエクスプロイトです。 基的にカーネルはシステム内で最高権限を持つ特権モードで動作しているので、ここを悪用されるとシステムの大部分(ほぼ全て)を掌握されてしまいます。 エクスプロイトと言うと、普通はユーザー空間で動作しているアプリケーションのバグをつく物が多いですが、これだと限られたレベルの権限しか奪えません。 SELinuxやjailを始めとする、OSレベルでの保護機構に阻まれるとたちまち効力を失ったりします。 しかし、カーネル自体の脆弱性をつくカーネルエクスプロイトを利用すると最高権限での任意コード実行が可能なため、大抵の保護機構はものともしません。 このカーネルエクスプロイトが特に効力を発揮

    カーネルエクスプロイト入門 - Linuxカーネル解析の基礎 - - るくすの日記 ~ Out_Of_Range ~
  • 詳解システム・パフォーマンス 3章「オペレーティングシステム」輪読メモ - ゆううきメモ

    詳解システム・パフォーマンス 第2章「メソドロジ」メモ - ゆううきメモ の続き。今回は第3章「オペレーティングシステム」 システムパフォーマンス分析では、オペレーティングシステムとそのカーネルについての理解は必要不可欠だ。システムコールがどのように実行されるか、CPU がどのようにスレッドをスケ ジューリングするか、限られたメモリがパフォーマンスにどのような影響を及ぼすか、ファイルシステムは I/O をどのように処理するかなどのシステムのふるまいについて、あなたは頻繁に仮説を立て、それをテストすることになる。これらのふるまいを理解するためには、オペレーティングシステムとカーネルの知識を使わなければならない。 Brendan Gregg,西脇靖紘,長尾高弘「詳解システム・パフォーマンス」, オライリージャパン p.85 議論 章の内容をベースに議論

    詳解システム・パフォーマンス 3章「オペレーティングシステム」輪読メモ - ゆううきメモ
    Wacky
    Wacky 2017/04/16
    “epollはカーネル側でディスクリプタの状態をもつので、状態変化したものだけユーザー空間に返すことができる (エッジトリガ通知)。”
  • 1