hamao
@hamao

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

iterm2でのメモリ消費を抑えたい

解決したいこと

メモリ消費を抑えたい

MacOS X

https://github.com/sausheong/goids/blob/master/main.go
iterm2で実行すると、アクティビティモニタで確認すると多くのメモリが消費されます。何か対処法はありますか?
iterm2以外のターミナルでは画像が表示されないためか, メモリは消費されません.
実行が終わった後も, メモリは解放されません. clearコマンドを実行するとメモリが解放されます.

試したこと

printImageの最後にbuf.Reset()runtime.GC()を実行しても効果はありませんでした.

よろしくおねがします.

0

1Answer

iterm2は定評のあるターミナルです。

iterm2で実行すると、アクティビティモニタで確認すると多くのメモリが消費されます。

消費ではなく、割り当てされるだけです。
 別にクリアする必要も有りません
他のアプリが利用するとき自動的に開放します。

少ない、多いは気分です。具体的な数値で語りましょう。

そもそも、pcのメモリは何ギガですか?

0Like

Comments

  1. @hamao

    Questioner

    スペックは以下の通りです.
    スクリーンショット 2023-10-30 18.58.13.png

    スクリーンショット 2023-10-30 18.51.33.png
    スクリーンショット 2023-10-30 18.51.51.png
    iterm2を開いただけの状態が1枚目で, 一度実行するだけで2枚目の状態になります. 実行が終わっても, iterm2を閉じるまでは2枚目の状態のままです. clearコマンドを実行すると1枚目の状態に戻ります.

    loopを1000に増やすと次のようになりました.
    スクリーンショット 2023-10-30 18.52.41.png

  2. loopを1000の前に11.34GBですか。
    残4.66GBだと不足ぎみです。

    対策

    1. purgeをiterm2の起動シェルに組み込む。
    2. 仮想メモリを定義する。
  3. @hamao

    Questioner

    ありがとうございます. 調べてみます.
    追加で質問なのですが, 他のターミナルで実行した時には使用済みメモリが増えないということは, やはりbuffer等ではなく, 出力したあとのiterm側の問題ということでしょうか? clearをつかうと解放されるので, 画像が何重にも重なって表示されているような状態になっている可能性が考えられますか?

  4. 他のターミナルで実行した時には使用済みメモリが増えない

    他のターミナルに割り当てるメモリ分を単純にiterm2の余分なメモリを解放しているだけではないでしょうか?

    不確かですが、iphone思想に準拠したiterm2の仕様だと思います。

    androidもそうですが終了したアプリの実行履歴をクリックすると瞬時に利用できますよね!

    これって、終了してもメモリを解放していないのでは?つまり、iterm2もその思想にあった振る舞いをしているのではないでしょうか?
     iosはwindowsやlinuxと違い終了の概念が異なると思います。

  5. @hamao

    Questioner

    わかりました. ありがとうございます.

Your answer might help someone💌