Ho bisogno di conoscere l'utilizzo della CPU di un particolare modulo del kernel (ad es. Iptable_mangle) in Linux (Fedora). So che top o mpstat mostra l'utilizzo della CPU del sistema che è in realtà un utilizzo totale della CPU nello spazio del kernel. C'è qualche opzione per conoscere l'utilizzo della CPU di un particolare oggetto del kernel?Utilizzo della CPU di un modulo del kernel
risposta
dispiace deludervi, ma non v'è alcun modo per ottenere ciò che si vuole - non perché Linux non hanno la capacità, ma per definizione:
Un modulo può "plug-in" al kernel di due modi generali: installando un callback (ad es. proc o sys file, device, ecc.) o avviando un thread del kernel. Nel tuo caso, iptable_mangle si collega impostando i callback su iptables/netfilter. Ciò significa che il codice del modulo viene eseguito come parte dello stack di rete (nel contesto ksoftirqd, per essere più accurato).
Se questo era in un contesto di thread del kernel, Linux mantiene le statistiche. Ma per le richiamate, non è così. Il thread che finisce per eseguire il codice del modulo fa un sacco di altre cose, quindi isolare il codice del tuo modulo non è pratico (a meno che, ovviamente, tu non sia in possesso della fonte, e quindi puoi aggiungere le dichiarazioni di temporizzazione molto facilmente) .
Una soluzione parziale sarebbe quella di utilizzare il meccanismo ftrace del kernel - questo consente la funzione di traccia delle chiamate nel kernel - è incredibilmente potente e può mostrare le statistiche in base a determinate funzioni. Non è esattamente quello che vuoi, ma è il più vicino possibile.
- 1. Trovare l'indirizzo del kernel di un modulo kernel caricabile
- 2. utilizzo della CPU ad alta nanosleep?
- 3. Perché park/unpark ha un utilizzo della CPU del 60%?
- 4. Come codificare un modulo del kernel Linux?
- 5. Utilizzo della CPU con golang
- 6. Come rimuovere un modulo del kernel fallito
- 7. Utilizzo della CPU del throttle sul thread di sfondo
- 8. Invio di un pacchetto attraverso un modulo del kernel
- 9. Programmazione del modulo del kernel Linux: makefile
- 10. Java VisualVM Utilizzo della CPU e affinità del processore
- 11. SQL Server 2008 Utilizzo elevato della CPU
- 12. Utilizzo della CPU di un servizio specifico in C#
- 13. La visualizzazione di './**/*.js' causa un utilizzo eccessivo della CPU
- 14. httpd - Utilizzo della CPU 100% - Posizione remota del server Mysql
- 15. Perché ho bisogno di ricompilare il modulo del kernel vmware dopo un aggiornamento del kernel linux?
- 16. Attività periodica in un modulo del kernel Linux
- 17. Indirizzo della variabile per-cpu
- 18. ASP.NET: utilizzo elevato della CPU senza carico
- 19. utilizzo della CPU alto per dormire processi
- 20. Utilizzo elevato della CPU nell'applicazione java - perché?
- 21. Eclipse "javaw.exe" Utilizzo elevato della CPU
- 22. Simbolo sconosciuto durante il caricamento di un modulo del kernel
- 23. Utilizzo della CPU molto elevato in SpriteKit
- 24. Utilizzo della cpu NodeJS al 100% - epoll_wait
- 25. Java: Matcher.find utilizzando elevato utilizzo della CPU
- 26. Utilizzo sensore CPU Android
- 27. utilizzo della CPU alto con emulatore di Android (qemu-system-i386.exe) l'utilizzo della CPU
- 28. Utilizzo della CPU per applicazione in Android
- 29. Utilizzo CPU e Object.wait
- 30. Caricamento modulo kernel nel kernel Android
Penso che non ci sia modo, a meno che quel modulo non avvii un'attività del kernel (o una discussione del kernel). –
So che cos'è il thread del kernel, ma non sono sicuro di quale sia l'attività del kernel. Non ho il controllo sul modulo del kernel di mio interesse né per avviare un task/thread del kernel. Grazie ... –
Quindi la tua domanda potrebbe non avere alcun senso. –