GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana saya bisa tahu proses mana yang menggunakan swap?

Meningkatkan perintah cyberciti.biz untuk menampilkan jawaban yang lebih ringkas:

(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

Contoh keluaran:

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

Dari sini:

[a] /proc/meminfo - File ini melaporkan statistik tentang penggunaan memori pada sistem. Ini digunakan oleh free untuk melaporkan jumlah memori bebas dan terpakai (baik fisik maupun swap) pada sistem serta memori bersama dan buffer yang digunakan oleh kernel. Anda juga dapat menggunakan alat gratis, vmstat, dan lainnya untuk menemukan informasi yang sama.

[b]/proc/${PID}/smaps, /proc/${PID}/status, dan /proc/${PID}/stat :Gunakan file-file ini untuk menemukan informasi tentang memori, halaman, dan swap yang digunakan oleh setiap proses menggunakan PID-nya.

[c] smem - Perintah ini (skrip python) melaporkan penggunaan memori dengan memori bersama yang dibagi secara proporsional.

Anda juga dapat merujuk Cari tahu apa yang menggunakan swap Anda

#!/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. Bagaimana Mengetahui Jika Saya Melakukan Booting Menggunakan UEFA?

  2. Cara Menentukan Proses Yang Menulis ke Disk di Linux

  3. Bagaimana cara mengetahui proses mana yang menggunakan ruang swap di Linux?

  1. Bagaimana Mengetahui Distribusi Linux Yang Anda Gunakan?

  2. Bagaimana cara mengetahui proses mana yang menggunakan file di Linux?

  3. Bagaimana mencegah pergi ke SWAP?

  1. Bagaimana cara mematikan proses di Linux menggunakan perintah?

  2. Bagaimana saya bisa tahu di Linux proses mana yang mengirim sinyal ke proses saya

  3. Bagaimana saya bisa mengetahui jalur absolut dari proses yang sedang berjalan?