redhat-developer / redhat-developer/vscode-java

Intellisense very slow and usually takes high peeks of CPU and memory

Offen
#1,881 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

content-assist performance
Vorherrschende Sprache
TypeScript
Sterne
2.3k
Forks
546
Ø Merge
20 Std. 1 Min.
Gemergte PRs (30 T.)
11

Beschreibung

[provide a description of the issue]
Coding, takes a lot for intellisense to show members....in cases around 4 secods, and also consumes peeks of high cpu and memory

Environment
  • Operating System: Fedora 33
  • JDK version: OpenJDK 11.0.9
  • Visual Studio Code version:1.55.1
  • Java extension version:0.76
Steps To Reproduce

Dont touch the code, and once you go and put a . in the code expecting intellisense to show members, it takes several seconds and produces a peek on cpu and memory consumption.

[Please attach a sample project reproducing the error]
Please attach logs

LOG
15:34:15 ❯ code --status
Version: Code 1.55.1 (08a217c4d27a02a5bcde898fd7981bda5b49391b, 2021-04-07T15:01:24.315Z)
OS Version: Linux x64 5.10.9-201.fc33.x86_64
CPUs: Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz (8 x 2700)
Memory (System): 30.81GB (12.12GB free)
Load (avg): 6, 23, 17
VM: 0%
Screen Reader: no
Process Argv: --no-sandbox --unity-launch --crash-reporter-id d07879a8-21a9-4e94-9263-6d6134b682bb
GPU Status: 2d_canvas: enabled
gpu_compositing: enabled
multiple_raster_threads: enabled_on
oop_rasterization: disabled_off
opengl: enabled_on
protected_video_decode: unavailable_off
rasterization: disabled_software
skia_renderer: enabled_on
video_decode: disabled_software
vulkan: disabled_off
webgl: enabled
webgl2: enabled

CPU % Mem MB PID Process
0 63 1501952 code main
0 0 1502017 zygote
0 0 1502018 zygote
0 0 1502138 utility
2 505 1502154 window (AssessmentSvcTest.java - workspace.pathfinder (Workspace) - Visual Studio Code)
0 505 1502636 extensionHost
0 0 1502910 electron_node server.js
0 63 1502917 electron_node server.js
0 0 1502925 electron_node languageserver.js
33 1578 1503130 /home/jonathan/.sdkman/candidates/java/current/bin/java --add-modules=ALL-SYSTEM --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED -Declipse.application=org.eclipse.jdt.ls.core.id1 -Dosgi.bundles.defaultStartLevel=4 -Declipse.product=org.eclipse.jdt.ls.core.product -Dfile.encoding=utf8 -noverify -Xmx1G -XX:+UseG1GC -XX:+UseStringDeduplication -javaagent:/home/jonathan/.vscode/extensions/gabrielbb.vscode-lombok-1.0.1/server/lombok.jar -jar /home/jonathan/.vscode/extensions/redhat.java-0.76.0/server/plugins/org.eclipse.equinox.launcher_1.6.100.v20201223-0822.jar -configuration /home/jonathan/.config/Code/User/globalStorage/redhat.java/0.76.0/config_linux -data /home/jonathan/.config/Code/User/workspaceStorage/45a531d9c2d51a4824623ae422ac4572/redhat.java/jdt_ws
0 63 1503338 /usr/share/code/code /usr/share/code/resources/app/extensions/json-language-features/server/dist/node/jsonServerMain --node-ipc --clientProcessId=1502636
0 63 1504100 /home/jonathan/.sdkman/candidates/java/current/bin/java -Xmx64M -XX:+UseG1GC -XX:+UseStringDeduplication -cp /home/jonathan/.vscode/extensions/redhat.vscode-microprofile-0.2.0/server/* org.eclipse.lsp4mp.ls.MicroProfileServerLauncher
0 63 1537408 /home/jonathan/.sdkman/candidates/java/current/bin/java -noverify -Xmx64M -cp /home/jonathan/.vscode/extensions/redhat.vscode-xml-0.15.0/server/org.eclipse.lemminx-0.15.0-uber.jar org.eclipse.lemminx.XMLServerLauncher
0 0 3755721 electron_node server.js
0 0 1502677 watcherService
0 63 1502662 shared-process
0 0 1502705 ptyHost
0 0 1541761 /usr/bin/zsh
0 0 3743905 /usr/bin/zsh
0 0 3769694 window (undefined)

Workspace Stats:
| Window (AssessmentSvcTest.java - workspace.pathfinder (Workspace) - Visual Studio Code)
| Folder (tackle-controls): 782 files
| File types: jar(525) sql(44) java(36) class(36) sh(8) json(7) yml(6)
| lst(6) properties(4) prefs(4)
| Conf files: github-actions(3)
| Folder (windup-operator): 1973 files
| File types: java(882) yaml(285) jar(155) release(152) yml(143) sh(85)
| class(16) xml(13) md(8) json(8)
| Conf files: github-actions(1)
| Folder (tackle-pathfinder): 3272 files
| File types: java(1516) xml(348) sql(304) jar(266) yaml(193)
| plantuml(92) sh(73) json(71) yml(69) properties(66)
| Conf files: github-actions(3) launch.json(1)
| Launch Configs: java
| Folder (tackle-commons-rest): 604 files
| File types: jar(241) java(52) class(45) prefs(14) lst(10) xml(9)
| properties(6) txt(5) yml(4) gitignore(4)
| Conf files: github-actions(3)
| Folder (windup-openshift): 5048 files
| File types: jar(2966) xml(906) groovy(113) si(44) cfe(36) cfs(36)
| txt(32) sh(23) xsl(20) json(18)
| Conf files:

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, die Verzögerung im Java language server zu reproduzieren, wenn nach der Eingabe eines Punkts Mitglieder angefordert werden, und verwende dabei die gemeldete Umgebung Fedora 33, OpenJDK 11, VS Code 1.55.1 und Java extension 0.76. Vergleiche die Prozessdaten von code --status und sammle das angeforderte Beispielprojekt sowie die Logs; abgeschlossen ist die Aufgabe, wenn eine reproduzierbare Ursache oder verwertbare Hinweise zur Performance identifiziert wurden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java, typescript, vscode
Bereich
developer-experience, performance
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
20/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.