2015-12-01から1ヶ月間の記事一覧

systemtap probe各種めも

systemtapでスクリプトを書くときのめもです。カーネル、ライブラリ、実行ファイルの3パターンで。 tapsetsにある定義済みの関数を使う場合。ここではvm.kmallocとvm.kfreeを使ってます。 #!/usr/bin/env stap probe begin { printf("start¥n") } function p…

Linuxカーネルのデバッグでprintk(9)デバッグを卒業したいっ!

この記事はLinux Advent Calendar 2015の25日目の記事です。 Linuxカーネルのデバッグである意味一番手軽なのがprintk(9)によるデバッグだと思うんですが(ユーザランドのプログラムで言うところのprintf(3)デバッグ)、この場合h速いCPUを積んだマシンなら…

glibcのmalloc(3)とLinuxカーネルのovercommitとOOM

この記事はLinux Advent Calendar 2015の23日目です。 glibcのmalloc(3)とLinuxカーネルのovercommitとOOMの関連でも見てみようと思います。Linuxカーネルのシステムコールにはmalloc(3)的なものはないので、mmap(2)、brk(2)が使われます。 今回知りたかった…

bash-completionでコマンド補完するときにプロ生ちゃんに何か言ってもらう

この記事はプロ生ちゃん Advent Calendar 2015の5日目です。 bashでコマンド補完をするのにbash-completionを使うと便利ですよね。bash-completionはbashのスクリプトで実装できるので、対応されてないものに対して作成したり、自作のコマンド向けに作ったり…

Linux 4.0(x86_64)のメモリレイアウト

この記事はLinux Advent Calendar 2015の2日目の記事です。 今日は復習も兼ねてメモリレイアウトの確認です。 見るのはDocumentation/x86/x86_64/mm.txtです。見ているのは4.0ですが、4.3も同じでした。 で、メモリーマップですが下記のように説明されていま…

Fedora: Anaconda 3分クッキング

この記事はLinux Advent Calendar 2015 - Qiitaの第一日目の記事です。 anacondaをハックする場合、ビルド周りで参考になるのは下記の2ページです。 Anaconda/Building Anaconda/Updates Buildingのページは必要なパッケージのインストールから始まって、rpm…