Linux find what processes are swapping

Here is a handy script that will check all processes and report what is swapping

#!/bin/bash
for pid in `ps x|awk '{print $1}'`; do
result=`cat /proc/$pid/status|grep VmSwap|awk '{print $2}'|grep -v ^"0"`
if [ ! -z "$result" ]; then
 programresult=`ps x|grep $pid|grep -v grep`
 if [ $? == 0 ]; then
     program=`echo $programresult|awk '{print $5}'|grep -v ^grep`
 fi
 echo "$pid $program swap = $result kB"


fi
done

You can also pipe the output like this to sort the largest swap processes:

|sort -nr -k4

 

The old way that never worked very well:

 

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  SWAP COMMAND      
 7371 on       20   0 1558m 1148  740 S    0  0.0   0:00.02 1.5g services.exe 
 7369 on       20   0 1558m 1084  708 S    0  0.0   0:00.02 1.5g wineboot.exe

Run top then press 'O' (capital letter o) followed by 'p' then 'enter'. Now processes should be sorted by their swap usage.

 


Tags:

linux, processes, swappinghere, swapping, bin, bash, pid, ps, awk, proc, grep, vmswap, quot, z, programresult, echo, fi, swap, kb, output, largest, nr, user, pr, ni, virt, res, shr, cpu, mem, exe, wineboot, sorted, usage,

Latest Articles

  • VMWare Pro Workstation Nic Disconnected and No IP Using NAT
  • Linux How To Create A RamDisk
  • mdadm force resync when resync=PENDING solution
  • Proxmox Breaks Storage/LVM Backing If Killing QEMU-IMG
  • Proxmox trying to acquire lock... TASK ERROR: can't lock file '/var/lock/qemu-server/lock-102.conf' - got timeout
  • Debian 9 SSH root password authentication failure password not working problem / solution
  • QEMU / KVM How To Manually Create Basic Virtual Machine VM
  • Linux wlan0 check all wireless clients
  • PHP Issues With Decoding Strange Smart Quotes And Non-Standard ASCII Characters
  • /etc/iproute2/rt_tables default settings file in Linux Centos 6,7 and most other NIX's
  • bind named error solutions named[2169]: error (no valid DS) resolving / error (broken trust chain) resolving / : error (no valid RRSIG) resolving 'com/DS/IN':
  • iptables how to log ALL dropped incoming packets
  • How To Edit Linux Based NM Network Manager Connection Settings Without GUI
  • Linux Disable IPV6 Centos / Debian / Mint Howto
  • Linux use growisofs to burn a larger file on a BD-R / Bluray Disc
  • Linux partprobe/partx cannot access last and 4th partition
  • DRBD Errors Caused By Physical Corruption
  • mdadm: add new device failed for /dev/sdb4 as 3: Invalid argument solution
  • Linux named / bind how to dump, view and clear the cache!
  • Centos 6 / 7 / 8 How To Change Default nameservers in /etc/resolv.conf when using DHCP / dhclient