Out of memory and no killable processes... のカーネルパニックを起こしたい

イントロ

dsas.blog.klab.org

こちらのエントリを拝見したのだが Out of memory and no killable processes... というログを出してカーネルパニックするケースがあるのだなと初めて知った。

幸いにして、過去に同様のメッセージを出すカーネルパニックには遭遇したことがない。あるいはログが取れてなくて気がつかなかっただけかもね!

モチベーション

故意に異常を起こして、このカーネルパニックを見てみたい 🔥💀

続きを読む

榎峠、小沢峠、天目指峠 🚲

9/24(日) 青梅街道から成木・名栗へ。ふだんはスルーして通過している峠をのぼってきた

走行距離 127km、 獲得標高 1171m。

小一時間かけてヘビーな峠にチャレンジするのも大きな達成感を味わえるけど、小ぶりな峠をいくつか組み合わせてトライするのも楽しい 😊

続きを読む

GDB で php プロセスの覗き見

phpGDBデバッグするのが便利。 以下のエントリで手法が説明されている

qiita.com

blog.anatoo.jp

stackoverflow.com

以降、私が書くのはこれらのエントリに書かれている手順を真似たものなので、詳細を知るにあたっては是非リンク先も読んでほしい

検証: GDB で実行中の php プロセスを覗き見る

GDB は実行中のプロセスを解析の対象とすることもできる。このエントリでは、無限ループするバグった phpGDB で覗いてみよう

続きを読む

Python + folium で Strava の "全"記録を地図で可視化 (2) - ヒートマップ編

hiboma.hatenadiary.jp

前回の続きで Strava の記録をヒートマップにする

ヒートマップをつくる

folium のプラグインでヒートマップも手軽に生成できることを知ったのでスクリプトを書いた。大したモノじゃないんだけど。

  • よく通るルートは目立つように
  • 滅多に通らないルートは控えめに

という可視化ができるんじゃないかと試行錯誤して、結果、なかなかビジュアル映えするものができて満足

サンプル1

過去の走行データを全てまとめてプロットすると よく走っているエリアが赤くなって表示される。練馬付近が真っ赤だ

f:id:hiboma:20170914154242p:plain

ズームレベルを上げると、どの道路を頻繁に通っているか色で判別できる

続きを読む

php の文字列連結時に呼び出される mremap(2), mmap(2)

イントロ

とある php なサービスを動かしている production サーバで、 100% CPUバウンドな php-fpm プロセスが複数いたので調査をしていた。

調べていた内容

strace を取ると、 mremap(2) をひたすら繰り返しているだけのプロセスだった。 gdb でphp レベルのバックトレースを採取 してソースコードと照らし合わせた読んだ所、アプリケーションのバグで以下のような挙動になっていた

  • ループの内部で文字列連結を行っている
  • バグで無限ループしちゃってる

というものだった。ああ、無限文字列連結 …

文字列が長くなるほど必要なメモリが増えるので、 php のランタイムがメモリを割り当てる際に mremap(2) を呼び出しているのだろうとアタリをつけた

擬似コードで再現

続きを読む

東京〜仙台 🚲

9/15(金) 東京から仙台まで走った

  • 走行距離 356 km
  • 獲得標高 1570 m
  • 経過時間は 20時間38分 (実走時間は 14時間25分)

今年の夏休暇に二日かけて走破したルート を一日で走った。ひたすら丸一日 自転車で走ってみるのをやってみたかったのが、ようやく実現できた

ルート

前回とほとんど同じで国道4号線を北上する。寄り道は最低限

03:00 出発

続きを読む