ローファイ日記

出てくるコード片、ぼくが書いたものは断りがない場合 MIT License としています http://udzura.mit-license.org/

cgroup経由でシステムの利用状況を知る - CPU編

システム全体の負荷を計測する方法は、ロードアベレージ、topなどprocpsスイート、sysstat系のツールなど色々あるが、特定のコンテナ単位での負荷状況を知りたい。

コンテナ単位というのはつまり、cgroupの仕組みを用いて、一つのコンテナに所属しているプロセス群という形でグルーピングした単位を指す。人間は、その単位でリソースの利用を制限したり、その中での利用状況を取得したりできます。その仕組みをいじった結果を、今回整理しておく。

続きを読む

社内向けホスTechMTG #3 で「自分のための問題解決」と題してしゃべった

久しぶりのローファイ日記です。

ペパボは幾つか事業部があって、事業部に所属するエンジニア〜たちで社内向けに発表会をしています。詳細は以下のようにテックブログでレポートしていたりします。

tech.pepabo.com

読んで分かるようにめちゃくちゃ楽しそうなので、今回、無理矢理参加し、無理矢理トリを務めて、自分が何で問題解決を大事にしているのか、アウトプットをしているのかという感じの話を、過去を交え…、時には見たくない過去を、交えて、しました。

speakerdeck.com

言葉の少ないスライドですので、少し補足しておくと、 Padrino プロジェクトに関われたことは本当に今の僕につながっていて、知人含め今も Padrino プロジェクトに関わり、コミッタやメンテナを続けている方々も本当に素晴らしい活動をしていると思います。今の僕は少しだけ興味の方向性が変わってしまったため、違うことをやっているというだけにすぎません。

それはそれとして、当時の自分の発表はまちがいなく調子に乗っていた。

でもいいんですよ、という話をしました。深夜のゆいチャットでイキっていたことも含め、自分を圧倒的に肯定していきます。みんなも肯定していこう。謎の自信を持とう。

ではまた、インターネットで!

mrubyとseccompとptraceでシステムコールをとにかく追いかける

世の中にはseccompというものがあり、知られています。皆さんはBPFですか。人は、、、

seccompについては以前書きました。Linuxシステムコール呼び出しをフィルタリングして許可したり禁止したりするものです。

udzura.hatenablog.jp

さて今回、拙作 mruby-seccomp で SCMP_ACT_TRACE アクションをサポートしました。その辺の話をしてみます。

続きを読む

straceがどうやってシステムコールの情報を取得しているか

興味があって調べていたら、少しだけ分かったのでまとめておきます。当然間違った箇所もある、あと考慮が漏れている箇所もあるかと思いますのでツッコミをお願いします…

続きを読む

Cレベルのライブラリコールを“Hijack”してみる その2 - libmruby.aを組み込む

少し間が空いたんですが

udzura.hatenablog.jp

こちらの続きです。

今回は LD_PRELOAD するshared objectにlibmruby.aを組み込み、mrubyで置き換え対象の処理を記述できるようにする。

組み込み用の libmruby.a を作成する

続きを読む