Неограниченная история в Tmux


23

В вашем .tmux.confфайле вы можете установить историю окна примерно так:

set -g history-limit 4096

Есть ли способ установить неограниченную историю для каждого окна?

Ответы:


36

НЕ устанавливайте что-то вроде:

set -g history-limit 999999999

Это заранее выделит столько строк (и, следовательно, памяти) для всех окон, что приведет к повреждению вашей машины, чем больше истории будет сохраняться с течением времени.

Установите его на что-то большое, во что бы то ни стало, но не НА ЭТО большое.


Спасибо, это приятно знать. Я думаю, вам просто нужно сбалансировать размер с комфортом, чтобы все, что вы сбросили, было там.
Кенни

2
Похоже, пришло время, когда нам нужно провести реальные тесты :-)
Volker Siegel

8
Ха, я сделал сравнение, запустив tmux с любым из предельных значений истории; После запуска память остается прежней, поэтому tmux не выделяет буфер обратной прокрутки. (Конечно, это не решает практическую проблему)
Volker Siegel

2
Я нашел еще одно интересное исследование использования памяти tmux на blog.42.be/2015/02/tmux-memory-usage-on-linux.html
Silveri

Подводя итог @ ссылка Сильвери: в tmux была ошибка, поскольку она не освобождала свои буферы. Исправлена. (из группы Google, а также слился, если я не понял неправильно github.com/42wim/tmux/network )
serv-inc

22

Из того, что я могу сказать, вы можете сделать это только «на практике», выставив историю до абсурдно большого числа. например:

set -g history-limit 999999999

ОБНОВЛЕНИЕ: посмотрите другой ответ о том, почему вы не хотите использовать столь высокое число. Лучше было бы что-то более разумное (меньше 9).

ОБНОВЛЕНИЕ снова: возможно предварительное распределение не происходит. Комментарий @Volker Siegel к другому ответу указывает, что установка значения не вызывает выделения памяти.


Смотрите предупреждение в ответе @ThomasAdam.
Фолькер Сигел

Смотрите мой комментарий к его ответу. :)
Кенни
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.