過去ログ表示


過去ログ 164 を表示

トピック内全 14 記事中の 11 〜 14 番目を表示
[ 最新記事及び返信フォームをトピックトップへ ]
このトピックの全ページ / [0] [1]

Re[7]: メモリが開放されない
(#25860) このトピック中11番目の投稿
(環境: WinXP SP2/Firefox1.5b)

> >Windows では DLL などをキャッシュするためか、プロセスを終了した後も完全にメモリが開放されません。
>  これはメモリマップトファイルのことを言っているのでしょうか?それならプロセスが終了すれば、必ず解放されます。これは Windows の仕様です。

マップ領域もヒープ領域も、もし開放されなければ、OS のバグでしょう。
# プロセスが死んでも、OS 側がキャッシュした分はメモリ使われたままになるので、
# その分がプロセスがメモリーを使って解放しないように見えるんじゃないのってこと。

Re[8]: メモリが開放されない
(#25865) このトピック中12番目の投稿
(環境: WinXP SP2/Firefox1.5b)

> マップ領域もヒープ領域も、もし開放されなければ、OS のバグでしょう。
> # プロセスが死んでも、OS 側がキャッシュした分はメモリ使われたままになるので、
> # その分がプロセスがメモリーを使って解放しないように見えるんじゃないのってこと。
 だから Windows ではプロセスが死んだら ( ゾンビプロセスという意味じゃないですよ ) メモリーもメモリーマップトファイルも、そのプロセスに関連するリソースは全て解放されるんです。そういうアーキテクチャになってるんです。Windows のソフトを 10 数年開発してきてますから間違いありません。この点については Windows に瑕疵はありません。

Re[9]: メモリが開放されない
(#25873) このトピック中13番目の投稿
(環境: WinXP SP2/Firefox1.6a)

No25865に返信(おおやまさんの記事)
>>マップ領域もヒープ領域も、もし開放されなければ、OS のバグでしょう。
>># プロセスが死んでも、OS 側がキャッシュした分はメモリ使われたままになるので、
>># その分がプロセスがメモリーを使って解放しないように見えるんじゃないのってこと。
>  だから Windows ではプロセスが死んだら ( ゾンビプロセスという意味じゃないですよ ) メモリーもメモリーマップトファイルも、そのプロセスに関連するリソースは全て解放されるんです。そういうアーキテクチャになってるんです。Windows のソフトを 10 数年開発してきてますから間違いありません。この点については Windows に瑕疵はありません。

のらねこさんの発言には、「OS 側がキャッシュした分は」とあります。これは正しいと思います。ディスクへのアクセス時に、Windowsが独自にキャッシュ(ソフトウェアによるディスクキャッシュ)を作って、次回からのアクセスを高速化していたと思います。こういう部分は利用していたプロセスが死んだからといって、即時に解放はしないのではないですか? (つまり、結果、残りメモリ容量にのみこだわって監視しているとあたかもリークしたかのように見えるのかもしれない。)
# たとえばFirefoxに限りませんが、アプリは一般的に、初回起動より二回目の起動の方が速いですよね? ディスクキャッシュの影響なのか、はたまたそれ以外の何かがあるのかは全く分かりませんけど、何かしらの情報がキャッシュされているからこそ高速化しているのではないでしょうか?

Re[10]: メモリが開放されない
(#25875) このトピック中14番目の投稿
(環境: WinXP SP2/Firefox1.5b)

 そうですね。のらねこさんは Windows のバグだ、とか言っているわけではないので、技術的なことで言いたいことは山ほどありますがもういいです。


[ 前のトピック内容10件 ]
このトピックの全ページ / [0] [1]

返信不可


- Child Tree -