2010-09-10

開発

いい感じで大規模データを処理できるようになってきた. でっかいコーパスがあれば,色々と使い道があって,夢が広がる. データ構造を工夫することで,現実的な時間で動くようになったので,わくわく.

プロセスの監視

また,サーバでの大規模処理もすることに. 処理時間やメモリが読めない. 時間はともかく,メモリを独占してしまうと非常にまずいので, この記事を参考に,監視スクリプトを書いてみた.

#!/usr/bin/zsh
# 指定時間ごとに監視を行うシェルスクリプト
# Licence  : Public Domain
PROCNAME="txt2lda" #プロセス名の部分文字列を指定
MAXMEM=167772160  #最大メモリ消費量160GB(=1048576KB*16)
INTERVAL=1 #監視間隔
SUCCMAIL=~/bin/smail #成功メール送信コマンド
FAILMAIL=~/bin/smail-fail #失敗メール送信コマンド

while true
do
        sleep ${INTERVAL};

        set -A array $(ps aux -m |grep ${PROCNAME} |grep -v grep)
        if [ $(echo $array |wc -w) -eq 0 ];
        then
            date && ${SUCCMAIL} && echo 'Program is dead!!' && exit
        else
            test $array[6] -gt ${MAXMEM} && kill $array[2] && ${FAILMAIL} && echo "KILL" && exit
        fi
done

なかなかいい感じに動く. 実際に,終了通知メールが送られてきたときには感動した

ポスター印刷

YANSのためにポスター印刷. 帰宅時に松本先生に,防炎クロスいいよって教えて頂いたので,試してみる. 用紙の入れ替えに手間取ったが,印刷してみるとなかなか良い. 折りたたんでも問題ないのがいいよね.

プログラム自体は未完成なんだけど,まぁ火曜日あたりに完成度を高めようか.