メモリリーク?

iMac 20インチを使用しています。メモリは標準の2Mです。

昨年11月頃、Snowにアップグレードした頃から、いくつかのアプリ(Mail、iTunes、Safari、Xcode等)を利用しているとメモリの空き容量がだんだん少なくなり、その内アプリ起動に異常に時間がかかるようになり、アクティビティモニタを確認するとメモリの空きがほとんど無くなっている状態が発生しました。アプリを終了しても空き容量が元に戻りません。

AppleCareサポートに何度も電話をして、言われるままOS再インストールなども試してみましたが、改善が診られず、11月に修理に出しましたが「リストアしたが症状が発生しなかった」という事で返ってきました。

しばらくそのままで使っていましたが、最近更に症状が悪化して、1日に何度も再起動をしています。常時使っているアプリはMail、Safari、iTunes、Xcodeです。

このようなメモリリークと思われる現象はMacでは当たり前のことなのでしょうか?

iMac, Mac OS X (10.6.3)

投稿日 2010/04/11 19:21

返信
返信: 27

2010/04/11 20:32 tottotan への返信

tottotan

このようなメモリリークと思われる現象はMacでは当たり前のことなのでしょうか?

どうなんでしょうね。

私も10.4位までは普段使いのMacはRAM 2GBでやっていましたが、再起動せねばならないほどの事はなかった様に思います。

10.5や10.6になってからは、仕事でも自宅、ノートも4GB以上になっているのでその辺りはなんとも言えませんが、10.6を2GBで使った場合は使いづらいのであるなら、メモリーも安くなっているので4GBにしてしまうのも良いかも知れませんね。

多分、ハードの故障でもないでしょうし、OSをクリーンインストールしても改善しないのではないかと思います。

2010/04/21 22:00 tottotan への返信

tottotan による書き込み:


やはりメモリリークと思われる現象は改善されず、アプリの起動終了を繰り返していると空き容量がどんどん無くなります。

2、3日放っておくと空き容量がほとんど無くなります。

全てのアプリを終了してもメモリが解放されるのは400M位で3.5G位が確保中になっています。


先ほども全てのアプリを終了してみましたが、2G以上確保中になっていました。

メモリ管理はOSの専権なんで、ユーザの出来ることは無いと思った方が良いです。

私自身は、メモリの空きなんて、OSXになってから気にしたことが無い。

マイナーなアプリだとメモリの解放を忘れていたり、また、異常終了で解放し忘れるなんてこともあるかもしれませんが。

メモリリークなんて気にするのは、プログラム開発をしているような人じゃないでしょうか。


普通のユーザであるなら、ディスクIO、ネットワークアクセスに注意し、定常的なメンテナンスを。

参考

https://discussionsjapan.apple.com/docs/DOC-1032

起動が遅いということですが、ネットワークアクセス又はディスクアクセスが発生し、その待ちで見た目、遅いなんてこともありますね。

2010/04/11 21:39 tottotan への返信

tottotan さんによる書き込み:


iMac 20インチを使用しています。メモリは標準の2Mです。


少ないっ! パソコンを購入したときにオマケで付いてくるメモリは“標準”ではなく「とりあえず顧客がパソコンを買って自宅に帰って電源を入れたときに一応使える」サイズに過ぎません。経験的にはその機種で搭載できる最大限までメモリを増設しておくことをお勧めいたします。(これは Windows でも同じです。と言うか、Windows ユーザーの方が買ったままのメモリで済ませている人が多いような気もします...。)



昨年11月頃、Snowにアップグレードした頃から、いくつかのアプリ(Mail、iTunes、Safari、Xcode等)を利用しているとメモリの空き容量がだんだん少なくなり、その内アプリ起動に異常に時間がかかるようになり、アクティビティモニタを確認するとメモリの空きがほとんど無くなっている状態が発生しました。アプリを終了しても空き容量が元に戻りません。



私の所でもそんなもんですよ。特に Apple Mail と Safari はメモリ食いです。アクティビティモニタで確認すると、「現在非使用中」が大量に残っていても、「空き」がほとんどないと、パフォーマンスは異常に低下します。まぁ、私の場合は同時起動しているアプリの数が多いことと、メールの保存数が3百万通を超えているなんてこともあるんでしょうが...。



AppleCareサポートに何度も電話をして、言われるままOS再インストールなども試してみましたが、改善が診られず、11月に修理に出しましたが「リストアしたが症状が発生しなかった」という事で返ってきました。



そりゃ、そうです。ハードの故障じゃありませんから。



このようなメモリリークと思われる現象はMacでは当たり前のことなのでしょうか?



そうだと思います。Mac OS 9 までは OS のメモリ管理が悪く、どんどん空きメモリが減っていたのが、Mac OS X になって改善されたと謳われていますが、自分の印象では、相変わらずメモリ管理はよくないと感じています。


ただ、この Apple Discussions では、そういう経験を全くしていないパワーユーザーの方々も結構おられます。2か月も再起度することはない方とか。恐らく、使っているそふとやちょっとした使い方の違いでそのようさ差が出てしまうのではないかと想像しています。



追伸:実は自分は Windows は使わないので、長い間、Windows のメモリ管理はずっとマシなんだろうなと信じていました。羨ましく思っていたのですが、最近自分の 17" MacBook Pro に Windows Vista を入れてみて、毎日1度位は起動してみることにしています。Windows Vista の方はほとんどガラガラで、Microsoft Office と 秀丸エディタ 位しか入れておらず、起動するのも Windows Mail と Safari 位なものなのですが、Mac OS X よりもメモリ管理がひどいと実感しております。別に Windows の悪口ではなく、やれ「プリエンプティブ・マルチタスク処理」だとか、「モダンなメモリ管理」だとか言ってはいても、OS にとってはメモリ管理って目茶苦茶難しいものなのだなと納得した次第です。


--------------------

Apple 17" MacBook Pro (Intel Core 2 Duo T7600/2.33 GHz/3 GB RAM/500 GB HDD)

Mac OS X 10.6.2 (Build 10C540) [Snow Leopard]


このメッセージは次により編集されています: しい坊

2010/04/11 21:43 tottotan への返信

tottotan さんによる書き込み:


皆さん、早速の的確なアドバイスありがとうございました。


誰も tottotan さんのマックを実際に調べたわけではないので、私たちのアドバイスが的確だったのかどうかは、まだわかりません。


早速メモリを増設してみます。


状況が改善すると良いですね。しかし、問題が別の部分にあったのだとすると、メモリを増設しても(確実にある程度快適にはなりますが)この問題は解決するという保障はありませんので、その点はご了承ください。


なお、メモリ増設により状況が改善しても、しなくても、この同じスレッドでご報告いただけると他の方も助かると思います。


この Apple Discussions は質問者本人のためだけにあるのではなく、類似の問題を抱えたマック・ユーザーのためのデータベースとなることを目的としています。ぜひデータベースの完成にご協力ください m(._.)m。「うまくいかなかった」というのも貴重な情報となります。


--------------------

Apple 17" MacBook Pro (Intel Core 2 Duo T7600/2.33 GHz/3 GB RAM/500 GB HDD)

Mac OS X 10.6.2 (Build 10C540) [Snow Leopard]

2010/04/12 04:36 M3CSL への返信

アクティビティモニタでPIDの増え具合も監視してみて下さい。急速に数字が増えていくのなら、何かのプロセスが「起動しては終了を繰り返している」事になります。(Xcodeのビルト時は不明ですが)


それと、普通に終了できるアプリを全て終了して「アクセス権を修復」を実行すると、非使用中のメモリなんかは解放されたのではないかと記憶しております。メモリが解放されても、OSの動きがまともにならなかったら、別の原因かもです。

2010/04/12 16:01 tottotan への返信

いくつかのアプリ(Mail、iTunes、Safari、Xcode等)を利用しているとメモリの空き容量がだんだん少なくなり、その内アプリ起動に異常に時間がかかるようになり、アクティビティモニタを確認するとメモリの空きがほとんど無くなっている


まず,アクティビティモニターで見てメモリの空きがほとんど無くなるのは,(その現象だけなら)メモリーリークでもなんでもありません。MacOSX に限らず,最近の先進的なOSはメモリーをそういうふうに使うように設計されてます。コンピュータとしては,HDDと情報をやり取りするよりは,メモリーとやり取りする方が当然速くて効率はいい訳です。ならば、リソースとしては高価なメモリーを余らせて遊ばせてコンピュータの動きが遅いよりは,メモリーを出来るだけ有効に使って,パーフォマンスを上げる方が,当然望ましい訳です。こんな考え方で,最近のOSはメモリーを遊ばせるようなことはしません。もちろんOSによってそのやり方は違うのでしょうけど。そうやってOSの高性能化が図られています。もちろん以前に比べればメモリーも安価になって,パソコンですら数GBのメモリーを積むのは普通になっていることもOSの高性能化に有利になっているでしょうけど。


アプリの起動に異常に時間がかかるというのはちょっとおかしいですけど。しかし,そんなときは,スワップがどれぐらい出来ているか確認されているのでしょうか?スワップが大きくなれば(2GB以上とか),パーフォマンスは落ちますので,場合によってはアプリの起動に時間がかかるようになるかもしれません。頻繁にスワップが大きくなるなら,それはメモリー不足ですから,メモリーリークというよりは,メモリーの量が使い方に合ってないということです。

何人かの方がご指摘のように,今のMacOSXだと、メモリー2GBでは不足と思います。

2010/04/12 18:22 tottotan への返信

常時使っているアプリはMail、Safari、iTunes、Xcodeです。

上記Appsの起動/終了の工夫して下さい。Memoryを解放しないSafariを最後に起動、最初に終了するとMemoryの解放がスムーズに行われます。この順序を間違えるとMemoryを解放したくても他Appが使用中のMemoryに挟まれ解放できず再起動までそのままです。


Activity Monitorで監視、上記Appsを起動しておいて各々のAppを任意の順序で終了して解放しないAppを特定するのもありです。


はにさんがコメントされてるswapfileの監視とAppの起動/終了の方法は搭載Memoryの少ない(古い)機種で使えるテクニックです。

2010/04/16 03:26 tottotan への返信

すでに使用中とのこと大変失礼しました.


Libera memoryはコマンドラインでdu (disk usageを表示するプログラム) を実行しディスクアクセスさせることにより,メモリ内にあるバッファキャッシュを解放させるという優れものです.ただ,青い非使用中の部分がバッファキャッシュでない場合は,効果がないのかもしれません.


http://d.hatena.ne.jp/teru_kusu/20100309


に違うアプローチのCプログラムがあります.私の場合はduコマンドの方が効果がありましたので,参考にならないかもしれませんが,念のためご紹介まで.(はやくメモリ追加できるといいですね)

2010/04/21 21:42 tottotan への返信

みなさんいろいろアドバイスありがとうございます。


先日メモりを4GBに増設しました。


やはりメモリリークと思われる現象は改善されず、アプリの起動終了を繰り返していると空き容量がどんどん無くなります。

2、3日放っておくと空き容量がほとんど無くなります。

全てのアプリを終了してもメモリが解放されるのは400M位で3.5G位が確保中になっています。


先ほども全てのアプリを終了してみましたが、2G以上確保中になっていました。


やはりハードに異常があるのでしょうか?

2010/04/21 22:32 xy への返信

xy による書き込み:


私自身は、メモリの空きなんて、OSXになってから気にしたことが無い。

言いっ放しじゃなんなんで、4GBのMac mini (OSX 10.5.8)で見てみました。


safari, mail, iTunes,アクティビティモニタが起動している状態


記入忘れ


これにmicrosoft word 2008のファイルを開く

空き:2.18GB

固定中:約612MB(緩やかに変動)

現在使用中:896.55MB(早めに変動)

現在非使用中:96.12MB緩やかに変動)

確保中:1.57GB


microsoft word 2008を終了

空き:2.25GB

固定中:約609MB(緩やかに変動)

現在使用中:821.80MB(早めに変動)

現在非使用中:96.23MB緩やかに変動)

確保中:1.49GB


再度、microsoft word 2008のファイルを開く

空き:2.15GB

固定中:約611.98MB(緩やかに変動)

現在使用中:899.67MB(早めに変動)

現在非使用中:117.04MB緩やかに変動)

確保中:1.59GB


更にmicrosoft Excel 2008のファイルを開く

空き:2.10GB

固定中:約613.26MB(緩やかに変動)

現在使用中:955.16MB(早めに変動)

現在非使用中:118.38MB緩やかに変動)

確保中:1.65GB


microsoft word 2008を終了


空き:2.14GB

固定中:約613MB(緩やかに変動)

現在使用中:897.10MB(早めに変動)

現在非使用中:134.06MB緩やかに変動)

確保中:1.60GB


2010/04/21 23:21 xy への返信

xyさん


細かいデータをありがとうございます。


私も検証してみました。


再起動直後

空き : 2.93GB

固定中 : 668MB

現在使用中 : 265MB

現在非使用中 : 141MB


Mail起動

空き : 2.89GB

固定中 : 683MB

現在使用中 : 311MB

現在非使用中 : 146MB


iTunes起動

空き : 2.83GB

固定中 : 690MB

現在使用中 : 338MB

現在非使用中 : 164MB


Xcode起動


空き : 2.71GB

固定中 : 688MB

現在使用中 : 438MB

現在非使用中 : 198MB


Safari起動


空き : 2.64GB

固定中 : 692MB

現在使用中 : 495MB

現在非使用中 : 207MB


Safari終了


空き : 2.68GB

固定中 : 693MB

現在使用中 : 446MB

現在非使用中 : 213MB


Xcode終了


空き : 2.71GB

固定中 : 700MB

現在使用中 : 396MB

現在非使用中 : 219MB


iTunes終了


空き : 2.72GB

固定中 : 699MB

現在使用中 : 363MB

現在非使用中 : 250MB


Mail終了


空き : 2.73GB

固定中 : 695MB

現在使用中 : 340MB

現在非使用中 : 261MB


xyさんのデータと照合してみると共通点がありました。

それは「現在非使用中」のサイズが起動終了を繰り返すたびに少しづつ上昇しています。

また私の場合、全部終了したにも関わらず空き容量が200MB減っています。

よってMacはアプリの起動終了を繰り返す毎に空きメモりが減少してくという事が判明しました。

貴重なデータありがとうございました。





2010/04/22 03:11 tottotan への返信

Firefox 3.6.4 Build 1 "Code name: Lorentz"を試されると良いかも知れません。Plug-insなどを別Processで動かしCrashに強くMemoryを解放してくれます。また先日、WebKit Mailing ListにてWebKiw2の発表がありました。リリースは来月初めらしいですが期待できると思います。

# WebKit2はOpen Sourceなのでnightly.webkit.orgにSource CodeがありBuildでWebKit2.Frameworkになりますが使い方は不明です。


追加 YouTubeなどで動画を見終わったらそのPageを閉じるとFlashTmpを解放しますが、Tabや他のBrowserを使い再生したPageを閉じずに他の動画を見るとFlashTmpが増えていきます。/var/folders/2x/22x+++2x/TemporaryItems/FlashTmp0, FlashTmp1, FlashTmp2... 私はShell Scriptの実行でYouTuneの動画を連続長時間見ていますが再生が終わったらWindowを閉じて次の動画を見るようにしています。

2010/04/22 03:52 tottotan への返信


やはりメモリリークと思われる現象は改善されず、アプリの起動終了を繰り返していると空き容量がどんどん無くなります。

2、3日放っておくと空き容量がほとんど無くなります。

全てのアプリを終了してもメモリが解放されるのは400M位で3.5G位が確保中になっています。



はにさんのコメントにあるとおり、その事自体はなんら問題ないのではないかと思います。

動作が緩慢になるなど不具合が出ているのであれば対処した方がいいのでしょうがそうでないのであれば気にしないのがいいのではないかと。

2010/04/22 22:30 tottotan への返信

Safariひとつとっても裏で沢山のProcessが動いてSafariを動かします。電車に例えればSafariが電車で乗客がProcess、込んだり空いたり乗客数は変化します。中には乗りっぱなしの乗客もいます。なので大まかなMemoryの使用状況を掴めば良いのではないかと思います。


4GB搭載の当方のMacは再起動直後は1GB位です。何かを動かすと直ぐに2GB位になります。YouTubeの動画を10個位同時に動かすと3GB位になりますがswapfileはまだ1つ、出来るかも知れないswapfileに注意する位です。寝る時はSleepにしますが再起動を殆ど行わず何週間も動かし続けています。OSXを復元し直す時やUpdateがあった時とトラブルが起きた時に再起動する位です。

# HDD, Memory, OSX, Dataの何れかに問題を抱えてれば難しいと思いますが...

2010/04/30 04:15 tottotan への返信

もしかすると、ハードディスクの空きが少ないことが原因ではないでしょうか。

ハードディスクの空きはどの程度でしょうか。


iMac 17inch (Core2Duo), メモリ:2GB, ハードディスク:250GB を MacOSX 10.6.3 で使用してますが、メモリに関しては、十分余裕があるというほどではないかもしれませんが、Safari など通常のアプリケーションで支障をきたすほど少ないとは思いません。

( VMWare などの仮想化ソフトなどを使うとメモリが少ないようには感じますが。)


Mac OS X は、ハードディスク ( OS がインストールしてあるパーディション ) の空きが少なくなってきたとき ( あまりはっきり覚えていませんが、160GB にパーティションを切って使っていたときに空きが 30GB 程度以下になったときや、40~60GB のハードディスク(MacOSX10.4.x?)で空きが 10GB 程度以下になったとき ) に、全体的にかなり動作が遅くなったりしていたように思います。

( 必要な空き容量は、ハードディスク(パーディション)のサイズ (または使用している量) にも関係しているように思います。(Spotlight とかが関与?) )


ハードディスク ( OS がインストールしてあるパーディション ) の空きが、そのパーティションの容量の 20~30% くらいよりも少ないのであれば、これが原因かもしれません。

外付けハードディスクなどに、あまり使わないファイルを移動するなどしてハードディスクの空きを増やせば改善するかもと思います。

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

メモリリーク?

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。