こんなに多くの RAM があるのに、なぜシステムがこんなに遅いのでしょうか?

こんなに多くの RAM があるのに、なぜシステムがこんなに遅いのでしょうか?

私のコンピュータは OS (XP) によると 3.45 GB の RAM を搭載しています。仮想 RAM は 2 GB です。

私の会社では、他のワークシートを参照するために Excel を限界まで使用しており、多くのリソースを消費しています。計算や保存などを実行しているときに、プログラムが 10 分ほどハングしているように見えることがよくあります。

何が問題なのか調べると、プロセッサは通常 8 ~ 12% 程度で動作しているのに、RAM は通常 250,000 KB 以上であることに気付きました。このため、コンピュータの動作が遅くなりますが、RAM が 512 または 1 GB しかない場合は当然のことです。OS に使用するメモリが 250,000 バイトというのはかなり大きいことはわかっていますが、合計 6 GB あれば、はるかに優れたパフォーマンスが期待できます。

なぜこんなに遅くなるか説明はありますか?

編集: 明確にしておく必要があります。私は、コンピュータの動作が遅いことに対する解決策だけでなく、この背後にある概念についてもっと知りたいのです (これは単なる例のはずでした)。システム全体に影響する重大な速度変化に気付く前に、RAM をほぼすべて使用できるはずだという認識を持っていました。

答え1

参照されているスプレッドシートの一部は LAN 上にある可能性がありますか? その場合、LAN 上のファイルへの接続はどのようなものですか (100 メガビット、ギガビット、ワイヤレスなど)?

Excel は非常に「おしゃべり」です。特に、参照スプレッドシートやさまざまなリソースに分散しているデータを処理している場合、アプリケーションが必要な情報を送受信するのに大量の通信が必要になることがあります。ほとんどのファイルがネットワーク共有やネットワーク ドライブ上にある場合、少なくとも、発生している速度低下の大部分はこれで説明できるかもしれません。

さらに、使用しているメモリの量に関係なく、excel.exe は通常、予想ほど多くのメモリを消費しないことに気付くでしょう。コンピューター上で実行されている他の不要なプロセスはありますか? タスクバーのアイコン (時計の横) が多数ありますが、それがどのようにしてそこにあるのか、何のためにあるのかはわかりません。

最後に、多くの企業が Excel をその最高の機能を超えて活用しています。あなたの会社もそうであるように思われます (データベースが必要なときにデータベースを使用せず、Excel を単純なデータ記録および処理機能に残すのはなぜでしょうか?)。古くて遅いマシン (4 年前の IBM デスクトップ 8215 および 9645) と新しくて速いマシン (6 か月前のデスクトップ、3269、9964) での Excel の速度を比較したところ、大きな違いはありませんでした。

スプレッドシートを接続するマクロとコードの記述方法によっては、スプレッドシートが必要なデータを収集して処理できる速度に本質的に厳しい制限がある場合があります。

あなたにできるのは、速度低下の原因となり得るすべてのポイントを特定して軽減し、最善の結果を期待することだけです。

答え2

Windows XP では、約 1 GB を超える RAM の使用はあまりうまくいきません。一部のアプリケーションではそれ以上の容量を使用する場合もありますが、少なくともデフォルトでは、1 つのアプリケーションで一度に 2 GB を超える容量を使用することはできません。これは、アプリケーションが認識できる最大の仮想アドレス空間です。3 GB のアドレス空間を許可するモードもありますが、多くのソフトウェアで互換性の問題が発生する可能性があります。

マシンが 0.25 GB しか使用していない場合、メモリがボトルネックになっていないかぎり、かなり奇妙に思えます。

マシンが「ハングアップしているように見える」場合、ハード ディスク アクセスが多発していると考えられます。この場合、Windows XP のメモリ使用の問題が関係する可能性があります。Windows 7 は、近い将来に何を使用するかを予測してキャッシュすることに非常に積極的です。Windows XP は、予測キャッシュを行うどころか、キャッシュにそれほど多くのメモリを使用することもないため、ハード ディスクを「スラッシュ」する可能性が高くなります。

それが問題である場合、検討すべきいくつかのオプションは次のとおりです...

  1. ハードディスクの使用を最小限に抑えるために、RAM ディスクの使用を試してください。ドキュメントをそこに保存し、一時ファイルもそこに保存するようにしてください。32 ビット Windows XP がアクセスできる 4 GB 以外の RAM を使用する RAM ディスクもいくつかあります。

  2. ストライピングを備えた RAID アレイを使用して、ハード ディスクのパフォーマンスを向上させます。

  3. ソリッド ステート ハード ディスクを使用します。ただし、アプリケーションが大量の書き込みを行う場合は、SSD が過度に消耗する可能性があることに注意してください。また、Windows XP は SSD 用に最適化されていないため、Trim をサポートする更新プログラムを探してください。

基本的に、アイデアは (1) システムに RAM を使用させるか、(2、3) パフォーマンスのボトルネックを減らすハードウェアに投資するかのいずれかです。

答え3

32ビットのオペレーティングシステムを使用しているようです(質問では明確に述べていませんが)。その場合、3.45GBに制限されます。アドレス可能メモリ。Windows はこの制限を超えるメモリを認識しません。

つまり、多くのリソースを使用するプログラムを実行する場合、OS はメモリ内のデータをディスク上のデータとスワップアウトする必要があるため、多くの時間をディスクへのページングに費やすことになるでしょう。ページ ファイルのサイズを増やすこともできますが (それが仮想 RAM の意味だと仮定した場合)、Windows にこれを管理させる方がよいでしょう。

メモリからパフォーマンス上の利点を得るには、64 ビット オペレーティング システムをインストールする必要があります。

答え4

他の回答では、あなたの問題に関係する可能性のある事柄について言及していますが、Excel にはメモリ制限が組み込まれているため、PC の RAM のすべてが使用されるわけではありません。

Excel には次のような制限があります。

  • Excel 5: 限定16MB
  • Excel 95/97/2000: 限定64MB
  • Excel 2002: 限定128MB
  • Excel 2003: 限定1GB実際のワークブックでは作業セットは少なくなります
  • Excel 2007: 限定2GB実際のワークブックでは作業セットは少なくなります
  • Excel 2010: 限定2GB32ビットExcelでは8テラバイト(8000GB) 64 ビット Excel

出典と詳細情報:Excel のメモリ制限、Charles Williams、Microsoft Excel MVP 著

関連情報