2014-05-08 19 views
13

Tôi sử dụng tmux (trên thực tế là byobu với chương trình phụ trợ tmux) trên ubuntu 14.04.tmux sử dụng RAM 1G ngay cả sau khi xóa tất cả lịch sử cuộn lùi

Tmux của tôi sử dụng 1GB bộ nhớ (VIRT và RES ở top) và tôi đã sử dụng lệnh clear-history.

Hiện tại, cuộn giấy của tôi đã biến mất nhưng mức sử dụng bộ nhớ không giảm.

Tmux này đã chạy trong một thời gian dài và nhiều văn bản được cuộn qua nó. top cho thấy nó đã sử dụng hơn 1 giờ tổng thời gian của CPU.

Lý do có thể là gì?

Có thể có rò rỉ bộ nhớ không?

Tôi có thể thử gì?

tôi không thể khởi động lại nó hoặc làm những việc nguy hiểm vì phiên chạy một thử nghiệm mà mất khoảng một tuần nữa để hoàn thành ...

+0

là/lịch sử vỏ Bash của bạn bằng cách nào đó trọng lịch sử của tmux? –

+0

Làm cách nào để tìm hiểu xem đây có phải là trường hợp không? –

+0

Có cùng vấn đề với tmux 1.6 ... – arman

Trả lời

5

Vì không ai có thể trả lời câu này, tôi sẽ đưa ra suy đoán của tôi về những gì đang xảy ra.

tmux phân bổ dung lượng trong bộ nhớ cho lịch sử của bộ nhớ đó và bộ nhớ đó tăng lên khi bạn sử dụng nhiều hơn lịch sử của mình. Xóa lịch sử làm cho nó vô hình, nhưng không giải phóng bộ nhớ thực. Điều này có nghĩa là tmux có thể sử dụng bộ nhớ lên tổng số dòng cho mỗi ngăn mở, bất kể các ô đó có chứa bất kỳ thứ gì trong chúng không.

Điều này được cho là lỗi hoặc tính năng xấu nhất.

Tôi không có giải pháp.

2

Nó không phải là một lỗi, tmux có bộ nhớ miễn phí ngay lập tức khi bạn xóa lịch sử. It's up to glibc để trả lại cho hạt nhân và nó là người nghèo ở đó. Bạn sẽ có thể nhìn thấy bộ nhớ là miễn phí bởi vì nếu bạn xóa lịch sử lúc nói 10000 dòng, việc sử dụng bộ nhớ sẽ không phát triển một lần nữa cho đến khi lịch sử một lần nữa đạt 10000 dòng.

+0

Liệu glibc có trả lại bộ nhớ cho hạt nhân sớm hơn nếu máy đang trao đổi nhiều trang trong và ngoài (vì nó không còn bộ nhớ trống)? –

8

Dường như đã có lỗi trong tmux, khiến bộ nhớ không được giải phóng trên lịch sử rõ ràng.

Lỗi này tồn tại bao gồm phiên bản 1.9a, được sửa trong phiên bản 2.0. Tôi đăng bài này như là một câu trả lời muộn, như phiên bản 1.9a dường như vẫn còn được sử dụng (với tôi ít nhất).

https://groups.google.com/forum/#!topic/tmux-users/WiSZy6ft1As https://github.com/tmux/tmux/commit/28f23f18e9d79405a60348c4f7aeded33da9135b

+1

Tmux 2.1 của tôi vẫn còn thiếu bộ nhớ :-( –

+0

Ah, quên đi, đó là vì 'set -g @ resurrect-capture-pane-contents 'on'', tùy chọn đó không sử dụng được. –

Các vấn đề liên quan