História ilimitada no tmux

23

No seu .tmux.confarquivo, você pode definir o histórico da janela com algo como:

set -g history-limit 4096

Existe uma maneira de definir um histórico ilimitado para cada janela?

kenny
fonte

Respostas:

36

NÃO configure para algo como:

set -g history-limit 999999999

Isso pré-alocará muitas linhas (e, portanto, memória) para todas as janelas, o que prejudicará sua máquina quanto mais histórico for armazenado ao longo do tempo.

Defina-o como algo grande, por todos os meios, mas NÃO TÃO grande.

ThomasAdam
fonte
Obrigado, é bom saber. Eu acho que você só precisa equilibrar o tamanho com o conforto de que tudo o que você despejar estará lá.
Kenny
2
Parece que o tempo está vindo, onde nós precisamos fazer benchmarks reais :-)
Volker Siegel
8
Ha, eu fiz uma comparação, iniciando o tmux com um dos valores limite da história; A memória é a mesma após o início, portanto, o tmux não pré-aloca o buffer de rolagem. (Claro, isso não resolver o problema prático)
Volker Siegel
2
Eu encontrei outra investigação interessante sobre o uso de memória do tmux em blog.42.be/2015/02/tmux-memory-usage-on-linux.html
Silveri
Para resumir o link do @ Silveri: tmux teve um bug, pois não liberou seus buffers. Fixo. (a partir de grupo google e também fundiu se eu não entendi mal github.com/42wim/tmux/network )
serv-inc
22

Pelo que sei, você só pode fazer isso de maneira "prática", estabelecendo a história em um número absurdamente grande. por exemplo:

set -g history-limit 999999999

ATUALIZAÇÃO: veja a outra resposta sobre por que você não deseja usar um número tão alto. Algo mais razoável (menos 9's) seria melhor.

ATUALIZE novamente: talvez a pré-alocação não ocorra. O comentário do @Volker Siegel na outra resposta indica que definir o valor não causa alocação de memória.

kenny
fonte
Veja o aviso na resposta de @ThomasAdam.
Volker Siegel
Veja meu comentário sobre a resposta dele. :)
Kenny