先日の関西Ruby会議の帰りの飛行機の中、着陸5分前ぐらいの出来事。

harasou: 「松本さん、mrbgems の作り方教えてくださいよ」 matusmotory:「じゃあ、まづ mrblib ってディレクトリ作って…」

おもむろに二人並んで PC を取り出し、mrbgems を作り始めた(着陸直前だったので、PC出して良かったのかよくわからないが…) というわけで、その時のことを簡単にご紹介。

続きを読む

ブログ書くまでがペパボテックカンファレンス!というプレシャーをうけたので、一昨日(74)、福岡天神で開催された「第2回ペパボテックカンファレンス」について記録。

5時間超におよぶカンファレンスに参加してくださったみなさま、本当にお疲れ様でした。

@takesi_yosimura さんが、twitter をまとめてくださっていました。ありがとうございます!また、@kimroi さんは発表スライドをまとめてくれていました。ありがとうございます!

続きを読む

先日会社で「mysql のテーブルと、プロセス上の共有メモリを連携させたい」って話が出たとき、トリガで外部プログラムが実行できればいけるのでは?と思ったので、調べてみた。

MySQL で外部コマンドを実行するには

mysql で外部コマンドを実行するには system が使える。

mysql> system uname -a
Linux cent6 2.6.32-504.16.2.el6.x86_64 #1 SMP Wed Apr 22 06:48:29 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

ただ、これはターミナル上からとかでないと使えない。

調べてみると、mysql には UDF(User Defined Function) という仕組みがあって、自作関数を作成することができるらしい。これは、C や C++ で書いて共有ライブラリ(.so)を作成し、mysql の plugindir に放り込めば使えるようになる。

続きを読む

cgroup には複数のサブシステム(controller)があるが、その中の cpu.shares について検証してみた。

cpu.shares とは

cpu.shares を設定すると、タスクが使用できる CPU 時間の割合を変更することができる。

具体的に言うと、A B2つのグループを作り、cpu.shares をそれぞれ1024 2048とした場合、B のグループにいるプロセスが、A のグループにいるプロセスより 2倍 CPU を使えるようになる。以下、実行例。

続きを読む

Linux でコンテナといえば docker しかさわったことがなかった。LXC は docker よりシンプルで面白そうだったので、勉強用に先づ rpm を作成した。

環境

  • LXC: 1.1.2
  • OS:
    • CentOS6.6 (2.6.32-504.16.2.el6.x86_64)
    • CentOS7.1 (3.10.0-229.el7.x86_64)

続きを読む

cgroup の通知API

cgroup の memory サブシテムを利用すると、登録したプロセスがメモリを使いすぎた際、oom-killer が動作し、対象プロセスを kill することができる(デフォルト動作)。

kill されたことは syslog など見ればわかるが、cgroup には通知APIといった機能があり、アプリ側で oom-killer が動作した際のイベントを受け取ることが可能なので、この機能を試してみる。

続きを読む

プロフィール画像

harasou

めくじらを立てない

Infra Engineer

Fukuoka Japan