脳梗塞には負けられない!

2008年12月26日に脳梗塞を発症。負けずに自転車と写真とBAND活動に熱中しているY.MATのブログ。

Windows メモリ管理の不思議

2006-05-23 12:28:43 | IT技術的なこと
Windows上でシステム開発を行っていると「メモリの食いすぎ?」なんて話が出てくる。

そんな関係で調べていたらおもしろい事を発見した。

タスクマネージャでメモリ使用量をチェックすることになるが、見ていると不思議な現象が起こる。

最初にアプリケーションを起動して最初の画面が出たときのメモリ使用量は 約16M となっている。
しかし、そのアプリを最小化すると、なんと、744KB にまで極端に減った。
もう一度通常サイズに戻すと、約3M のメモリ使用量となった。

アプリを最小化するだけでメモリの開放が起こったようだ。

ほんまに?

別のテストをやってみた。
C++ で 約400M のメモリを確保するプログラムを作って動かしててみた。





メモリ使用量(KB)
起動直後
最小化
元に戻す
400M確保
最小化
元に戻す
メモリ開放
最小化
元に戻す
2,944
16,636
748K
3,072
64,608
1,064
3,344
4,328
684
2,944


赤字にしている部分が不思議。
400M 確保しているのに 64M しか増えていない。

あれれ?

もう一度動かしてみた。
今度は仮想メモリサイズも確認した。






メモリ使用量(KB) 仮想メモリKB)
起動直後
最小化
元に戻す
400M確保
最小化
元に戻す
メモリ開放
最小化
元に戻す
2,944
16,636
748K
3,072
64,608
1,064
3,344
4,328
684
2,944
9,928
9,940
10,004
401,016
401,016
401,016

10,016
10,016
10,016


仮想メモリのところに 400M を確保している。
なるほど、つまり、Windows200/XP はメモリ管理で実メモリと仮想メモリを一つのプロセスでも使い分けているということ。
そういえば、「メモリ使用量=ワーキングセット」とWindowsヘルプには書いてある。
つまり、その時点で使ってる実メモリ内の使用量だけが表示されている。
「仮想メモリサイズ=アドレス空間の総量」とあるから、いわゆる「本当に使ってるメモリ量」は「仮想メモリサイズ」ということだ。

タスクマネージャで、プロセス単位のメモリ使用量の合計と、仮想メモリサイズの合計を出してみたところ、「仮想メモリサイズ合計+カーネルメモリ」が、タスクマネージャのパフォーマンス・タグに出てくる「メモリ使用量」に近いことが分かった。

それにしても、GC(ガベージコレクション)を調べても、実際のメモリの開放タイミングが読み取ることが出来なかったが、意外なところで開放されるのが発見できた。

やっぱり、タスクマネージャのデフォルト表示が、プロセス単位の「メモリ使用量」だけになってるんで勘違いしがちなんだと思う。
「仮想メモリサイズ」もデフォルトに入れてほしいものだ。

楽しく休日出勤

2006-05-20 17:30:42 | Japan
今日は楽しい休日出勤。
仕事があることは良い事だ。

と、親は言うだろうな。

しかし、出勤はしているが、やるべき作業内容があるわけではない。
『待機』というやつだ。

つまり、何か問題が起きない限りやることが無い。

まぁ、それも『仕事』なのだから、必死に仕事している人には申し訳ない限りだ。

しかし、大変なときは解決するまで帰れない。
今年の2月~3月までは、半分は徹夜作業だったし・・・
しかも、残業代が出るような若手でもないし・・・

まぁ、もうすぐ『待機』も解除かな。

「ポストPC」と「PC時代は終わらない」

2006-05-16 13:14:06 | IT News
海外では「こんな事で目くじらを立てるの?」と思うような記事が載ることがある。

最初の記事は、ニューヨーク(ウォール・ストリート・ジャーナル)の「『ポストPC時代』にAppleの勝機あり」だ。
IT media News より。


『ポストPC時代』なんて、最近の日本の政治関係のニュースを見ているみたいなタイトルだが、何が書かれているかというと、これまでのMicrosoft-Intel連合のような、独占している部分と開放している部分を明確に分けた商売の形態(コンポーネントモデルと表現されている)は大成功したが、近年はiPodのようなAppleが全てを独占的に作る商売(エンド・ツー・エンド・モデルと呼ぶらしい)が大成功している事を取り上げて、将来的には「エンド・ツー・エンド・モデル」が主流になるかもしれないと延々と書いている。

延々と書きすぎて、論点がぼやけてるように思うが、翻訳されてるから、英文ほどにインパクトが無いだけかもしれない。

それに対して、即日で同じウォール・ストリート・ジャーナル紙に、マイクロソフトのビル・ゲイツ会長と、インテルのポール・オッテリーニ最高経営責任者(CEO)が共同で反論をしている。
「PC時代は終わっていない――ゲイツ氏・オッテリーニ氏寄稿」だ。
IT media News より。


こっちの方は簡潔で、「まだまだ、これからや!」ってな内容。

もちろん、関西弁ではないが・・・

どちらにしても、アメリカ人的な感覚なんだなと思う。

実際のところ、日本では、PCとiPodが同じ土俵にいるなんて感覚は無いと思う。
日本では、実際に出荷されている製品が議論の中心になるからだ。

いくら軽くなったとはいえ、電車やバスで音楽を聴くのにノートPCを持ち歩く人は皆無に等しい。

しかし、アメリカでは、そんな使い道が論点になっているのではない。
『ビジネス・モデル』が議論の対象になっているのだ。

アメリカ人はこういうのが本当に好きだと思う。

我々の業界でも、システムを作るにあたって、様々な開発手法がアメリカから渡来してきて、成功した一部の広告塔以外は散々な目にあっている。
『手法』というものを考えるのが好きで、それがビジネス・チャンスとなるのがアメリカなのかもしれない。

日本はやっぱり、「作って何ぼ」なのが性に合ってる。

勿論『ポストPC』は非常に気になるところだ。
PCを追いやるような『キラーコンテンツ』なんて出来るのだろうか。

現在のPCは様々なAV家電の代わりになるべく努力しようとしている。
「PC時代は終わっていない――ゲイツ氏・オッテリーニ氏寄稿」ではこう書かれている。

だがPCは当初の用途を大きく超えて、洗練された文書作成や表計算のツール以上のものになった。今日、わたしたちはPCを通信機器、ラジオ、テレビ、映画館、フォトアルバムとして使っている。

しかし、それぞれ単体で見れば専用機のほうが優れている。
そもそも、映画館で見る映画に対抗するのが間違っていると思う。

今のPCの存在意義は、それらを融合しているところにあると思う。
模造品が組み合わされて、オリジナルに無い機能を作り出しているのだ。

NECのPC98シリーズが日本で広がりだしたPC草創期から今の仕事をしているが、携帯電話が急速に広まって生活を一変したように、PCが時代を作ったような気はしない。
一般人には「よく分からない箱」なのは今も昔も同じだ。
ただ、使える人が増えただけだ。

人口が増えたのと同じように。

『ポストPC』とは、次の「よく分からない箱」は何なのか、という事だろうか?

それなら、多分、いつまで経っても、「よく分からない箱」はPC以外にはありえないと思う。

ポートを誰かが使ってる

2006-05-04 11:05:22 | IT技術的なこと
サーバで動くべきサービスが起動しなくなった。
調べると、必要なポートが塞がってるという。

てことで、そのポートを誰が使ってるかを確認する。

Windows2003Server
1.「コマンドプロンプト」を開く。
2.[netstat -o]コマンドを実行。
3.対象ポートの[PID]を確認。
4.「タスクマネージャ」を開く。
5.「表示(V)」→「列の選択(S)」→[PID]にチェックをつける。
6.[PID]が表示されるので、それを確認。


WindosXP、Windows2003Server以降でしか使えない。