2017-05-24 5 views
0

私はちょうど、マルチプロセスで、待機中のプロセスがコンテキストになると、キャッシュ全体が無効になり、多くのキャッシュミスが発生したと読んでいます。私はどのくらいプロセスが継続的に実行されてから待機状態になるのだろうと思っています...新しく更新されたキャッシュを意味のある方法で使用するには十分ですか?しかし、他のプロセスはあまりにも長く待っていますか?助けをお待ちしています。ありがとう!1プロセスあたり連続したサイクル数はいくつですか?

答えて

0

簡単な答えは、「はい、通常は十分です」ということです。十分に長くなければ、チップにキャッシュを置かないだろう。時間はオペレーティングシステムによって制御され、あなたはここに投稿を見ることができます:Linux Scheduler Time Slice

ただし、十分に長くない場合があります。これは通常、I/Oが多く、その間に多くの計算量がない場所です。良い例は、文字を読み、文字を出力してから眠ることができるtelnetのようなプログラムです。しかし、私はキャッシュ全体が無効になったと言っても間違いないと思います。これは、新しいプロセスが、前のプロセスのすべてのキャッシュエントリを上書きするのに十分なメモリを使用した場合にのみ発生します。

このような問題を回避するには、アプリケーションでバッファされたファイルI/Oまたはデータベースアクセス、キャッシュを使用し、文字単位の処理を避ける必要があります。

関連する問題