技术解析

tmux 真心好用,可这内存也太夸张了
0
2021-07-02 18:35:15
idczone

tmux 用了一段时间感觉真心不错,效率提升明显。可是最近发现内存占用特别高,下面是启动后一周的情况

  PID	USER	PR	NI	VIRT	RES	SHR	S	%CPU	%MEM	TIME+	COMMAND         
  28951	xxxxx	20	0	981m	971m	716	S	0.0	1.0	2:44.23	tmux

我的配置也就简单地改了一下快捷键,不知道 tmux 这么占内存正常不正常,请教一下大家


不正常吧,服务器上挂的 tmux 没出现过这状况

```
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
27618 xxx 20 0 189.1m 168.5m 2.7m S 0.0 2.1 8:07.77 tmux
```

tmux 的每一个 pane 都有一个 scrollback buffer, 这个 buffer 的内存在 pane 初始化的时候就分配了
看一下你的.tmux.conf 里 history-limit 的设置

没出现过,服务器上一直好好的。
倒是挂在 Mac 上的会在长期不搭理它的情况下不定期默默退出

不正常

尝试清一下 screen buffer
tput reset

set-option -g history-limit 1024

```
窗口、面板初始序号为 1
set-option -g base-index 1
setw -g pane-base-index 1
支持动态载入配置
bind r source-file ~/.tmux.conf \; display-message "Config reloaded"
切换窗格快捷键
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
调整窗格大小快捷键
bind H resize-pane -L 10 向左扩展
bind L resize-pane -R 10 向右扩展
bind K resize-pane -U 5 向上扩展
bind J resize-pane -D 5 向下扩展
打开新窗格为当前目录(无效果)
bind '"' split-window -c '/>bind '%' split-window -h -c '/>设置拷贝风格为 vi 风格
bind Escape copy-mode
bind -t vi-copy v begin-selection
bind -t vi-copy y copy-selection
unbind p
bind p pasteb
setw -g mode-keys vi Vi 风格选择文本
开启鼠标支持
setw -g mode-mouse on
set -g mouse-select-pane on
set -g mouse-resize-pane on
set -g mouse-select-window on
可视化通知
setw -g monitor-activity on
set -g visual-activity on
窗口列表居中显示
set -g status-justify centre
临时最大化面板或恢复面板大小
unbind Up
bind Up new-window -d -n tmp \; swap-pane -s tmp.1 \; select-window -t tmp
unbind Down
bind Down last-window \; swap-pane -s tmp.1 \; kill-window -t tmp
copy to Mac OSX pasteboard
if -b 'which -s reattach-to-user-namespace' 'bind y run "tmux save-buffer - | reattach-to-user-namespace pbcopy"'
powerline 支持
source '/home/muqing02/.jumbo/lib/python2.7/site-packages/powerline/bindings/tmux/powerline.conf'
设置状态栏的颜色
set -g status-fg white
set -g status-bg black
设置窗口列表的颜色
setw -g window-status-fg cyan
setw -g window-status-bg default
setw -g window-status-attr dim
设置活动窗口的颜色
setw -g window-status-current-fg white
setw -g window-status-current-bg red
setw -g window-status-current-attr bright
设置面板和活动面板的颜色
set -g pane-border-fg green
set -g pane-border-bg black
set -g pane-active-border-fg white
set -g pane-active-border-bg yellow
设置命令行或消息的颜色
set -g message-fg white
set -g message-bg black
set -g message-attr bright
设置状态栏左侧的内容和颜色
set -g status-left-length 40
set -g status-left "/>set -g status-utf8 on
设置状态栏右侧的内容和颜色
15% | 28 Nov 18:15
set -g status-right "Discharging) | %b %R"
每 60 秒更新一次状态栏
set -g status-interval 60
```
这是我的配置,里面没有配置 history-limit 。
tmux 刚建立的时候内存占用并不大,时间长了才累积这么大的

tmux+vim+mosh 路过, mac 上每次挂一个月关机一次,没觉得内存有啥问题

从 screen 切换到 tmux ,感觉 tmux 没什么大问题,就是感觉 tmux4 个字母还没有 screen6 个字母好打, tmux 左右手切换两次, screen 只需要切换一次

alias t='tmux'

顺手打了几遍,怎么打了几遍觉得 tmux 更好打呢
数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服