システムリソースの問題

2000. 4. 2

なんだか最近VAIO C1XFが遅くなってきたのと、そんなにアプリケーションを立ち上げていないのに「システムリソースが不足しています・・・」なるメッセージが表示されてしまう。

不要なアプリは極力削除したので、もう削れるものはないはず。そもそもなんでそんなにシステムリソースが無くなるのか。Windows95からシステムリソースの問題は当分の間は解決したのではないか。

確かにVAIO C1XFはいろんなアプリが常駐している。例えば、 まあ、この中でも使っていないのもないわけでもない(AC接続中は省電力、バッテリー系は不要)が、大抵はVAIOをVAIOらしくするアプリなのでちょっとはずしがたい。

そもそもなぜそんなにシステムリソースがすぐ足りなくなるのか? いつも使っているアプリの中でメモリ管理まわりにバグのあるアプリがあるのではないか?

そんな疑問を晴らすため、ちょっとした実験をしました。

ちなみに、システムリソースとはなにか・・・ と言うのは書籍、他HPにお任せします。システムリソースを知るために、この調査では[プログラム]−[アクセサリ]−[システムツール]−[リソースメーター]を使っています。

1)エクスプローラ・IE・Word・Excel

まずは一般的に使われているソフトを立ち上げて、システムリソースをどの程度使っているか調べてみましょう。

(1)
Windows起動時にリソースメーターを起動
(2)
エクスプローラを起動
(3)
エクスプローラを終了
(4)
エクスプローラを再起動
(5)
エクスプローラを終了
System 67% 64% 64% 64% 64%
User 67% 64% 64% 64% 64%
GDI 94% 91% 93% 91% 93%
エクスプローラはシステム、ユーザ、GDIリソースを3%消費していることが分かる。 しかし、エクスプローラを閉じてもリソースは復活しない!
(1)≠(3)
再度エクスプローラを起動してみると(4)は、(2)と同じになった。一度確保したリソースは再利用される(新たなリソースを要求しない)ことが分かったが、アプリケーションの終了時に必ずしもすべてが開放されるわけではない。
リソースが再利用されなければエクスプローラの起動/終了を何度か繰り返せば確実にリソースが無くなるので、当たり前といえば当たり前ですが。


(4)
エクスプローラを再起動
(6)
エクスプローラでネットワークアクセス
(7)
エクスプローラを終了
(8)
IE起動
(9)
IEを終了
System 64% 61% 64% 59% 64%
User 64% 61% 64% 59% 64%
GDI 91% 91% 93% 91% 93%
ネットワークにアクセスするとエクスプローラは更にリソースを利用する。 が、終了すると追加に使用したリソースは開放されるらしい。
(3)=(7)
それではIEを起動してみましょう。IEはエクスプローラよりもリソースが必要ですが、終了すれば開放されます。
(7)=(9)


(10)
Word2000を起動
(11)
Word2000を終了
(12)
Excel2000を起動
(13)
Excel2000を終了
System 52% 61% 52% 59%
User 52% 61% 52% 59%
GDI 89% 92% 90% 92%
さすがWordです。ものすごいリソース消費量です。しかも、終了しても開放しないリソースがある!
(9)≠(11)
ExcelもWordに負けていません! ものすごいリソース消費量です。終了しても開放しないリソースがあるのもWordと似ている。
(11)≠(13)


(14)
Word2000を再起動
(15)
Word2000を終了
(16)
Excel2000を再起動
(17)
Excel2000を終了
System 52% 59% 49% 59%
User 52% 59% 49% 59%
GDI 87% 92% 90% 92%
Wordを再起動してみましょう。先ほど開放されていなかったリソースは再利用されているようです。
(13)=(15)
ExcelもWord同様に先ほど開放されていなかったリソースは再利用されているようです。
(15)=(17)


2)シェアウェア・フリーウェア

今度はそれほど手の込んだ処理を行っていないだろうと予想されるシェアウェア・フリーウェアを試してみましょう。さらに、メール(Becky! Internet Mail)とWeb更新チェック用ソフト(WWWC 1.0.85 Beta)なので、常に立ち上げておく代表的なソフトを選んでみました。

(18)
Windows起動時にリソースメーターを起動
(19)
Becky!を起動
(20)
Becky!を終了
(21)
Becky!を再起動
System 67% 61% 67% 61%
User 67% 61% 67% 61%
GDI 94% 90% 93% 90%
こう見るとBecky!もかなりのリソースを必要とするんですねぇ。 が、終了すると追加に使用したリソースは開放されるらしい。GDIだけ1%開放されていないが。
(18)≒(20)
それではBecky!を再起動してみましょう。リソースは再利用されているようです。
(19)=(21)


(22)
Becky!を終了
(23)
WWWCを起動
(24)
WWWCを終了
System 67% 64% 67%
User 67% 64% 67%
GDI 93% 92% 93%
Becky!の起動を繰り返してもリソースのリークはなさそうです。(20)=(22) WWWCはリソースの消費が少なく、終了したときもすべてのリソースを開放するようです。優秀なソフトですねぇ。パチパチパチ!
(22)=(24)


3)Visio

いつも使っているソフトのうち、Visio2000は使っていると一番「リソース不足・・・」が出やすいソフトで、使っているうちに凄く処理が重くなってきます。早速調べてみましょう。

(25)
Windows起動+
リソースモニタ起動+
エクスプローラ起動
(26)
Visio2000を起動
(27)
Visio2000を終了
System 64% 48% 61%
User 64% 48% 61%
GDI 92% 85% 90%
うわぉあお!すごいリソース消費量です。さすがVisio2000。 起動/終了を行うだけで、しっかりとリソースを確保しています。ちなみに再起動してもリソースの確保量、開放量は変わりませんでした。
(25)≠(27)


さて、ソフトウェア毎のリソース消費量をまとめてみましょう。

ソフトウェア 起動してすぐ消費するリソース 終了しても開放されないリソース
System User GDI System User GDI
エクスプローラ 3% 3% 3% 3% 3% 1%
Internet Explorer 5.0 5% 5% 2% 0% 0% 0%
Word2000 12% 12% 4% 3% 3% 1%
Excel2000 9% 9% 2% 2% 2% 0%
Becky! 6% 6% 4% 0% 0% 1%
WWWC 3% 3% 1% 0% 0% 0%
Visio2000 16% 16% 7% 3% 3% 2%

上表は今回の実験結果をまとめたものです。使用する機械、Windowsのバージョン、Windowsの設定(スタートアップ等)により結果は異なることが考えられます。あくまでも参考程度にお考えください。

まとめ

多くのリソースを消費するソフトを同時に立ち上げないことは当然として、関係ないソフトをむやみに立ち上げない! ことが重要なのですね。

今回の実験は起動してすぐに終了したけど、当然ながらアプリケーションは使えば使うほどリソースを消費します。この追加に消費するリソースのなかにも終了時に開放されないリソースが含まれています。

それにしても、終了したらちゃんとリソースを元に戻しておかないといけませんねぇ。まったく!


2000. 4. 9

あるオフ会で、あるお方がシステムリソースがゼロになるまで頑張った、とのお話を伺った。そのときは、そのような状態になるには余程頑張らなくてはいけないのかと思った。

でも、実は簡単だったのである。仕事の最中になってしまったのである(笑)

これが証拠写真!

見事にシステム、ユーザリソースがゼロになっている。

この後、実はアプリケーション(メモ帳)を起動しようとしたのである。でも、「リソースが不足しています・・・」などと怒られるだけで、システムがダウンすることはなかったです。

これは真剣にシステムリソース問題に取り組まなければいけなさそうです。


Top