High memory allocation using SshCommand
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 45/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- csharp
- Lĩnh vực
- networking
Hướng nghiên cứu
Bắt đầu với phần triển khai SshCommand và kiểm tra cách các luồng đầu ra của nó được cấp phát và tiêu thụ, sử dụng memory snapshot được báo cáo làm cơ sở ban đầu. Xác định hành vi nào cần thay đổi đối với các lệnh không được giám sát đầu ra, sau đó xác minh rằng các lệnh chạy dài không còn giữ lại đầu ra không giới hạn và kịch bản dự kiến đã được bao phủ bằng các bài kiểm thử.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Hi,
I noticed using SSH.Net there are a few issues using SshCommand:
- Allocation of 2kB of buffer for every command, even short ones without output and without monitoring output
- Not reading output causes these buffers to grow indefinitely for long running commands
- No way to discard this output easily
- Using sshcommands many at a time in a pool causes huge GC pressure with the many large allocations
An example from a single command running without cleaning the streams shows it allocating over 300kB of memory in a VS snapshot.
Possible solutions:
- Allocate the pipestreams only when accessed, discarding input otherwise (breaking change)
- Creating a new sshcommand that does not allocate.
I will be creating a pull request for scenario 2 as i need a solution for a project asap.
Thanks for the library!
- Ngôn ngữ chính
- C#
- Star
- 4.4k
- Fork
- 993
- Merge trung bình
- 9 ngày 21 giờ
- Pull request đã merge (30 ngày)
- 1
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của sshnet/SSH.NET
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 68/100
-
Using SshClient on Linux under Wine throws System.Security.Cryptography.CryptographicException Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 67/100
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 55/100
Tất cả issue của sshnet/SSH.NET
Issue tương tự
-
release-notes in .NET 11 RC2 Đang mởpriority-0
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 78/100
StackExchange/StackExchange.Redis#3249 ·
-
[Feat] 조합 영역 구분선 개선 Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
-
documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
-
type/automation type/tech-debt
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100