私はRaspberry Piを持っていて、そこからビットコインを実行したいと思います。これは時々出てくる帯域幅を多く消費するので、ビットコインデータが20KB/sを超えないようにしたいと思います。
ビットコインプロトコルは接続にポート8333を使用しているため、送信元ポートまたは宛先ポートが8333であることを確認するだけで接続を簡単に識別できると思いました。
Linuxでポート8333に入出力するデータが20KB / sを超えないようにするための一連のコマンドは何ですか?
ベストアンサー1
tc
ネットワークアドレスまたはタグ付きパケットに基づいて帯域幅使用率を「調整」できます。昔は、IPTablesにパケットを表示するいくつかのオプションがありましたが、tc
それが何であるか覚えていません。私のものではないiptables --help
ので、彼らが持って行ったかもしれません。これはpidまたは所有者に基づいている可能性があるため、良いです。 PIDはリサイクルされ、所有者があまりにもあいまいです。ネットワークアドレスの一般的な範囲を知っていれば、tc
他の地域でも役に立つ可能性があるので、より良いでしょう。そうでなければ、アプリケーション自体が安定して使用できる唯一の標準である可能性があります。
かなり最新のカーネルを使用している場合は、cgroupを使用してアプリケーションの帯域幅使用量を制限できます。ここcgroupを設定する方法の簡単な例を示す別の答えです。
fork
とexecve
'は新しい子プロセスをキャプチャするので、すべての子プロセスが同じcgroupに追加されるため、cgroupが優先されます。そのため、私がリンクした答えはシェルのpidだけを追加しても機能します(cgroupはbash
呼び出しをキャプチャしexecve
、同じcgroupにPIDを追加します)。