プロセスの「リアルタイム」優先度の用途は何ですか?


12

私の経験では、プロセスをリアルタイムに設定すると、コンピューターの速度がカタツムリのペースまで低下します。コンピューターが使用できなくなった場合、この設定はどのように使用されますか?


2
マルチコアプロセッサまたはマルチプロセッサシステムがある場合は、1つのコアのみにアフィニティを設定できます。そうすることで、システムの残りの部分の応答性が維持され、リアルタイムプロセスの残りの利点を享受できます。これはもちろん、1つのコアのみが必要なプロセスでのみ機能します。
AndrejaKo

回答:


7

正確に言うと、コンピュータの残りの部分をクロールまで遅くするという代償を払って、リアルタイムでプロセスを実行し、他のすべてよりも高い優先度を与えます。これは、タイムクリティカルなアプリケーションにのみ必要です。ほとんどの人は、日常生活でこれらを見ません...


サウンドサーバー(Linuxの2つの例としてのPulseAudioとJACK)などの非常に一般的なプログラムでは、リアルタイムの優先度スレッドを使用します。
user1686

@grawity:JACKはサーバーではなく、単なる開発キットです。どちらもクロスプラットフォームです。ただし、オーディオにはリアルタイムの優先度が必要ですが、Windows 7の観点から言えば、これらのプロセスはリアルタイムの優先度を取得しません。Windowsは、プロセスのこれらの種類のマルチメディアクラススケジューラと呼ばれるものがありますが...
タマラWijsman

jackdでは、サウンドサーバーでない場合、何ですか?(これまで私が理解していたことから、PAとJACKは両方ともサウンドサーバーとそれにアクセスするライブラリ/キットの両方を提供するという点で同じように機能します...)
user1686

キットが突然サーバーになるわけではありません。私たちは...スレッドを、ここではプロセスについて話していない
タマラWijsman

1
リアルタイムアプリの他の例は、医療アプリや直接制御されたロボット工学です。10µsが正常な動作と障害の違いである場合(障害が発生した場合、一部のロボットが崖から飛び出したり、患者が過度の放射線にさらされることがあります)。
リゴ

2

これは不要に思えるかもしれませんが、プロセスが開始されると、プロセスをさまざまな優先度で実行するように設定するパラメーターを渡すことができます。タスクマネージャーは、実行を開始したソフトウェアによってプロセスに設定できるオプションであるため、これをオプションの設定として表示します。ほとんどのソフトウェアは「標準」レベルで実行されますが、場合によっては、デフォルトでより低いレベルで実行されている一部のソフトウェアが表示されることがあります。上記の通常の状態で起動するソフトウェアを見たことはありません。

また、プロセスが最高の優先順位設定で実行できる場合があり、システムのパフォーマンスに大きな影響を与えないように思われることも言及する価値があります。たとえば、プロセスが開始され、たとえば8つのCPUコアのうち1つだけで動作するように割り当てられている場合、プロセスの優先度を「リアルタイム」に設定すると、1つのプロセッサが消費され、7が使用されますOSおよびその他のソフトウェア。この場合、リアルタイムの実行はシステムにほとんど影響を与えませんが、優先度の高いプロセスに適切なパフォーマンスバンプを与えます。

System Manager内からプロセスを「リアルタイム」で実行するように手動で設定することはほとんどお勧めしません。これは、1つの特定の実行状態で動作するように設計されたプロセスの実行設定を変更しているためです。実行優先度を変更すると、場合によってはアプリケーションがクラッシュし、データ書き込み操作の場合はデータが破損する可能性があります!

ただし、プロセスの最大実行優先順位設定を使用することが正しい場合もありますが、そのような優先順位設定は、システム管理ダイアログを介してエンドユーザーではなく、制御アプリケーションによって設定する必要があります。

個人的には、クラッシュしてタスクが完全に重要でないかどうかを本当に気にしない限り、タスクの優先度を変更しないことをお勧めします。ソフトウェアのドキュメントで、非常に大きな負荷のプロセッサ作業を促進するために、プロセスを高速化してプロセスを高速化できると明示されている場合、それも受け入れられますが、メカニズムが以下の場合は少し懐疑的ですアプリケーション内では提供されません。

個人的な逸話として、私が時々手動で変更するプロセスは1つだけです。それは、ソフトウェア圧縮アプリケーションです。私は長い時間で大規模なファイルを解凍するために持っていなかったが、私は急いで午前場合(ことを発見したエヘンというせっかちな)私は、プロセスの優先度をクランクアップし、パフォーマンスの緩やかなバンプを得ることができます。これらのアプリケーションは作業タスクを開始し、終了すると終了するため、アプリケーションがデータの抽出を終了すると自動的に停止するため、プロセッサの設定を解除する心配はありません。これは、システム管理を通じてプロセッサ速度を制御することが個人的に有用だと判断した唯一の時間です。


1
プログラマとして、私は、おそらくプログラムより多くのリソースを与えること、それがクラッシュする場所の状況を考えることはできません
TheLQ

プログラマーとしてはい、ただし、特定のレベルで実行するようにプロセスを設定すると、特に他のプロセスと同時に実行するようにソフトウェアが(場合によっては不十分に)書かれている場合、問題が発生する可能性があります。私の提案は両方の経験から得たものであり、すべてのユーザーが開発者であるわけではないことを理解しています。開発していない実行中のプロセスの優先順位を設定すると、予想外の動作を引き起こす可能性があります。いずれかを怖がらせたくはありませんが、他のユーザーに変更がダメージを与える可能性がある場合、他のユーザーがプロセス設定を台無しにすることを奨励したくはありません。
RLH

0

ゲーミング以外のラップトップでゲームを高速化するために、リアルタイム優先を使用しています。ゲーム中はバックグラウンドプロセスを気にせず、このように処理能力を割り当てることでより楽しい経験を得ることができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.