前回はrecfsusb2nでテレビ録画をできるようにしましたが、残念ながらコマ落ちしている状態でした。
vmstatのデータを見てみると、ioのbo(ブロックデバイスから受け取ったブロック (blocks/sec))が高くなり、その次の時間には、CPU使用率が非常に小さく、wa(IOの待ち時間)に時間がさかれています。
すなわち、ファイルへの書き込みが遅く、書き込み用のバッファが溢れているかのようです。(私の解析が正しいとは限りません。)
Writeのチューニングをしようと、Debianのチューニングに関して調べて見ましたが、情報は見つかりませんでした。
そこで、どうしたら溢れる前に書き込みを実行できるのか考えてみました。
思いついたのがsyncコマンドを定期的に実施する方法でした。
syncコマンドとはディスク・キャッシュを強制フラッシュするコマンドです。
さっそく、録画している状態において、手動でsyncを打って見ると、wmstatのidleもあり、waもそこそこの値です。
そこで、定期syncをシェル化しました。
sync終了後、2秒周期でsyncを行います。
2秒にした理由は0秒~5秒を試してとき、vmstatのデータが2秒周期がベストだったからです。
また、録画コマンドもシェル化し、定期syncのシェルを組み込んでみました。
このrectv.shは、引数を付けて起動すれば、その引数を用いて実行され、引数がなければ、入力を促します。
このシェルを使い、録画を実行したときのvmstatは、以下のようになりました。
boもidもwaも安定しています。
出来上がったファイルもコマ落ちは見られませんでした。
どうでしょう。今回は役に立ったのでないでしょうか。自分でも満足しています。
[No.1:Raspberry Piが届いた]は
こちらです。
[No.2:ブートイメージSDカードを作ろう]は
こちらです。
[No.3:初期設定をしよう]は
こちらです。
[No.4:環境設定をしよう]は
こちらです。
[No.5:VNC接続をしよう]は
こちらです。
[No.6:無線LANを接続しよう]は
こちらです。
[No.7:ファイル共有サーバを作ろう]は
こちらです。
[No.8:動画ファイル(mp4)を再生してみよう]は
こちらです。
[No.9:音楽ファイル(mp3)を再生してみよう]は
こちらです。
[No.10:firefox(iceweasel)をインストールしてみよう]は
こちらです。
[No.11:Raspbian(wheezy)にXBMCをインストールしてみよう]は
こちらです。
[No.12:Raspbian(wheezy)のXBMCを日本語にしよう]は
こちらです。
[No.13:XBMCのWebサーバーを有効にしよう]は
こちらです。
[No.14:スマホからXBMCを操作しよう]は
こちらです。
[No.15:FTPサーバー(vsftpd)をインストールしよう]は
こちらです。
[No.16:recfsusb2nでテレビ録画をしよう]は
こちらです。
次回もお楽しみに!!
2013-04-18 00:05
nice!(1)
コメント(0)
トラックバック(0)
共通テーマ:パソコン・インターネット
コメント 0