メモリと CPU のオプティマイザー: これらは単なる仕掛けでしょうか?

メモリと CPU のオプティマイザー: これらは単なる仕掛けでしょうか?

分析して使用できるツールですすべてのCPUコアまた、記憶を取り戻すのに役立つツール(今のところ思いつきませんが、たくさん見てきました)はギミックですか?これらのツールは本当に機能しますか?

答え1

「メモリ オプティマイザー」は使用しないでください。役に立ちません。メモリ管理は OS に任せましょう。

その理由は次のとおりです。http://www.t3chnophilia.com/2008/08/5-reasons-you-shouldnt-use-memory.html

答え2

メモリオプティマイザー

DOS 386/486 のユーザーは、config.sys および autoexec.bat ファイルを手動で最適化し、できるだけ多くのものを「高位」(640K 以上) にロードする必要があった時代がありました。間違ったものを最初にロードすると、貴重な 640​​K のアプリケーション スペースに他のすべてが押し込まれてしまう可能性があります。

その後、メモリ オプティマイザが登場し、自動的にこれらの処理を実行できるようになりました。メモリ オプティマイザは、Windows 95 によってすべて時代遅れになった頃に、真の有用性と成熟度に達しました。

システム最適化装置

スピード オプティマイザーが実行するその他の処理には、ゴミ箱を空にする、ディスクをデフラグする、レジストリをクリーンアップする、古いインストール ログを削除する、不要なドライバーをアンインストールする、古いプログラムの一部をアンインストールするなどがあります。

しきい値付近で何かがクリーンアップされると、速度が劇的に改善される可能性があります。通常はそうではありません。

ご想像のとおり、お金をかけずにこれらすべてを自分で行うことができます。

答え3

あなたのユーザー名から判断すると、あなたも私と同じソフトウェア開発者だと思います。

アプリケーションがマルチスレッドを活用するように作成されていない場合、ヘルパー アプリケーションは何も役に立ちません。

マルチスレッド アプリケーションを実行していて、それが適切に記述されている場合、Windows のスレッド スケジューリング アルゴリズムは問題なく機能します。このようなプログラムは、内部で何が起こっているかを知らない人々を利用するために存在します。

最近のコンピュータのほとんどには、少なくとも 2 つのプロセッサ (一般に「コア」と呼ばれる) が搭載されています。

コアとプロセッサは異なるものであることは誰もが知っているので、これは明らかな証拠となるはずです。

答え4

私は開発者なので、この質問には C/C++ の観点から答えます。GUI プログラムを作成していて、その中のどこにも を使用してワーカー スレッドを分割していないと仮定するとCreateThread()、それはシングル コアであり、あなたができることは何もありません。 を使用していれば、プログラマーとしてアフィニティの設定を試みることができます。また、スケジューリングの優先順位を設定することもできますが、これらは Low、Normal、High、BelowNormal、AboveNormal などの説明に基づいたおおよその値です。実際の基礎となるスレッド レベルは 1 ~ 16 (カーネル レベル コードの場合は 17 ~ 32) ですが、これらに直接マップすることはできず、スケジューラの計算に従ってビンに入れられるだけです。スレッドの制御方法については、それ以上の制御はありません。Windows スケジューラの内部は、Microsoft 以外では知られていません。これは、Microsoft が Windows のリリース間でスケジューラを変更し、システムの使用状況を常に把握し、可能な限りスムーズに動作するようにしているためです。CreateThread()CreateProcess()

別のアプリケーションが役に立つという考えは、それがコア間で私のプロセスを壊すのでなければ、ばかげています。カーネル レベルでなければ、それを実行するのは非常に困難であり、いずれにしてもアプリケーションを壊す可能性があります。スケジューラに別のことを強制しようとすると、CPU サイクルの無駄になります。なぜなら、処理を高速化するための計算を行い、それをスレッドとプロセスに適用する必要があるからです。

最後に、これらのツールなどを使用すると、システムが不安定になる可能性があります。たとえば、ウイルス対策スキャナが低い優先度で実行されるのには理由があります。Linux でのプロセスの niceness 値について調べてください (Windows でも同じ概念です。基本的に、プロセスがリソースを大量に消費すると、そのプロセスは良くないとみなされます。Linux では、そのような悪い動作に対して実際に与えられる時間は少なくなります。Windows では、リソースを大量に消費して、すべてを遅くするだけです)。したがって、プログラムは対応できるはずですが、ツールによってプロセスに実際に必要な優先度よりも高い優先度が与えられたり、必要なときに低い優先度が与えられたりする可能性があります。

他の人が言っているように、これは OS に任せるのが最善です。

関連情報