GNU/Linux >> Linux Esercitazione >  >> Linux

Come posso sapere quale processo sta usando lo scambio?

Miglioramento del comando cyberciti.biz per mostrare una risposta più concisa:

(echo "COMM PID SWAP"; for file in /proc/*/status ; do awk '/^Pid|VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | grep kB | grep -wv "0 kB" | sort -k 3 -n -r) | column -t

Un output di esempio:

COMM             PID    SWAP  
dockerd          662    2736  kB
skypeforlinux    26865  1320  kB
NetworkManager   303    1112  kB
slim             392    1028  kB
redis-server     350    204   kB

Da qui:

[a] /proc/meminfo - Questo file riporta le statistiche sull'utilizzo della memoria nel sistema. Viene utilizzato da free per segnalare la quantità di memoria libera e utilizzata (sia fisica che di scambio) sul sistema, nonché la memoria condivisa ei buffer utilizzati dal kernel. Puoi anche utilizzare gratuitamente, vmstat e altri strumenti per trovare le stesse informazioni.

[b]/proc/${PID}/smaps, /proc/${PID}/status e /proc/${PID}/stat :Usa questi file per trovare informazioni su memoria, pagine e swap usati da ogni processo usando il suo PID.

[c] smem - Questo comando (script python) riporta l'utilizzo della memoria con la memoria condivisa divisa proporzionalmente.

Inoltre puoi fare riferimento a Scopri cosa sta usando il tuo scambio

#!/bin/bash
# Get current swap usage for all running processes
# Erik Ljungstrom 27/05/2011
SUM=0
OVERALL=0
for DIR in `find /proc/ -maxdepth 1 -type d | egrep "^/proc/[0-9]"` ; do
PID=`echo $DIR | cut -d / -f 3`
PROGNAME=`ps -p $PID -o comm --no-headers`
for SWAP in `grep Swap $DIR/smaps 2>/dev/null| awk '{ print $2 }'`
do
let SUM=$SUM+$SWAP
done
echo "PID=$PID - Swap used: $SUM - ($PROGNAME )"
let OVERALL=$OVERALL+$SUM
SUM=0

done
echo "Overall swap used: $OVERALL"

Linux
  1. Come sapere se sto avviando utilizzando Uefi?

  2. Come determinare quale processo sta scrivendo su disco in Linux

  3. Come scoprire quali processi utilizzano lo spazio di swap in Linux?

  4. Come posso sapere in Linux quale processo ha inviato un segnale al mio processo

  5. Come scoprire quale processo sta usando un file in Linux?

Come estendere lo spazio di scambio utilizzando il file di scambio in Linux

Come visualizzare le informazioni di processo utilizzando Procs su Linux

Come scoprire quale programma utilizza Internet e quanto?

Se conosco il numero PID di un processo, come posso ottenere il suo nome?

Come evitare di andare in SWAP?

Come posso identificare quale processo sta creando traffico UDP su Linux?