[ruby-list:50888] Re: Net::SSH を使ったパイプ処理

From: dezawa <dezawa@...>
Date: 2020-06-01 13:12:14 UTC
List: ruby-list #50888
解決策では無いのですが、もしかしたらヒントになるかも、と

 > 差分データが大きい場合は、send_data ではデータが実際には送られず、
 > バッファーに溜まって行き、本体のメモリが足らなくなって
 > 失敗しているようです。
のではなく、

つど送っているのだが
>       while (data=sender_out.read(BUF_SIZE)) do
の data が使い捨てられて、つど新しい領域が確保され、GCが間に合わない
のでは?

以下つぶやき
data に入れずに ちょくに  channel.send_data(sender_out.read(BUF_SIZE))
してみる方法は領域取り直すのだろうか、、、
(そういう手段があるかわかりませんが)既得領域に上書きするようにできないだろうか
                     出澤

In This Thread