久々に早寝早起きだったので、pt2の検討。
今は/dev/dvb/adapter?/dvr0から、ddで取り込んでいる。
(設定メモ: PT2(DVB), epgrec用do-record.sh)
dd -> b25 -> tssplitter_lite -> dd -> file
とりあえず最初のddにconv=noerrorを入れてあるので、途中で多少データが落ちても止まらない。
ただ、複数チャンネル録画とかすると、ちょくちょくデータを落とす。
dd: reading `/dev/dvb/adapter0/dvr0': Value too large for defined data type
で、負荷が高いときにドライバからのリードが追いつかないような気がしているので、
最初のddの優先度を高くして、後の処理はnice値大きめにしてある。
これでしばらく動かしてみたけど、闇雲に最初のddの優先度を高くしてみてもあまり効果がないようだった。
とくに一番最初にドライバからデータがとれない場合、完全にダメになってしまう。
どうもドライバの方が間に合って無いのかなという気がしてきた。
なのでreniceでカーネルのpt1ドライバのスレッドの優先度を上げてみることにした。
root 556 0.0 0.0 0 0 ? S Jul09 0:57 \_ [jbd2/sda1-8]
root 559 0.0 0.0 0 0 ? S< Jul09 0:00 \_ [ext4-dio-unwrit]
root 605 0.0 0.0 0 0 ? S< Jul09 0:00 \_ [hd-audio0]
root 723 2.1 0.0 0 0 ? S< Jul09 420:43 \_ [pt1]
root 29253 0.0 0.0 0 0 ? S Jul14 1:01 \_ [flush-8:16]
root 14602 0.0 0.0 0 0 ? S 04:12 0:04 \_ [kworker/0:3]
root 28225 0.0 0.0 0 0 ? S 07:34 0:00 \_ [kworker/1:1]
になっているから、
renice -n -20 -p 723とやってみた。
ちょっとはマシになったような気もするけど。うーん。どうだろう。
あんまり変わらないような気もする。
録画はじめてしばらくすると大丈夫っぽいので、マシンスペックのせいでも無いと思うんだけど。
まだちょっと頭が痛いのでもう休もう。
0 件のコメント:
コメントを投稿