2015年4月11日土曜日

rtmpsuckが重い

設定メモ: radikoをひらくスクリプト
でrtmpsuck使ってる。

4コア8スレッドなんであんまり気づかなかったが、
ラジオ録音中1コアがCPU使用率100%になってた。

gdb -p (PID)で
info threadsで調べて
thread 3でみると、

以下をフル回転している。

 715   while (1)
 716     {
 717       ich = getchar();

多分原因は以下で起動しているせい。(rubyから起動)
入力がnullだから。

pid = spawn( "/usr/local/sbin/rtmpsuck", :in=>"/dev/null", :out=>"/dev/null", :err=>"/dev/null" )

nullに代わるものの渡し方がわからなかったので、簡単に以下のように直す。

 715   while (1)
 716     {
 717       ich = getchar();
 718       if( ich == -1 ){ break; }

これでOKだと思うが未確認。そのうち実験する。

0 件のコメント:

コメントを投稿