パスワードを忘れた? アカウント作成
567059 journal

typerの日記: 整理整頓

日記 by typer

さて、昨日の事も含めやりたい事、やっておきたい事などなど、ちょっととっちらかりぎみ。
そんなわけで少し整理。

1.翻訳は1日1文は手をつける。2週程度はこれ優先。
2.wiki関係はtodoに上げてマイペースに進めていく。
3.思いつきの調査/実験はあくまで気分転換

で、ここの立ち位置はとりあえず思いつき&やった結果メモ。これからはやった事のまとめはwikiでいこうかな。あとはライトな独り言。その他は思いつきで。
あと、思いつきプロジェクトはwikiにtodoとして登録しといて、やった時はここに結果張っといてwikiで部分まとめしてく。そして普段は忘れとく。

397250 journal

typerの日記: makeworld

日記 by typer

currentがfreeze中だからかstableも静か。更新なかったのでmakeworldしてみる。
ただいまmake buildworld中。
前回6/3からの主な変更点は...特にないらしい。
それはそうと前回のmakeworld時の記述、追加するといってしてなかった。のでする。

[追記]
SA忘れてるし。というわけで、変更点は特にないわけではなく
・SA-05:10-12
ですが、FreeBSD-SA-05:11.gzipは個別対応済み。

397248 journal

typerの日記: ひとつのディレクトリに百万個のファイル:結果失敗

日記 by typer

百万個はちょっとつらかったみたい。
何時までたっても終らないから終了させちゃった。途中でcronでcvsupが走ったりしたし。1万個単位ででも途中経過を買いておけば良かったな。
あと、perlのループにforeach使ってたけど、やっぱ百万個の配列はメモリを食らうのでそれもいけなかったと反省。
とりあえずの結果。

% time perl .makefile
終了
31.129u 4727.540s 1:26:44.71 91.4% 15+1385k 271+13225io 1pf+0w
% time ls > /dev/null
1.403u 0.240s 0:01.69 97.0% 31+49098k 0+0io 2pf+0w
% time du -h
657M .
0.819u 10.162s 0:13.78 79.6% 10+53457k 5191+0io 0pf+0w
% ls | wc
    332986 332986 2996874

33万個ちょっと。ん~、以外に厳しいね。実際は一様ではないでしょうが総平均すると14.3msec./fileという事に。十万個の時は0.25msec./fileだから57倍。文字通り指数関数的に増えてるのかな。
それではと、今度は読み出ししてみた。ファイルは番号を+10しつつ00000018から00010008まで。

% time perl .readfile > /dev/null
1.195312 real, 0.054688 user, 0.242188 sys
0.097u 0.260s 0:01.25 28.0% 15+1270k 1000+0io 0pf+0w

00100017から00110017まで。
% time perl .readfile > /dev/null
1.484375 real, 0.109375 user, 0.187500 sys
0.155u 0.205s 0:01.54 22.7% 17+1497k 1000+0io 0pf+0w

ざっぱな所ですが0.3msec/fileって所でしょうか。こっちは早い。
では、ファイルが少ない場合は?と調べようと消してるのだが、遅い。作成削除で色々とファイル数に依存する処理があるのでしょうね。

397247 journal

typerの日記: ひとつのディレクトリに百万個のファイル

日記 by typer

色々うろちょろして目に止まったネタ
http://www.mimori.org/~h/tdiary/20050616.html#p02
経由
http://blog.livedoor.jp/shi3z/archives/24991969.html

2000年って近いようで遠い過去かな?
FreeBSDでいうと4.0がでて4-stableの始まった年。
文字通りWin2kな年。
自分的にはFreeBSDも使ってたけどWin98SEで頑張ってた頃。
少なくとも1世代前、人により2世代、3世代前の話ですか。
その頃の事は良くわかんなかったりするけどBSDのBの字もでないのは悲しいかなと思ったり。

と、前置きはおいといて、手元の5-stableで試してみる。
作るのは0サプレスしない8桁の連番ファイルで内容はファイル名、つまり8byteのファイル。これをperlで作る。作るループの前後でPOSIX::times関数使って計測もしてみた。さらにtcshビルトインのtimeも使う。
とりあえず十万個はなんなくいけた。
消費したのは197Mbyte。あれ?1ファイル512バイトじゃ?とか思ったけど実際1ファイル2kバイト使ってる。
結果は、

% time perl .makefile
69.828125 real, 6.929688 user, 17.875000 sys
6.976u 17.893s 1:09.94 35.5% 15+1424k 1106+10io 0pf+0w
% time ls > /dev/null
1.845u 0.046s 0:02.01 93.5% 32+16639k 2+0io 4pf+0w
% time du -h
197M .
0.225u 2.155s 0:02.75 86.1% 10+13907k 694+0io 0pf+0w

こんな感じ。
さて、クラッシュしても良いようにして次は百万個いってみよう。
#たぶんクラッシュはしないだろうけどね。

568084 journal

typerの日記: OO入れる

日記 by typer

openofficeを入れてみた。そしたら11時間くらいかかった。
使いたかったのは表計算、そして入れ終ってからそれならgnumericで良い事に気が付いた。
というかhtmlの表から値を切り出して合計したかっただけなのでperlで良かった。なんつーかGUIに頼っちゃってる自分に気が付く。
でも入れちゃったし、まぁいいか。

それはそうと、最後に
/usr/local/lib/ruby/site_ruby/1.8/portsdb.rb:663: [BUG] Segmentation fault
ruby 1.8.2 (2004-12-25) [i386-freebsd5]
なんて出てきちゃった。でもインストール自体はできてるし、まぁいいか。

そんな風にまぁいいかで流しちゃってる自分がいる。でも、まぁいいか(笑)

397242 journal

typerの日記: makeworld

日記 by typer

さっき少し書いたが昨日makeworldした。
portsでmake中にbus errorが出るものがあって、もしかしてとmakeworldしたら無事通るようになった。
さて、前回からの主な変更点だが...それは後日追記する(^^;

[追記 6/21]
前回からの主な変更点
・5.4-release
・HTTをデフォルト無効化
・bsnmpdまわり
・NETGRAPH_DEBUG追加
・SA-05:06-9

398206 journal

typerの日記: /var溢れる

日記 by typer

ローカルの自作cgiがエラーメッセージはきまくって/varを溢れさせた。やられたって感じだ。
こないだportupgradeしてからエラーで動かなくなってるのは知っていた。でも、エラーがでて動かないだけだった。さして重要な物ではないから原因究明をせず、後回しにしていた。
そして昨日今日とmakeworldとportupgradeをしたら多少改善したかに見えたが、実は中途半端に動いてエラーメッセージ吐きまくるという改悪状態だったらしい(笑)
様子がおかしいので/var/log/http-error.log見たら同じメッセージが際限無くあって、「ログ食い潰すなよぉ」とか思いながらサイズを見たら馬鹿でかい。「おぃおぃ」とdfしたら空容量がマイナス、食い潰された後だったよorz。
とりあえずhttp-error.logは残しておくほどの物ではないので消して、cgiも重要ではないのでchmod a-xして利用停止、原因追求は後回しにしてひとまず解決。と思ってた。
気をとり直してvi hogehoge。は?/varがいっぱい?さっき消しただろ?と、dfするとマイナスのままじゃないかよ。httpdがファイル掴んで離さないでやんの。崩れ落ちそうなのを堪えてapachectl restartで容量が戻ったのを確認して今度こそ解決。つか、まだbugfixはしてないけど(笑)
ここで三言。
・かけなかったら一回離せ。
・syslogみたいにメッセージ圧縮しろ。
・rootで書かず最後の10%を使うな。

[6/10 追記]
「最後の10%」はminfreeの事でデフォルトのままなのですが、勘違いしていました。10%ではなく8%が正解です。

571094 journal

typerの日記: なぜに?(笑)

日記 by typer

infoseekテキスト翻訳より。
"it can't be turned off" → 「それは切ることができません。」
"it can't be turned off without" → 「それは切ることができません、なしで」
"it can't be turned off without hacking." → 「叩き切りなしではそれ回すことができません。」
"it can't be turned off without hacking source." → 「それが回されると必ず、出所を叩き切ります。」
なんかこわいよぉ

397223 journal

typerの日記: トラブル幾つか

日記 by typer

1. 日本語が表示できず、Xが強制終了する。
昨日のmakeworld以降Xでログインすると落ちると言う現象が起きた。色々やって日本語を表示するような時にプロセスが死んだり、Xが落ちたりすることがわかった。最初、makeworldが原因とも思ったがkernel周りはいたって順調、落ちるのはuserlandのみだし、ライブラリの不整合といっても落ちるのはX周りのみ。
とりあえずportupgradeしてみるかとはじめたが、それにしてもなんかおかしい。と、良く考えてみたらapacheのリソース制限でdaemonクラスに制限をかけていたことを思い出す。
そう、原因はdaemonクラスでリソース制限をかけていたこと。Xがこれにしたがってるのか日本語などのリソースを必要とする場面でリクエストを拒否したり、運悪く落ちたりしてた模様。
そんなわけでこちらは解決

2. xscreensaverで動かない物がある。
どうもdrmとかlibGLとかの周りでxscreensaverで強制終了を食らう物がでている。きっかけは昨日のゴタゴタでやったportupgradeだと思う。とりあえず、
# portupgrade -f xfree86-dri XFree86-libraries XFree86-Server xscreensaver-gnome
とかやってみた。少し改善したようだが、まだ落ちるのはいるらしい。良くわかんない。実害は少ないのでとりあえず追求は保留。

typodupeerror

「毎々お世話になっております。仕様書を頂きたく。」「拝承」 -- ある会社の日常

読み込み中...