PowerShell / PowerShell/PowerShellEditorServices

Unreasonably enormous memory usage with Kate on Windows since 3.8

Đang mở
#2,063 2 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Ngôn ngữ chính
C#
Star
767
Fork
266
Merge trung bình
3 ngày 16 giờ
Pull request đã merge (30 ngày)
1

Mô tả

Prerequisites
  • Write a descriptive title.
  • Make sure you are able to repro it on the latest version
  • Search the existing issues.
Steps to reproduce

I don't know what exactly triggers this and narrowing it down isn't easy, but here's some possible steps:

  1. Install Kate 23.08 on x64 Windows, using traditional installation.
  2. Unpack PowerShellEditorServices somewhere convenient.
  3. Create a PowerShell script like this:
mkdir -ErrorAction SilentlyContinue $env:TEMP/pses-qdls
& 'C:/PATH/TO/PSES/PowerShellEditorServices/Start-EditorServices.ps1' -BundledModulesPath C:/PATH/TO/PSES -LogPath $env:TEMP/pses-qdls/logs.log -SessionDetailsPath $env:TEMP/pses-qdls/session.json -FeatureFlags @() -AdditionalModules @() -HostName 'qdls' -HostProfileId 'qdls' -HostVersion 0.0.0 -Stdio -LogLevel Normal
  1. Enable Kate's LSP client: Toggle on Settings > Configure Kate > Plugins > LSP Client, then apply.
  2. Go to the Settings > Configure Kate > LSP Client > User Server Settings and add a block like this:
{
     "servers": {
          "powershell": {
              "command": ["pwsh", "-NoLogo", "-NoProfile", "-Command", "$PSStyle.OutputRendering = 'PlainText'; & C:/PATH/TO/PowerShellLanguageServer.ps1"],
              "highlightingModeRegex": "^PowerShell$"
          }
     }
}
  1. Open Task Manager and watch the memory usage of the pwsh process Kate spawns as you browse around a large PowerShell project. Make sure you have a build of the project on $PSModulePath so PSES sees its functions etc.
Expected behavior

Reasonable memory usage.

Actual behavior

Memory usage of multiple Gbytes after running for a few minutes.

Error details

No response

Environment data
PS$> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      7.3.6
PSEdition                      Core
GitCommitId                    7.3.6
OS                             Microsoft Windows 10.0.19043
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0
Version

3.10.0, 3.9.0, 3.8.7; 3.7.3 not affected

Visuals

No response

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Tái hiện hiện tượng bộ nhớ tăng lên bằng Kate, PowerShellEditorServices, Start-EditorServices.ps1 và PowerShellLanguageServer.ps1 trong khi duyệt một dự án lớn. So sánh phiên bản 3.7.3 với 3.8.7 và các phiên bản mới hơn, sau đó theo dõi hành vi của tiến trình do LSP điều khiển; công việc được xem là hoàn tất khi xác định và sửa được hồi quy để pwsh duy trì mức sử dụng bộ nhớ hợp lý.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
powershell
Lĩnh vực
devtools, performance
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
25/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.