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ù