GNU/Linux >> Linux Esercitazione >  >> Linux

Ottieni statistiche sull'utilizzo della memoria con questo strumento da riga di comando di Linux

Più risorse Linux

  • Comandi Linux cheat sheet
  • Cheat sheet sui comandi avanzati di Linux
  • Corso online gratuito:Panoramica tecnica RHEL
  • Cheat sheet della rete Linux
  • Cheat sheet di SELinux
  • Cheat sheet dei comandi comuni di Linux
  • Cosa sono i container Linux?
  • I nostri ultimi articoli su Linux

Nel mio lavoro di programmazione, spesso ho bisogno di conoscere la memoria utilizzata dalle applicazioni web. Di solito è sufficiente una stima approssimativa prima di scendere ai dettagli e agli strumenti di profilazione del browser.

Per interrogare l'utilizzo della memoria su Linux o macOS, le persone in genere usano top o htop. Mi piacerebbe vedere un singolo numero:quanta RAM ha richiesto un processo. Ma le statistiche mostrate da queste utilità possono essere difficili da capire. Con i browser Web, è ancora più complicato perché spesso eseguono molti processi separati. Vengono visualizzati tutti nella parte superiore dell'output come un lungo elenco, ciascuno con le proprie metriche individuali.

Inserisci il comando smem

Fortunatamente c'è smem, un'altra utility della riga di comando per visualizzare le statistiche sull'utilizzo della memoria. Installalo con il tuo gestore di pacchetti preferito, ad esempio:

sudo apt install smem

Per ottenere l'utilizzo totale della memoria da Firefox, procedi nel seguente modo:

smem -c pss -P firefox -k -t | tail -n 1

Cosa succede qui?

  • -c switch specifica le colonne da mostrare. Mi interessa solo il pss colonna, che mostra la memoria allocata da un processo.
  • -P cambia i processi dei filtri per includere solo quelli con firefox nel nome
  • -k switch dice di mostrare l'uso della memoria in mega/gigabyte invece di semplici byte
  • -t l'interruttore mostra i totali
  • tail -n 1 il filtro emette solo l'ultima riga, proprio dove si trovano i totali

L'output è così semplice:

$ smem -t -k -c pss -P firefox | tail -n 1
4.9G

Dritto al punto! E, dopo un'altra intensa giornata di lavoro, con oltre cinquanta schede aperte, Firefox utilizza ancora solo 5 GB. Prendi quello, Google Chrome;-)

Ancora più facile con uno script

Per comodità, crea un piccolo script chiamato memory-use , che prende il nome del processo come parametro. Conservo tutti i miei script in ~/bin , quindi:

echo 'smem -c pss -P "$1" -k -t | tail -n 1' > ~/bin/memory-use && chmod +x ~/bin/memory-use

Ora posso misurare l'utilizzo della memoria di qualsiasi applicazione in modo semplice:

memory-use firefox
memory-use chrome
memory-use slack

E c'è ancora di più!

L'utilità può fare molto di più che mostrare l'utilizzo totale della memoria. Può anche generare output grafico.

Ad esempio:

smem --pie name -c pss

Mostra qualcosa del genere:

Per maggiori dettagli, ti consiglio di consultare le manpage di smem.

Puoi trovare un altro fantastico tutorial su https://linoxide.com/memory-usage-reporting-smem/.

Divertiti!

Questo articolo è apparso originariamente sul blog dell'autore e è stato ripubblicato con autorizzazione.


Linux
  1. Inizia con NetworkManager su Linux

  2. Come uso Vagrant con libvirt

  3. Inizia con Latex su Linux

  4. Come utilizzare l'esportazione con Python su Linux

  5. Come utilizzare la memoria condivisa con Linux in C

Prova Linux su qualsiasi computer con questo strumento USB avviabile

Aggiorna i dispositivi da remoto con questo strumento open source

10 modi per iniziare con Linux

Comando Linux vmstat - Strumento per segnalare le statistiche sulla memoria virtuale

Una guida al comando vmstat in Linux

Come iniziare con Arch Linux