Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

VSCode Perl::LanguageServer causes a process that consumes CPU

Aperta
#642 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

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
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
perl
Ambito
devtools

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

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di REditorSupport/languageserver

Tutte le issue di REditorSupport/languageserver

Issue simili

Altre issue su R

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.