GNU/Linux >> Linux Esercitazione >  >> Linux

Come controllare la dimensione totale della RAM e l'utilizzo della memoria in Linux

Esistono molti comandi che possono essere utilizzati per identificare la dimensione totale della memoria RAM installata e controllare la quantità di memoria libera e utilizzata nel sistema operativo Linux come Red Hat Enterprise Linux (RHEL), CentOS, Ubuntu e così via

La memoria è una delle risorse critiche per un computer, in particolare per un server, poiché la memoria sufficiente garantisce che alle applicazioni possa essere allocata la memoria necessaria per eseguire l'operazione prima di eseguire lo scambio su disco, il che è molto più lento, ostacolando i tempi di risposta.

Poiché la GUI non è sempre disponibile soprattutto per gli utenti Linux che utilizzano frequentemente SSH o Telnet su un sistema remoto, questo tutorial si concentra sulle opzioni della riga di comando per scoprire l'utilizzo della memoria e lo stato in Linux, che include RAM e swap.

1. Comando gratuito

Il comando free mostra la quantità totale di memoria fisica e di scambio libera e utilizzata nel sistema, nonché i buffer e le cache utilizzati dal kernel. Le informazioni vengono raccolte analizzando /proc/meminfo. Le informazioni visualizzate sono:

  • total:memoria totale installata (MemTotal e SwapTotal in /proc/meminfo)
  • usato:memoria utilizzata (calcolata come totale – libera – buffer – cache)
  • libero:memoria non utilizzata (MemFree e SwapFree in /proc/meminfo)
  • condivisa:memoria utilizzata (principalmente) da tmpfs (Shmem in /proc/meminfo, disponibile sui kernel 2.6.32, visualizzata come zero se non disponibile)
  • Buffer:memoria utilizzata dai buffer del kernel (Buffer in /proc/meminfo)
  • cache:memoria utilizzata dalla cache della pagina e dalle lastre (cache e lastra in /proc/meminfo)
  • buff/cache:somma di buffer e cache
  • disponibile:stima della quantità di memoria disponibile per l'avvio di nuove applicazioni, senza scambio. A differenza dei dati forniti dalla cache o dai campi liberi, questo campo tiene conto della cache della pagina e anche del fatto che non tutte le lastre di memoria recuperabili verranno recuperate a causa degli elementi in uso (MemAvailable in /proc/meminfo, disponibile sui kernel 3.14, emulato su kernel 2.6.27+, altrimenti uguale a gratuito)

Esempio di output:

              total        used        free      shared  buff/cache   available
Mem:       24512912      253112    23761468       41484      498332    23873560
Swap:      12387324           0    12387324
SuggerimentoL'opzione predefinita visualizza la memoria in KB (kilobyte). Per visualizzare in MB (megabyte), utilizzare "free -m".

2. Comando vmstat

vmstat riporta informazioni su processi, memoria, paging, block IO, trap, dischi e attività della CPU. Per impostazione predefinita vengono visualizzate le seguenti informazioni:

Proc
r:il numero di processi eseguibili (in esecuzione o in attesa di runtime).
b:il numero di processi nel sonno ininterrotto.

Memoria
swpd:la quantità di memoria virtuale utilizzata.
free:la quantità di memoria inattiva.
buff:la quantità di memoria utilizzata come buffer.
cache:la quantità di memoria utilizzata come cache.
inact:la quantità di memoria inattiva. (-un'opzione)
attivo:la quantità di memoria attiva. (-un'opzione)

Scambia
si:quantità di memoria scambiata dal disco (/s).
quindi:quantità di memoria scambiata su disco (/s).

IO
bi:blocchi ricevuti da un dispositivo a blocchi (blocchi/i).
bo:blocchi inviati a un dispositivo a blocchi (blocchi/i).

Sistema
in:il numero di interruzioni al secondo, incluso l'orologio.
cs:il numero di cambi di contesto al secondo.

CPU
Queste sono le percentuali del tempo totale della CPU.
us:tempo dedicato all'esecuzione di codice non kernel. (tempo dell'utente, incluso il tempo piacevole)
sy:tempo impiegato per eseguire il codice del kernel. (ora di sistema)
id:tempo trascorso inattivo. Prima di Linux 2.5.41, questo includeva il tempo di attesa IO.
wa:tempo trascorso in attesa di IO. Prima di Linux 2.5.41, incluso in idle.
st:tempo rubato da una macchina virtuale. Prima di Linux 2.6.11, sconosciuto.

Esempio di output:

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 23760168  62096 438828    0    0     0     0    4    4  0  0 100  0  0

3. comando in alto

Il comando top viene utilizzato principalmente per visualizzare una vista dinamica in tempo reale di un sistema in esecuzione, in particolare i processi o i thread Linux attualmente gestiti dal kernel Linux. Ma visualizza anche le informazioni di riepilogo del sistema, inclusa la memoria RAM e le dimensioni libere e utilizzate.

Per uscire dal programma principale, premi Ctrl + c , o semplicemente q .
Esempio di output:

top - 09:55:34 up 20:23,  1 user,  load average: 0.00, 0.01, 0.05
Tasks: 188 total,   2 running, 186 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni, 99.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 24512912 total, 23758072 free,   252420 used,   502420 buff/cache
KiB Swap: 12387324 total, 12387324 free,        0 used. 23873892 avail Mem

4. /proc/meminfo

Come puoi vedere dai comandi sopra, la maggior parte delle utilità si basa su /proc/meminfo per segnalare la quantità di memoria libera e utilizzata e lo spazio di scambio nel sistema. /proc/meminfo è un file virtuale che contiene statistiche dinamiche sull'utilizzo della memoria da parte del kernel e del sistema.

Per visualizzare il contenuto di /proc/meminfo, usa uno dei seguenti comandi e qualsiasi altro tu preferisca:

cat /proc/meminfo
more /proc/meminfo
less /proc/meminfo

5. in cima a Comando

atop è un monitor interattivo per visualizzare il carico su un sistema Linux simile a top. Mostra l'occupazione delle risorse hardware più critiche (dal punto di vista delle prestazioni) a livello di sistema, ovvero cpu, memoria, disco e rete. atop non è installato per impostazione predefinita sulla maggior parte delle distribuzioni Linux, quindi se vuoi usarlo, devi installarlo manualmente.

6. Comando htop

htop è un visualizzatore di processi interattivo per sistemi Unix, che è simile a top ma fornisce informazioni più dettagliate. È un'applicazione in modalità testo (per console o terminali X) e richiede ncurses. htop non è installato per impostazione predefinita sulla maggior parte delle distribuzioni Linux, quindi se vuoi usarlo, devi installare htop manualmente.

Informazioni sulla RAM fisica

Se sei interessato a conoscere i moduli DIMM RAM fisici installati sul sistema, usa dmidecode (DMI Table Decoder), uno strumento per eseguire il dump del contenuto di una tabella DMI (o SMBIOS) di un computer in un formato leggibile dall'uomo. Questa tabella contiene una descrizione dei componenti hardware del sistema, nonché altre informazioni utili come i numeri di serie e la revisione del BIOS.

Per utilizzare dmidecode per visualizzare i moduli RAM fisici, utilizzare uno dei seguenti comandi:

$sudo dmidecode --type memory
$ sudo dmidecode -t 17

Esempio di output:

# dmidecode 3.0
Scanning /dev/mem for entry point.
SMBIOS 2.6 present.

Handle 0x001C, DMI type 17, 28 bytes
Memory Device
        Array Handle: 0x001A
        Error Information Handle: Not Provided
        Total Width: 72 bits
        Data Width: 64 bits
        Size: 4096 MB
        Form Factor: DIMM
        Set: None
        Locator: CPU0
        Bank Locator: DIMM01
        Type: Other
        Type Detail: Other
        Speed: 1066 MHz
        Manufacturer: Samsung
        Serial Number: 88XX8X88
        Asset Tag: AssetTagNum01
        Part Number: M888MXXXXMM8-MM8
        Rank: Unknown

Linux
  1. Utilizzo della memoria di Linux

  2. Come controllare l'utilizzo della memoria del processo con il comando pmap di Linux

  3. come controllare la dimensione dell'heap allocata per jvm da linux

  4. Come trovare l'utilizzo della memoria dell'utente in Linux

  5. Come viene riportato l'utilizzo della memoria in Linux?

Come controllare l'utilizzo della memoria in Debian 10

Come trovare i migliori processi in esecuzione in base all'utilizzo di memoria e CPU in Linux

Come controllare l'utilizzo della memoria in Linux? Usa questi 5 comandi

Come controllare l'utilizzo o l'utilizzo della CPU di Linux

Come controllare la dimensione di file e directory su Linux

Trova la dimensione della RAM in Linux