Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
ammzen
V2EX  ›  Linux

tmux 真心好用,可这内存也太夸张了

  •  
  •   ammzen · May 20, 2016 · 10928 views
    This topic created in 3650 days ago, the information mentioned may be changed or developed.

    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 这么占内存正常不正常,请教一下大家

    22 replies    2017-02-24 23:29:02 +08:00
    introom
        1
    introom  
       May 20, 2016 via Android
    不正常吧,服务器上挂的 tmux 没出现过这状况
    kumu
        2
    kumu  
       May 20, 2016
    ```
    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
    ```
    stevenyou
        3
    stevenyou  
       May 20, 2016
    tmux 的每一个 pane 都有一个 scrollback buffer, 这个 buffer 的内存在 pane 初始化的时候就分配了
    看一下你的.tmux.conf 里 history-limit 的设置
    secondwtq
        4
    secondwtq  
       May 20, 2016
    没出现过,服务器上一直好好的。

    倒是挂在 Mac 上的会在长期不搭理它的情况下不定期默默退出
    griffinqiu
        5
    griffinqiu  
       May 20, 2016
    不正常
    duadua
        6
    duadua  
       May 20, 2016
    尝试清一下 screen buffer
    tput reset
    soli
        7
    soli  
       May 20, 2016
    set-option -g history-limit 1024
    ammzen
        8
    ammzen  
    OP
       May 20, 2016
    ```
    # 窗口、面板初始序号为 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 '#{pane_current_path}'
    # bind '%' split-window -h -c '#{pane_current_path}'
    # 设置拷贝风格为 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 "#[fg=green]Session: #S #[fg=yellow]#I #[fg=cyan]#P"
    set -g status-utf8 on

    # 设置状态栏右侧的内容和颜色
    # 15% | 28 Nov 18:15
    set -g status-right "#(~/battery Discharging) | #[fg=cyan]%d %b %R"

    # 每 60 秒更新一次状态栏
    set -g status-interval 60
    ```

    这是我的配置,里面没有配置 history-limit 。
    tmux 刚建立的时候内存占用并不大,时间长了才累积这么大的
    knightdf
        9
    knightdf  
       May 20, 2016
    tmux+vim+mosh 路过, mac 上每次挂一个月关机一次,没觉得内存有啥问题
    messyidea
        10
    messyidea  
       May 20, 2016
    从 screen 切换到 tmux ,感觉 tmux 没什么大问题,就是感觉 tmux4 个字母还没有 screen6 个字母好打, tmux 左右手切换两次, screen 只需要切换一次
    yylzcom
        11
    yylzcom  
       May 20, 2016
    @messyidea alias t='tmux'
    ammzen
        12
    ammzen  
    OP
       May 20, 2016
    @messyidea 顺手打了几遍,怎么打了几遍觉得 tmux 更好打呢😶
    SpicyCat
        13
    SpicyCat  
       May 20, 2016
    byobu + tmux
    messyidea
        14
    messyidea  
       May 20, 2016
    @yylzcom 喜欢用原版
    @ammzen 可能我已經习惯了
    ffffwh
        15
    ffffwh  
       May 20, 2016
    @yylzcom
    alias emcas=emacs
    alias emasc=emacs
    argsno
        16
    argsno  
       May 20, 2016
    @SpicyCat 看了一下,这个快捷键还不错
    Wangxf
        17
    Wangxf  
       May 20, 2016
    你是不是之前的没关,看下 tmux attach
    daybyday
        18
    daybyday  
       May 20, 2016
    scrollback lines 千万不要设太大,更不要设成 unlimited scrollback ,不然肯定是启动越久,占用内存越大
    hanxiV2EX
        19
    hanxiV2EX  
       May 20, 2016 via iPhone
    1.9a 好像有内存泄漏,今天升级后内存好多了。
    singlepig
        20
    singlepig  
       Feb 24, 2017
    tmux 2.3
    今天在 tmux 下跑了个 android 的编译脚本,过了一会发现 tmux server 用了 5G 内存。。。。。
    一脸懵逼。。。搜了半天也没找到究竟是为什么, history-limit 设了 5000 ,不知道算不算多
    @daybyday 请问你说的这个 scrollback 是终端的设置还是 tmux 软件的设置?
    daybyday
        21
    daybyday  
       Feb 24, 2017
    @singlepig 我说的 scrollback 是 iTerm2 终端里的配置,应该就会对应到 tmux 的 history-limit 配置
    singlepig
        22
    singlepig  
       Feb 24, 2017
    @daybyday iterm2 的 scrollback 跟 tmux 应该是并不相干的,是 tmux 自己的问题,因为我是 mbp 登录 ubuntu 然后用 tmux 的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2925 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 72ms · UTC 13:15 · PVG 21:15 · LAX 06:15 · JFK 09:15
    ♥ Do have faith in what you're doing.