タグ

kernelに関するtom__boのブックマーク (7)

  • Linuxのテスト用に、ハングアップやパニック状態にするカーネルモジュールを作ってみた - のぴぴのメモ

    テストのために、AWSAmazon Linuxのインスタンスをカーネルレベルでハングアップさせたかったので、テスト用のカーネルモジュールを作ってみました。 できること カーネルのハングアップ(ping応答もできないレベル。プリエンプションをdisableにして実現) 中途半端なハングアップ(ping応答は帰るレベル。リエンプションはenable) カーネルパニック(echo c > /proc/sysrq-triggerと同じ) 使い方 カーネルモジュールのビルド コードはGitHubにあります。 github.com (1) 必要なパッケージのインストール カーネルモジュールのビルドに、gccとkernel-develが必要になります。(Amazon Linuxの場合) sudo yum -y install git gcc kernel-devel(2) ソースコードをローカルに持っ

    Linuxのテスト用に、ハングアップやパニック状態にするカーネルモジュールを作ってみた - のぴぴのメモ
  • 【RHEL7】sysctlのカーネルパニックオプション - のぴぴのメモ

    sysctlのカーネルパニックオプション panicの整理 panic系パラメータの関係 それぞれのパラメータの挙動 kernel.panic kernel.panic_on_unrecovered_nmi kernel.unknown_nmi_panic kernel.panic_on_io_nmi kernel.panic_on_warn kernel.softlockup_panic kernel.hung_task_panic kernel.panic_on_stackoverflow vm.panic_on_oom sysctlのカーネルパニックオプション ちょいとカーネルパニックをどう設定すればよいかという話があって、ためしにsyscltをpanicでgrepすると、意外にというかpanicに関するパラメータがバラバラ出てきてどうすればよいかイマイチわからない。 # sysct

    【RHEL7】sysctlのカーネルパニックオプション - のぴぴのメモ
  • Linux Storage Stack Diagram - Thomas-Krenn-Wiki-en

    The Linux Storage Stack Diagram shows the layout of the the Linux storage stack. Downloads Diagram for Linux Kernel 6.9 Linux Storage Stack Diagram v6.9): Linux I/O Stack Diagram v6.2 (20230309): ZIP (includes .drawio and .svg) PDF PNG Changelog: dm-vdo added (Kernel 6.9) ext2 removed (Kernel 6.9, ext2 wird nun so wie ext3 auch durch den ext4 Code unterstützt) bcachefs added (Kernel 6.7) EROFS add

  • カーネルスレッドのループと停止をカーネルモジュールで実装 - 人間とウェブの未来

    以前Linuxのカーネルスレッドがループして暴走したときに、カーネルスレッドの扱いを調べていた時期があって、それの簡単な動きを再現するべくカーネルモジュールを作りました。まずは、自力で試したい人は以下を見ずに試すと良いでしょう。 まずはカーネルスレッドをループさせる カーネルスレッドは、所謂ps上で[kthread_dayo]みたいな感じで見えるプロセスの事です。厳密にはユーザランドのプロセスも定期的にカーネル側の処理が走るときは[]付けになったりするのですが、簡単には上記のような状態とします。これをユーザランドのプログラミングで作ることは難しいのですが、カーネルモジュールを使えばすごく簡単につくれます。 まずは以下のようにカーネルスレッドをループさせるコードを書きます。 #include <linux/module.h> #include <linux/sched.h> #include

    カーネルスレッドのループと停止をカーネルモジュールで実装 - 人間とウェブの未来
  • How to Compile and Install Linux Kernel v4.9.11 Source On a Debian / Ubuntu Linux

    nixCraft → Howto → Debian Linux → How to Compile and Install Linux Kernel v4.9.11 Source On a Debian / Ubuntu Linux How do I download, compile and install the latest version of the Linux kernel on a Debian Linux v8.x or Ubuntu Linux LTS home server or my laptop? How do I build and install a custom Linux kernel on a Debian or Ubuntu Linux based system? In order to create a custom kernel configurati

    How to Compile and Install Linux Kernel v4.9.11 Source On a Debian / Ubuntu Linux
  • Debian流Linuxカーネル構築法

    なんかけっこう質問されることが多いので、ここに書き留めておきます。 確認 まずは $ id と、コマンドを打ち込みましょう。自分の所属してるグループが表示されます。そのなかにsrcというグループがなければ、rootになって/etc/groupのsrcの行に、自分のログインネームを追加しておきましょう。 $ cat /etc/group | grep src src:x:40:koshian,mitsuka こんなふうに自分のログインネームがあれば大丈夫です。 無い場合は追加した後、ログインしなおしてください。ログインしなおさないですむ方法もあったような気がするのですが、忘れました(笑) 準備 次にこんなコマンドを打ち込んで、カーネルソースを探しましょう。 $ apt-cache search kernel-source-.\..\.. そうすると、環境によって違うけれども、現在ゲット出来る

  • カーネル空間までコード追っていこう@Linux

    こんにちは。@kokukumaです。 これは、KLab Advent Calendar6日目の記事です。6番手も緊張しますね(棒読み)。 今日はLinuxでプログラムの挙動を追って行く時に、便利なコマンド達を紹介したいと思います。 コードを追っていく流れに合わせて、6つのパートに分けて紹介していきます。 ユーザ 計測する(ユーザ) コードを読む(ユーザ) 挙動を把握する(ユーザ) カーネル 計測する(カーネル) コードを読む(カーネル) 挙動を把握する(カーネル) 環境はdebian前提で話しています、あしからず。 ユーザ空間で計測する コードを追おうと思う人の目的は、「そのコードを速くしたい」がほとんどでしょう。 そんなとき、いきなりコード読んでも心が折れるだけなので、この辺のツールを使ってどこが遅いのか調べます。 time 誰でも知ってるtimeコマンド。とりあえず時間測って比較すると

    カーネル空間までコード追っていこう@Linux
  • 1