Process Monitor equivalente per Linux?


26

Esiste un equivalente Unix / Linux di Process Monitor , sia GUI che CUI?

Se fa la differenza, sto guardando Ubuntu, ma se esiste un equivalente per altri sistemi (Mac, altre varianti di Linux come Fedora, ecc.), Anche sapere qualcuna di queste sarebbe utile.

Modificare:

Process Monitor serve per monitorare le chiamate di sistema (come la creazione o la scrittura di file), mentre Process Explorer serve per monitorare lo stato del processo (che è come System Monitor). Sto chiedendo il primo, non il secondo. :-)

Risposte:


12

Lo standby della console per questo è top, ma ci sono alternative come la mia preferita htopche ti danno un po 'più di flessibilità di visualizzazione e ti permettono qualche altra operazione sui processi.

Una visione meno interattiva che è meglio usare negli script sarebbe il psprogramma e tutti i suoi parenti.

Modifica: in base alla domanda chiarita, è possibile notare che stracegestisce la visione delle chiamate di sistema effettuate da un determinato processo, comprese tutte le operazioni di lettura / scrittura e le chiamate delle funzioni del sistema operativo. È possibile attivarlo dalla riga di comando prima del programma che si desidera monitorare o collegare a un processo in esecuzione premendo ssu un processo selezionato htop.


4
Credo che topsia l'equivalente di Process Explorer , non Process Monitor , giusto?
Mehrdad,

Che ne dici di eseguirlo ed esplorare la pagina man. Ho letto l'elenco delle funzionalità a cui ti sei collegato del monitor di processo e sembrava htopcoperto tutti i dettagli tranne il monitoraggio della sequenza di avvio. Nella migliore delle ipotesi potrebbe essere attivato screen/ a tmuxvolte a metà di un ciclo di avvio di Linux.
Caleb,

Alla luce degli altri tuoi commenti, potresti anche cercare strace, da cui puoi attivare htopcolpendo ssu un processo o manualmente dalla riga di comando quando esegui qualcosa o con un ID processo.
Caleb,

12

Il nonno di tutti i monitor di processo è tope vengono chiamati molti strumenti di monitoraggio del sistema top. Ad esempio, c'è iotopda guardare l'I / O del disco, atopper un mucchio di risorse di sistema, powertopper il consumo energetico.

Se desideri informazioni più dettagliate, non vengono tracciate per impostazione predefinita. Per vedere cosa sta facendo un particolare processo , chiamalo strace. Ad esempio, se sei interessato solo agli accessi al filesystem:

strace -s9999 -efile command_name    # trace a program during its whole execution
strace -s9999 -efile -p1234          # trace a running program with the given PID

straceè specifico di Linux, ma altri sistemi hanno uno strumento simile: trusssu Solaris ktraceo dtracesotto * BSD, ecc.

Per vedere cosa sta succedendo a un determinato file o in una particolare directory o albero di directory, utilizzare la funzione inotify .

inotifywait -m .

Ancora una volta, la funzione è specifica per Linux, ma la maggior parte degli altri unice ha un sistema simile, ad esempio kqueue in * BSD, e FAM (originariamente da SGI ma ora disponibile come API su molti sistemi).

Per guardare tutte le chiamate di sistema su Linux, è possibile utilizzare il sottosistema di controllo . È relativamente recente e non c'è molta letteratura sull'argomento; cerca auditctlo leggi la auditctlpagina man . Ci sono un paio di esempi su questo sito: monitoraggio degli accessi ai file , monitoraggio dell'esecuzione del processo .


Sei sicuro di riferirti all'equivalente di Process Monitor e non a Process Explorer ?
Mehrdad,

@Mehrdad: vedo, ero andato con il nome e la memoria di uno strumento che avevo usato su Windows (che in realtà è Process Explorer), e non dalla descrizione reale. È sempre pericoloso chiedere l'equivalente di un determinato programma, meglio chiedere un programma con determinate funzionalità.
Gilles 'SO- smetti di essere malvagio'

Grazie. iotop -o -b -Pmi mostra quali processi stanno eseguendo operazioni di I / O su disco
bartolo-otrit,

8

Potresti dare un'occhiata a lsofe strace. Il Process Monitor di Sysinternal è in realtà Filemon e Regmon combinato con alcuni miglioramenti aggiuntivi. Il topcomando è più simile a Process Explorer.




2

Non ho usato Process Monitor, ma per quanto ne so è lo stesso di gnome-system-monitorun sistema Gnome. Se usi KDE probabilmente hanno qualcosa di simile.


No, sono diversi. Process Monitor aggancia effettivamente le chiamate di sistema, non visualizza le informazioni di processo. (Ciò a cui ti riferisci è realizzato da Process Explorer.)
Mehrdad,

Oh, bene di solito uso lo strumento CLI vmstat per cose del genere. Ma questo è a livello di sistema, non per processo.
Keith,

1

dtrace4linux ti permette di tracciare alcune curiosità del kernel. Sebbene sembri essere più potente di sysdig, purtroppo non è così ben educato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.