V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
ammzen
V2EX  ›  Linux

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

  •  
  •   ammzen · 2016-05-20 08:46:49 +08:00 · 9452 次点击
    这是一个创建于 2869 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    倒是挂在 Mac 上的会在长期不搭理它的情况下不定期默默退出
    griffinqiu
        5
    griffinqiu  
       2016-05-20 09:34:12 +08:00
    不正常
    acoada
        6
    acoada  
       2016-05-20 09:37:26 +08:00
    尝试清一下 screen buffer
    tput reset
    soli
        7
    soli  
       2016-05-20 09:54:36 +08:00
    set-option -g history-limit 1024
    ammzen
        8
    ammzen  
    OP
       2016-05-20 09:59:50 +08:00
    ```
    # 窗口、面板初始序号为 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  
       2016-05-20 10:06:15 +08:00
    tmux+vim+mosh 路过, mac 上每次挂一个月关机一次,没觉得内存有啥问题
    messyidea
        10
    messyidea  
       2016-05-20 10:14:14 +08:00
    从 screen 切换到 tmux ,感觉 tmux 没什么大问题,就是感觉 tmux4 个字母还没有 screen6 个字母好打, tmux 左右手切换两次, screen 只需要切换一次
    yylzcom
        11
    yylzcom  
       2016-05-20 10:28:03 +08:00
    @messyidea alias t='tmux'
    ammzen
        12
    ammzen  
    OP
       2016-05-20 10:33:35 +08:00
    @messyidea 顺手打了几遍,怎么打了几遍觉得 tmux 更好打呢😶
    SpicyCat
        13
    SpicyCat  
       2016-05-20 10:38:41 +08:00
    byobu + tmux
    messyidea
        14
    messyidea  
       2016-05-20 10:41:49 +08:00
    @yylzcom 喜欢用原版
    @ammzen 可能我已經习惯了
    ffffwh
        15
    ffffwh  
       2016-05-20 10:47:17 +08:00
    @yylzcom
    alias emcas=emacs
    alias emasc=emacs
    argsno
        16
    argsno  
       2016-05-20 12:10:54 +08:00
    @SpicyCat 看了一下,这个快捷键还不错
    Wangxf
        17
    Wangxf  
       2016-05-20 12:50:56 +08:00
    你是不是之前的没关,看下 tmux attach
    daybyday
        18
    daybyday  
       2016-05-20 13:21:40 +08:00
    scrollback lines 千万不要设太大,更不要设成 unlimited scrollback ,不然肯定是启动越久,占用内存越大
    hanxiV2EX
        19
    hanxiV2EX  
       2016-05-20 21:46:19 +08:00 via iPhone
    1.9a 好像有内存泄漏,今天升级后内存好多了。
    singlepig
        20
    singlepig  
       2017-02-24 18:25:38 +08:00
    tmux 2.3
    今天在 tmux 下跑了个 android 的编译脚本,过了一会发现 tmux server 用了 5G 内存。。。。。
    一脸懵逼。。。搜了半天也没找到究竟是为什么, history-limit 设了 5000 ,不知道算不算多
    @daybyday 请问你说的这个 scrollback 是终端的设置还是 tmux 软件的设置?
    daybyday
        21
    daybyday  
       2017-02-24 21:59:08 +08:00
    @singlepig 我说的 scrollback 是 iTerm2 终端里的配置,应该就会对应到 tmux 的 history-limit 配置
    singlepig
        22
    singlepig  
       2017-02-24 23:29:02 +08:00
    @daybyday iterm2 的 scrollback 跟 tmux 应该是并不相干的,是 tmux 自己的问题,因为我是 mbp 登录 ubuntu 然后用 tmux 的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5438 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 08:10 · PVG 16:10 · LAX 01:10 · JFK 04:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.