18

ubuntu 14.04でtmux(実際にはtmuxバックエンドを備えたbyobu)を使用しています。

私の tmux は 1GB のメモリ ( の VIRT と RES top) を使用しており、既にclear-historyコマンドを使用しています。

スクロールバックはなくなりましたが、メモリ使用量は減っていません。

この tmux は長時間実行されており、大量のテキストがスクロールされていました。top合計で 1 時間以上の CPU 時間を使用したことを示しています。

その理由は何ですか?

メモリリークの可能性はありますか?

何を試すことができますか?

セッションが完了までにさらに約 1 週間かかる実験を実行するため、セッションを再開したり、危険なことをしたりすることができません...

4

5 に答える 5

10

tmux にバグがあったようで、履歴がクリアされたときにメモリが解放されません。

このバグは、バージョン 1.9a を含むまで存在し、バージョン 2.0 で修正されました。バージョン1.9aがまだ使用されているように見えるため、これを遅い回答として投稿しています(少なくとも私は)。

https://groups.google.com/forum/#!topic/tmux-users/WiSZy6ft1As https://github.com/tmux/tmux/commit/28f23f18e9d79405a60348c4f7aeded33da9135b

于 2016-01-21T03:25:38.007 に答える
5

誰もこれに答えていないので、何が起こっているのかについて私の推測を述べます.

tmux履歴用にメモリにスペースを割り当て、履歴を使い切るとメモリが大きくなります。履歴をクリアすると非表示になりますが、実際のメモリは解放されません。これは、tmuxペインに現在何かが含まれているかどうかに関係なく、開いている各ペインの合計行数までメモリを使用できることを意味します。

これは間違いなくバグであるか、せいぜい悪い機能です。

解決策がありません。

于 2014-09-11T03:30:40.383 に答える
2

これはバグではありません。履歴をクリアすると、tmux はすぐにメモリを解放します。それをカーネルに返すのはglibc次第であり、それが苦手です。たとえば 10000 行で履歴をクリアすると、履歴が再び 10000 行に達するまでメモリ使用量が増加しないため、メモリが空いていることがわかるはずです。

于 2015-01-13T23:57:35.983 に答える