昨晩「LFSまだまだかー」と諦めたばかりのところへ、 lfs_cleanerd の修正 なんてのが。ログメッセージの一部に
* Keep better track of the free list during roll-forward, avoiding a core dump * Fix pager_map deadlock in lfs_putpages() * Fix mkdir panic on full fs * Fix page accounting leak by counting differently.
なんてのがあったので期待できそう。れっつとらい
…………
てことで実験。お、昨日よりはるかに安定。コンパイルとディレクトリまる ごとコピーを同時でブン回しても落ちない……と思ったら10分後くらいに 固まった。がしかし、とりあえず lfs_cleanerd を走らすモードのときに 固まることはなくなった。コンパイルも1本回すだけなら全く固まらないようだ。 実用レベルに近づいたかな。よしよし、しばらく使ってみよう。
make -j2 によるコンパイルのブン回しと大量ファイルコピーも file system full にならなければ全く落ちない様子。さっき固まったのは パーティション容量ぎりぎり付近で大量R/Wの負荷掛けてたからかな。 LFSの性質上消すのは後回しになるから、file system full 近辺で使うのは よろしくなさそうな気がするから容量に余裕を持たせて使えって感じか。
LFSはプレゼン用のノートPCとかで使っておくと、万一落ちたあとも 復帰が速くてええのう。しかしそのノートPCはこの前NetBSDからFreeBSDに 換えてしまった……、戻すべか。
負荷掛けはこんな感じ。
while rm -rf dist; do df -m . gcp -a /usr/src/dist . df -m . done
ファイルのコピー&消去無限ループ。
while make -j2; do rm i*.o sleep 30 done
ロードアベレージの低いときに lfs_cleanerd が走るので sleep させて走るのを待っている。
topはこんな感じ。
load averages: 3.69, 4.42, 4.45 16:56:53 177 processes: 1 runnable, 170 sleeping, 1 stopped, 4 zombie, 1 on processor CPU states: 4.5% user, 0.0% nice, 77.1% system, 0.5% interrupt, 17.9% idle Memory: 382M Act, 239M Inact, 5484K Wired, 41M Exec, 484M File, 105M Free Swap: 1024M Total, 1024M Free PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND 5858 root 28 0 2844K 3196K segment 6:35 10.50% 10.50% lfs_cleanerd 21681 root -18 0 692K 1232K pager_ma 0:00 46.00% 2.25% gcp
lfs_cleanerd が走りまくっても固まらない。桶。
叱咤激励感想ツッコミはゲストブックへ
Generated with mkdiary.rb