VSCode Perl::LanguageServer causes a process that consumes CPU
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 30/100
Direzione di ricerca
Inizia riproducendo l’utilizzo della CPU in stato di inattività di Perl::LanguageServer in VSCode e analizza le chiamate ripetute a select mostrate da strace. Usa gli ambienti indicati con Perl 5.36.0 e Linux come riferimento; il lavoro è completato quando la causa è stata identificata e viene confermato che il master perl process non consuma più CPU mentre VSCode è inattivo.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
When running Perl::LanguageServer inside of VSCode there is a master perl that consumes about 100% of a CPU. Initially, this process fires off a number of pls processes, apparently parsing all of the Perl modules it can find and communicating that data to the master perl process bloating it up to 1.5G in my case. OK, I understand that. There's a lot of Perl code here. However, after it settles down and the pls processes go away the master perl process continues to chew on about 100% of one CPU, even if VSCode is essentially idle.
top - 10:47:37 up 14:32, 1 user, load average: 0.09, 0.19, 0.22
Tasks: 204 total, 3 running, 201 sleeping, 0 stopped, 0 zombie
%Cpu(s): 22.5 us, 4.3 sy, 0.1 ni, 72.8 id, 0.0 wa, 0.2 hi, 0.1 si, 0.0 st
MiB Mem : 7685.1 total, 427.8 free, 3963.5 used, 3293.8 buff/cache
MiB Swap: 1024.0 total, 942.9 free, 81.1 used. 3405.2 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4635 root 20 0 2069884 1.5g 8496 R 99.7 20.6 863:12.92 perl
4220 root 20 0 1070064 198816 47200 S 2.0 2.5 0:51.59 node
2021 root 20 0 895920 97960 16820 S 1.3 1.2 2:44.30 python3
Closing VSCode causes the master perl process to go away.
An strace of the master perl reveals:
select(16, [3 5 8], [], NULL, {tv_sec=3600, tv_usec=0}) = 1 (in [5], left {tv_sec=3599, tv_usec=999999})
select(16, [3 5 8], [], NULL, {tv_sec=3600, tv_usec=0}) = 1 (in [5], left {tv_sec=3599, tv_usec=999999})
select(16, [3 5 8], [], NULL, {tv_sec=3600, tv_usec=0}) = 1 (in [5], left {tv_sec=3599, tv_usec=999999})
select(16, [3 5 8], [], NULL, {tv_sec=3600, tv_usec=0}) = 1 (in [5], left {tv_sec=3599, tv_usec=999999})
select(16, [3 5 8], [], NULL, {tv_sec=3600, tv_usec=0}) = 1 (in [5], left {tv_sec=3599, tv_usec=999999})
over and over again.
Perl version: 5.36.0
OS: CloudLinux: 8.8 (also experienced on AlmaLinux 8.8 and CentOS 7)
- Lingua principale
- R
- Stelle
- 675
- Fork
- 118
- Merge medio
- 1g 11h
- PR unite (30g)
- 11
Preparare l'ambiente
Non abbiamo ancora controllato i file di configurazione di questo progetto. Parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di REditorSupport/languageserver
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
REditorSupport/languageserver#776 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
REditorSupport/languageserver#735 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
REditorSupport/languageserver#731 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
REditorSupport/languageserver#730 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 65/100
REditorSupport/languageserver#771 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di REditorSupport/languageserver
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 95/100
tidymodels/textrecipes#332 ·