メモリ不足問題

Posted on :| コメント (0)

 先日の記事に書いたように、 今メモリ不足の問題に直面しています。2GBのメモリを積んでいても、なぜメモリが不足するのか? 単純な話でSQL Server2005を動作させているためです。自作競馬ソフトから全馬の戦績を含む1レース分の出馬表を作成すると、 メモリ使用量はあっという間に増え、残り100MB程度まで落ち込んでしまいます。

 これはメモリリークを起こしているのではなく、SQL Server2005のキャッシュ(バッファプール)の仕様によるものです。SQL Server2005が確保したメモリは、 他のアプリケーションから要求があった際に自動的に解放されると説明されていますが、 吉田が使用しているアプリケーションでは一向にその気配がありません。

 残りメモリが100MB付近になると、アプリケーションの実行速度が目に見えて低下します。IEでネットを見る際にも、 新しいページを開く度にもたつきます。
 データベースのチューニングをすればいいのですが、あいにくまだそこまでの知識がないため、これまではリセットを掛けていました。

 しかし、リセットせずにパフォーマンスを取り戻す手っ取り早い方法があります。それはメモリ解放ソフトを使うことです。 メモリ解放ソフトは多種多様ですが、常駐型ではなく実行時にメモリ解放するソフトの方が使い勝手はいいです。というのも、SQL Server2005のバッファを解放すると、初回SQL発行時にかなりもたつくためです。 自動で解放されてしまうとデータベース自体のパフォーマンスが落ちてしまうため、必要に応じてその都度行う方が都合がよいといえます。

 吉田はeMemというソフトを利用しています。 これで他のアプリケーションにメモリを割り当てたいと思ったときに、動作を切り替えることが出来るようになります。

 SQL Serverのメモリ領域確保に関する説明はこちらのブログが詳しいので、興味がある人は参考にしてください。

 ただ、メモリ価格も安いので、2GBほど増設したいと思います。アプリ用に1GB程度は残しておきたいので。

コメント

コメントフォームに記入し投稿してください





Search
最近の記事
カテゴリー
過去の記事
Comments
TrackBacks
Feed
Powered by