私はターミナル(stdout)に出力を書き込む非常に簡単なWebクローラーを作成しました。 MySQLテーブルを分離しtmux
て調べた後、スクリプトが遅く実行されているようです。 (2番目のターミナルを開いて、tmux
分離前/後の速度を比較してみる必要があります。)
tmux
とにかく、スタンドアロンセッションがあまりにも「良い」かどうか疑問に思います。内部を覗くと、top
私が探しているものがわからない。わかりましたtmux
。しかし、これは本当にスタンドアロンセッションですか?tmux
分割セッションの「親和性」をどのように変更しますか?オペレーティングシステムを介してこれを行いますか、または経由で実行しますかtmux
?
答え1
あなたの質問に答えるには:既存のプロセスを変更するには電話してください。レニス。これはセッション固有ではなくプロセス固有であるため、tmuxプロセスは直接的な関係はありません。クローラのプロセスID(たとえば、ps x
Linuxでは、使用または使用pstree
)を見つけて呼び出しますrenice
。
しかし、2つの誤った仮定があるため、これは役に立ちません。
- tmux セッションを分離すると、プロセスは再開されますが、そうではありません。
- Webクローラーの品質が速度に影響を与える可能性はほとんどありません。制限要因はほぼ常にネットワークです。
クローラーがしばらくしてから遅くなる主な理由は、Webサイトで好みの要求が多すぎたため、IPアドレスを制限したためです。これについてできることはあまりありません(ただし、サイトの制限が減りたいと思って最初から要求間隔を広くすることを除いて)。
またはプロセスグループですが、ここでは役に立ちません。
答え2
Webクローラーの優先順位を変更する必要があります。いいえ、tmuxの可能性はありません。 tmuxには子bashがあり、その子はプログラムになります。
私は通常プログラム名でpidを探しますが、そうでなければ実行すると名前 pstree -p
を知らなくても階層的に見つけることができます。
renice(1) を使用してプロセスを再開できます。たとえば、次のようになります。
renice 5 1234
または。さらに詳しく、
renice -n 5 -p 1234
プロセス1234を優先順位5に調整
でこれを行うこともできます。 pidと新しい良い値を求める2つのプロンプトをtop
押して応答します。r