d.sunnyone.org
sunnyone.org

ページ

2010-01-13

Vala言語について

今日初めてVala言語と呼ばれるものを知った。
どんな言語かというと、GOBのようなGLib向けオブジェクト指向言語。Cソースを生成し、コンパイルする。
文法はC#ライク。
http://live.gnome.org/Vala

気になった点をいくつか述べる。

(1) ラムダ構文
シグナルで使う例。
foo.some_event.connect ((s, i) => stdout.printf ("Handler B: %d\n", i));

(2) RAIIによるオブジェクト生成/消滅
/* Usage: */
{
var res = new MyResource ();
// ...
}

他にも、リファレンスカウントだとか、GLibプログラミングにおいて、自分でやるにはめんどくさいいくつものことをやってくれるらしい。これで特別なランタイムはいらないって言うんだから、良いと思うのだがどうだろうか。ちょっと使ってみたくなった。

2010-01-03

Solarisでloadが異常に高い時の確認

参考になりそうなのでメモ
http://opensolaris.org/jive/message.jspa?messageID=446880#446880
by kohjuさん
・vmstatを行い、mfとreが多いか確認してください。
・・もし、mfが4桁とかになっているのならば、ページスキャナーが動いています。
・・その場合。D-trace toolkitをインストールし、/opt/DTT/Mem/minfbypid.dを実行し、誰がmfを沢山発行してるのか、確認してください。
・・zoneは使ってますか?あるいはsrmを設定していますか?
・prstat -mLを行って、どこか、特定のプロセスがCPUパワーを食っていないか確認してください。
・・topはプロセス以外の時間も計測しますが、prstatは純粋にcpuだけです。
・iostat -Ynなどをして、%b、%wが多いか確認してください。
・・多い場合、/opt/DTT/Disk/iofile.dを実行して、誰が犯人か確認してみてください。
・intrstat 10などを実行し、どのデバイスの割り込みが多いか確認してみてください。