GNU/Linux >> Linux Esercitazione >  >> Linux

Scopri quale processo apache ad alto utilizzo della CPU sta effettivamente facendo?

Soluzione 1:

Bene, nel caso ti sentissi coraggioso:

gdb -p 20788

quindi emetti bt per vedere lo stack-frame, ad es. g.

E a proposito, c'è anche ltrace da menzionare, provalo anche tu.

AGGIORNAMENTO. :beh, ok, dato che ora abbiamo un'idea che Apache stia davvero eseguendo qualcosa, perché non dovresti dare un'occhiata a mod_status output — Esteso?

Soluzione 2:

Un approccio molto semplice consiste nell'usare htop . Puoi ordinare per i processi ad alta CPU e quindi utilizzare

  • s per strace un processo
  • l per lsof per vedere i file aperti di un processo
  • L a ltrace .

Ho scoperto che almeno una di queste opzioni trova lo script che genera il carico e puoi ovviamente utilizzarlo su un server Web di produzione per eseguire il debug.

Soluzione 3:

Potresti provare:

  • iotop (mostra I/O sul sistema)
  • netstat -t (mostra le connessioni)
  • Dai un'occhiata ai file di log di Apache e scopri quanto è durato il server
  • imposta alcuni RLimits per il processo apache. Quando questi limiti vengono raggiunti, il processo verrà terminato, fornendoti qualche informazione in più

Linux
  1. Come limitare l'utilizzo della CPU di un processo in Linux

  2. 4 modi per scoprire un core della CPU che esegue un particolare processo in Linux

  3. Quale processo ha creato questa finestra X11?

  4. Linux:come scoprire lo spazio dei nomi di un particolare processo?

  5. Comando terminale per scoprire se un server è virtuale o fisico?

Quale versione di Linux sto eseguendo? Ecco come scoprirlo

Come ottenere l'utilizzo della CPU di un singolo processo in Linux

Come trovare quale processo sta causando un elevato utilizzo della CPU

Come scoprire lo spazio dei nomi di un particolare processo?

Come registro l'utilizzo della CPU per processo?

Scopri quale processo sta modificando un file