Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Memory tmux使用1G RAM,即使在清除所有回滚历史记录之后_Memory_Tmux_Ubuntu 14.04_Byobu - Fatal编程技术网

Memory tmux使用1G RAM,即使在清除所有回滚历史记录之后

Memory tmux使用1G RAM,即使在清除所有回滚历史记录之后,memory,tmux,ubuntu-14.04,byobu,Memory,Tmux,Ubuntu 14.04,Byobu,我在ubuntu 14.04上使用tmux(实际上是byobu和tmux后端) 我的tmux使用1GB内存(VIRT和RES在top中),我已经使用了清除历史记录命令 现在我的回卷消失了,但内存使用率没有下降 这个tmux运行了很长时间,有很多文本在其中滚动top显示它总共使用了超过1小时的CPU时间 原因可能是什么 可能是内存泄漏吗 我能试试什么 我无法重新启动它或做危险的事情,因为该课程运行的实验需要大约一周的时间才能完成…由于没有人回答这个问题,我将对发生的情况进行推测 tmux在内存中为

我在ubuntu 14.04上使用tmux(实际上是byobu和tmux后端)

我的tmux使用1GB内存(VIRT和RES在
top
中),我已经使用了
清除历史记录
命令

现在我的回卷消失了,但内存使用率没有下降

这个tmux运行了很长时间,有很多文本在其中滚动
top
显示它总共使用了超过1小时的CPU时间

原因可能是什么

可能是内存泄漏吗

我能试试什么


我无法重新启动它或做危险的事情,因为该课程运行的实验需要大约一周的时间才能完成…

由于没有人回答这个问题,我将对发生的情况进行推测

tmux
在内存中为其历史分配空间,并且当您使用更多的历史时,内存会增长。清除历史会使其不可见,但不会释放实际内存。这意味着
tmux
可以使用内存来增加每个打开窗格的总行数,而不管这些窗格当前是否包含任何内容

这可以说是一个bug,或者说是一个糟糕的特性


我没有解决方案。

这不是一个bug,当您清除历史记录时,tmux会立即释放内存。由glibc将其返回内核,但它在这方面做得很差。您应该能够看到内存是空闲的,因为如果您清除10000行的历史记录,那么在历史记录再次达到10000行之前,内存使用量不会再次增长。

tmux中似乎有一个错误,导致在清除历史记录时无法释放内存

这个错误一直存在到版本1.9a,在版本2.0中修复。我将此作为迟交的答复发布,因为1.9a版似乎仍在使用中(至少对我而言)


tmux 2.5中修复了另一个内存泄漏:

* Handle slow terminals and fast output better: when the amount of data
  outstanding gets too large, discard output until it is drained and we are
  able to do a full redraw. Prevents tmux sitting on a huge buffer that the
  terminal will take forever to consume.

* Do not redraw a client unless we realistically think it can accept the data -
  defer redraws until the client has nothing else waiting to write.

Necropost,但这个问题一直持续到最近。x86 xubuntu 18.04上的repos对tmux 2.6的内存使用总是在一两天内达到1GB。我删除了它,并从源代码构建了TMUX2.8。几天来,它的内存使用率一直很低。问题终于解决了。

您的Bash/shell历史是否以某种方式覆盖了tmux的历史?我如何才能确定是否是这样?tmux 1.6上存在相同的问题…tmux 1.10与tmux 1.9a存在相同的问题,在shell中键入
reset
后,tmux的内存使用从150M减少到800k。这可能是一个解决办法。如果机器大量交换页面(因为它没有剩余的可用内存),glibc会更快地将内存返回内核吗?我的tmux 2.1仍然内存不足:-(啊,算了吧,这是因为
set-g@resurrect capture pane contents'on'
,该选项不可用。