私が使ったすべてのLinuxでは、プログラムは実際にI / Oにバインドされていますが、なぜシステムが機能しなくなるのですか?gcc
これは、私が(誤って)(有効な!)50Mb Cファイルをコンパイルしようとしたときに発生しました。 GCCのI / Oは非常に集中的であり、システムのクラッシュを引き起こします。
別の瞬間は、apt-get
パッケージをダウンロードしている場合、または同時にインターネットにアクセスできないため、すべての要求がタイムアウトした場合です。
Windowsでは、操作が機能しない可能性があります。それ高速ですが、少なくともI / O時間をプロセス間で共有できます。
デザイン決定のためですか?それでは、この動作を変更できますか?
(これをLinuxへの批判として受け入れないでください。)
答え1
申し訳ありません。この質問は広すぎて回答できません。ここでは具体的な問題だけを実際に扱うことができます。これが起こる理由はいくつかあります。ユーザーはパフォーマンスの低下を単に誤解することがよくあります。
- システムにメモリが不足していますか?
- ハードドライブが遅いですか?
- システム設定が最適ではありませんか?
単にあなたの質問を無視するのではなく、私はキャリアを積んでかなり多くのベンチマークをしてきましたが、いわゆるパフォーマンスの問題を特定の問題に分解すると常に理由があり、一度問題を分解すると通常は個々の部分として明らかになります。
この「問題」をさらにデバッグするには、袖を蹴り、より深く掘り下げる必要があります。
- このイベント中にシステムの残りの部分が何をしていたかを確認します。
- 利用可能なRAMが十分ですか?
- スワップを使用していますか?
- システムの限られたリソースを置いて競う他のプロセスはありますか?
- 実際に「遅い」実行プロセスのタイミングを決め、認識されたランタイム差を比較します。
- 私のプロセスはどのリソースを使用しようとしていますか?ハードディスク?メモリ?どのくらい?
リストは引き続き続くことができますが、問題の解決策を決定する前に、この種の問題を診断する必要があります。