[要望] メモリの使用量についてNo.10520
PineCone さん 06/09/21 17:38
 
1ユーザのPineConeです。いつもお世話になっております。

今回、メモリの使用量について改善されればと思い、
要望させていただきました。

但し、プログラミング的なことはよくわかりませんので、
困難でしたら、現状のままでも構いません。

【現象】
・まず、タスクマネージャを開いておく。
・秀丸メール本体を開く。(タスクトレイに常駐の設定です。)
---
1. 新規メール画面を開いて、ふつうに文字入力/変換を行う。
 (この時点でメモリが増えてくる)

2. 送信、または、保存などで新規メール画面を閉じる。
 (この時点で増えたメモリはそのまま)
---
・1と2を繰り返していると、どんどんメモリ使用量が増えてくる。
 (ここまではしょうがないですよね)

要望としては、
『本体を閉じた時点でメモリ使用量が下がってほしい』になります。

# 一度、最小化を行うと、劇的にメモリ使用量が下がるので、
# できれば、そのくらいまで下がってくれると嬉しいです。
# 現状では、一度、本体を最小化してから、閉じています。

お忙しいところ、お手数をおかけしてすみませんが、
ご一考願えますでしょうか?(今後のネタでも構いませんので)

よろしくお願いいたします。
---
OS:WindowsXP SP2
秀丸メール:4.68β4

[ ]
RE:10520 [要望] メモリの使用量についてNo.10523
秀まるお さん 06/09/22 08:40
 
 一般に、ある一定の操作を繰り返し実行して、メモリ使用量がどんどん上がっ
ていくとしたら、それはいわゆるメモリリークってことになって、どこかでメモ
リを無限に消費するような処理があることになります。そういう処理は直すべき
だと思います。

 そうじゃなくて、例えば「エディタを起動して終了」みたいな処理を繰り返す
として、1回目が終わった時点である程度メモリ使用量が増えて、また2回目が
終わるとまた少し増えるけども、何回も繰り返していくとそのうち上限が決まる、
みたいなのは、プログラム的には正常であって、メモリリークでは無いです。そ
ういうのは、それはそれでメモリ確保する仕組み的な問題で起きる物であって、
それまで「常に最小限のメモリしか使うな」と言われるのは酷な話です。

 あと、かな漢字変換をしてメモリ使用量が増えるのは、それはそれで秀丸メー
ルとは別の、かな漢字変換ソフトが使うメモリ量が関係していると思います。そ
れは僕にはどうにも出来ません。

> ・1と2を繰り返していると、どんどんメモリ使用量が増えてくる。
>  (ここまではしょうがないですよね)

 かな漢字変換が関してくるとしたら、それはそれで、他のソフトでも同じ操作
をして「増えない」ということが言えないと、秀丸メールが原因かどうか断定で
きないと思います。

 エディタ起動/終了の繰り返しでメモリ使用量が増え続けないってことは、以
前確認していますが…。改めてテストはしてみます。

 ちなみに、メモリ使用量とは別に、ハンドルリークってのもあります。タスク
マネージャの「表示・列の選択...」で

 ハンドルの数
 USERオブジェクト
 GDIオブジェクト

 も確認するといいかもしれません。

[ ]
RE:10523 [要望] メモリの使用量についてNo.10527
PineCone さん 06/09/22 11:01
 
秀まるお様

1ユーザのPineConeです。いつもお世話になっております。
はじめの投稿(要望)の内容が良くなかったと、反省しています。

そもそも、メモリリークとは思っていなくて、
ただ単純に、「最小化したときはメモリが下がるのに、
どうして本体が閉じられてもメモリはそのまま残るのかなぁ?」
と疑問に思った次第です。

> エディタ起動/終了の繰り返しでメモリ使用量が増え続けないってことは、以
>前確認していますが…。改めてテストはしてみます。
>
上記の通りですので、お忙しい中、あえてテストしてもらうには
気がひけてしまいます。
# もし、すでにテスト中でしたら、申し訳ございません。

> ちなみに、メモリ使用量とは別に、ハンドルリークってのもあります。タスク
>マネージャの「表示・列の選択...」で
>
> ハンドルの数
> USERオブジェクト
> GDIオブジェクト
>
> も確認するといいかもしれません。
こちらは、タスクマネージャとパフォーマンスオブジェクトで
確認してみましたが、メモリリークとかの兆候は全く無いです。

背景には、
メモリ消費量が異常に高いFirefoxで、「オプションを設定すると、
最小化のときにメモリが小さくなる」というのがあったので、
秀丸メールも本体を閉じたときにメモリを小さくする
ようなオプションがあったらいいなぁ、と思ったからです。

それで、一度最小化してから閉じるような動作になれば、
簡単にメモリが小さくなるのでは?とシロウト考えをしてました。

何も考えずに投稿してしまい、すみませんでした。
今後、投稿内容に注意したいと思います。

よろしくお願いいたします。

[ ]
RE:10527 [要望] メモリの使用量についてNo.10528
秀まるお さん 06/09/22 11:20
 
 エディタ起動/終了を繰り返すテストはあっと言う間に終わりましたが…。以
外とこういう単純なテストでメモリリークが見つかったりするので怖いですが、
とりあえず現在のバージョンでは大丈夫でした。

 で、その、最小化した時にメモリ使用量を減らすとかですが、それはそれで、
実は出来ます。というか、実は今現在の秀丸メールは、メール一覧の表示を高速
化するために、かなりメモリを食う作りに、あえてしています。というか、
Windowsのメモリ量を調べて、もしメモリがそれなりにあるならそれなりにメモ
リを食って動作し、メモリが無いなら節約して動作するようにしています。

 例えば一度どこかのフォルダを選択してメール一覧を表示させたて、もう一度
そこのフォルダを選択した時に、一瞬でメール一覧を表示します。それはそれで、
メール一覧用のウィンドウ(リストボックス)をそのまま持ってるというか、各
フォルダ毎にウィンドウを作って裏で持ってるような作りにしている訳ですが。
最高で64個まで保持していて、アカウントを切り替えたタイミングで一回全部
削除したりとか、それなりに高速化とメモリ消費量のバランスを考えた処理をし
ています。

 ということではありますが…。

 メモリの使用量についてまでオプション追加するのもなんなので、気が向いた
時にでも、例えばそういう、最小化のタイミングで不要なメモリを解放するとか
考えてみたいと思います。

[ ]
RE:10528 [要望] メモリの使用量についてNo.10529
taku さん 06/09/22 11:37
 
PineConeさんの指摘は、「最小化時の件」ではなく、
「常駐している際に、秀丸メールのメインウィンドウを
終了させた場合にメモリが減らない」ことについてだと
思います。

実際に私も確認してみましたが、システム側の動作の問題かも
しれませんが。
下のようになりました。

1.最小化
   → 892K

2.常駐時に常駐以外を終了
   → 終了まえと変わらないか、逆に増加する場合もある。

[ ]
RE:10529 [要望] メモリの使用量についてNo.10530
PineCone さん 06/09/22 11:49
 
1ユーザのPineConeです。
takuさん、助け舟をありがとうございます。

>PineConeさんの指摘は、「最小化時の件」ではなく、
>「常駐している際に、秀丸メールのメインウィンドウを
>終了させた場合にメモリが減らない」ことについてだと
>思います。
言いたいことは、まさにその通りです。
# 説明が下手で、うまく伝わらなかったようです。(反省)

秀まるお様、いろいろご解説ありがとうございました。
手が空いたときにでも、よろしくお願いいたします。


[ ]
RE:10530 [要望] メモリの使用量についてNo.10536
秀まるお さん 06/10/04 11:39
 
 今さらの返事ですが…

 常駐秀丸メールがいる状態で秀丸メール本体ウィンドウを閉じた時、折りたた
まれたアカウントがもしあれば、その折りたたまれたアカウントについての関係
する情報(メール一覧のキャッシュ等)をメモリ上から削除するようにします。

 ということで、アカウントを折りたたんで閉じた場合は、それなりにメモリが
解放されることになります。次のβ版からそうします。

 (ちょっとレベルダウンが怖いけど)

[ ]
RE:10536 [要望] メモリの使用量についてNo.10537
PineCone さん 06/10/04 14:49
 
1ユーザのPineConeです。いつもお世話になります。
てっきり、忘れ去られたもの(ボツ)と思っていましたので、
コメントをいただけて、かつ、実装までしてもらえるとは嬉しい限りです。

> 今さらの返事ですが…
>  :(省略)
> ということで、アカウントを折りたたんで閉じた場合は、それなりにメモリが
>解放されることになります。次のβ版からそうします。
>
> (ちょっとレベルダウンが怖いけど)

次のβ版を楽しみにお待ちしております。
よろしくお願いいたします。

[ ]
RE:10537 [要望] メモリの使用量についてNo.10542
PineCone さん 06/10/06 09:19
 
1ユーザのPineConeです。いつもお世話になっております。
v4.68β9にて、下記の実装ありがとうございました。
---
【機能追加/仕様変更】
* 常駐秀丸メールがいる状態で秀丸メール本体ウィンドウを閉じた時に、
  折りたたまれたアカウントについての情報を解放するようにした。
  これによって、メモリの消費量が少し減ると思う。
---

ただ、検証してみたのですが、よくわかりませんでした。
(以前と変わっていないような気がします。)

以下の3パターンで確認しました。(メモリ量はあくまで参考値です)
------------------
1.       本体ウィンドウをそのまま閉じる
  41,580KB -> 41,580KB

2.       最小化して、本体ウィンドウをもう一度開いてから、閉じる
  41,580KB ->  2,076KB -> 5,052KB -> 5,052KB

3.       最小化して、本体ウィンドウを開かずにタスクバーから閉じる
  33,300KB ->  1,300KB -> 3,336KB
------------------
上記のうち、1を改善したと認識していますが、合っていますでしょうか?

さらに、アカウントを折りたたんだり、フォルダを折りたたんだりして
みましたが、やっぱりメモリ消費量の減少の確認ができませんでした。

# もともと、1アカウントで、フォルダ数も20個程度なので、
# 目を見張るような消費削減は期待できなかったのかも知れません。

改善内容の認識や操作方法について、なにか誤りがございましたら、
教えていただけますでしょうか?

お忙しい中、お手数ですが、よろしくお願いいたします。

[ ]
RE:10542 [要望] メモリの使用量についてNo.10543
秀まるお さん 06/10/06 09:50
 
 アカウントが1つしか無い場合は、ほとんどメモリ節約の効果は出ないですけ
ど…。

 その、唯一のアカウントを折りたたんでから秀丸メール本体を終了させれば、
一応それでメモリ消費量は減ると思います。

 アカウントを展開したまま閉じた場合でも不要なメール一覧ウィンドウ(リス
トボックス)を削除する処理はしてますが、それではほとんどメモリ消費量の節
約にはならないようです。メール一覧のキャッシュを解放すればメモリ節約にな
りますが、展開されたアカウントの場合にメール一覧キャッシュを解放するのは
ちょっとレベルダウンの危険性とか、そもそも秀丸メール本体ウィンドウを復元
した時にもたつきが出ることとか考えると得策じゃないと考えまして、今の仕様
にしました。

[ ]