44Looks like we're in the ether.Oh look, here are some escape pods stories to rescue us.
興味があって調べていたら、少しだけ分かったのでまとめておきます。当然間違った箇所もある、あと考慮が漏れている箇所もあるかと思いますのでツッコミをお願いします… ptrace(2) システムコール strace の核となるシステムコールは ptrace(2) である。ptrace(2)を用いることで、あるプロセスを別のプロセスから監視し、シグナルごとに停止してレジスタやメモリの状態を観察したり変更したりできる。gdbのようなデバッガのブレークポイント、あるいはまさにstraceのような目的で利用される。 大まかな利用方法としては、親プロセスの ptrace(PTRACE_ATTACH, pid, ...) (または子プロセスの ptrace(PTRACE_TRACEME, 0...))によりトレースが開始し、wait()などで停止を待ってから様々な設定を親から送り、 ptrace(PTRAC
Introduction I’ve written a number of articles around the web on the subject of using strace to get information about the IO in your application. But the hard thing is how to take seemingly endless lines in the output file and extract useful information. I learned at Panasas that you can take that strace data and extract useful IO information. For example you can extract a great deal of statistica
「RedisかわいいよRedis」(by typester)……というほど自分は Redis 期でもないのですが、最近 Redis を使ったサービスの面倒を見ていて時々レスポンスが悪化する現象に出会ったので調べました。 前提 使用しているのは Redis 2.4.16 です。 redis.conf に "save [t] [n]" を定義すると、最後に save をしてから [t]秒間に [n]個以上の key が更新された場合に background で save (=bgsave) が実行されます。 save 60 10000これだと、60秒間に 10,000 keys です。 bgsave では redisは自分自身のプロセスを fork() し、子プロセス側は自分のメモリに乗っている内容をファイルにすべて書き出します。 この仕組みによって、1プロセス 1スレッドで動作している re
riywoさんの「Perlでssh tail -fして目的の行が来たら終了する」に便乗するコネタ。 ログをtailしながら(ほぼ)リアルタイムで解析していくworkerの処理がどれくらい遅延しているのか確認して、それをgrowthforecastでグラフ化したいなと思ったので以下のようなスクリプトを書いてcronで実行しているよという話 #!/usr/bin/perl use strict; use Time::Piece; use LWP::UserAgent; my $worker = `/usr/bin/pgrep worker.pl`; chomp($worker); die "couldnot find worker pid" unless $worker; pipe my $logrh, my $logwh or die "Died: failed to create pipe
レスポンスタイムが重要なサービスをやってると、「理由はわからないけどなぜか遅い。調べよう」ってなることが多いと思います。調べ方はいろんなアプローチがあると思いますが、Linux の場合straceというコマンドが超絶便利です。 strace is a system call tracer, i.e. a debugging tool which prints out a trace of all the system calls made by a another process/program. strace | Free Development software downloads at SourceForge.net strace とは? straceはプロセスが発行するシステムコールをトレースできます。システムコールというのはプロセスがカーネルに作業を依頼する API みたいなもの
$Id: readingcode.html,v 1.13 2003/12/06 00:01:08 aamine Exp $ 2006-05-02 gonzui 追加。thanks: 冨山さん 2003-12-03 ltrace と sotrace を追加 2003-12-03 ツールのところに DDD を追加。thanks: 和田さん 2003-05-27 VCG, SXT などについて追加。thanks: 梅沢さん 2003-05-27 これもすっかり忘れていた strace, ktrace, truss, etags などについて追加 2002-08-30 すっかり忘れていた ctags を追加 2002-07-07 匿名希望さんからメールでいただいた情報を追加 (動的コールグラフ) 2002-06-13 日記経由でいただいた意見をもとに文章を追加。thanks: 柳川さん、まつもとさ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く