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

  • Cisco Unified Communications Manager / CUCM IP 8.6,10,12 Install Error Solution
  • Ubuntu Debian Mint Linux SSHD OpenSSH Server Not Starting After Reboot Solution
  • nmap how to scan for all ports and not just the 1000 most common ports
  • Windows 7,8,10 and Server 2008, 2012, 2016, 2019 Read Only Attribute Won't Go Away
  • bind / named how to make a wildcard record and retain defined A records
  • Cisco Unified Communications Manager 12 Install Errors on Proxmox/KVM
  • Local Vs Universally Administered MAC Address NIC Refuses to come up
  • Cisco Unified Communications Manager 12 CUCM 12 - How To Enable Video Calling
  • Windows 7, 8, 10, Windows Server 2008, 2012, 2016, 2019 How To AC97 Audio Drivers and Other Unsigned Drivers
  • Cisco Unified Communications Manager / CUCM IP Telephony Definitions
  • tftp Linux xinetd verbose logging
  • Linux delete unused tap devices automatically
  • Linux qemu-kvm How To Enable Soundcard in Guestl
  • QEMU-KVM Windows and Server Guest Installs Mouse Tracking Pointer Location Solution
  • SSH Keep Alive To stop Disconnections
  • Linux How To Disable SATA NCQ For Better Performance
  • the sign-in method you're trying to use isn't allowed. For more info, contact your network administrator - solution for active directory
  • gsmartcontrol for Windows to Check the SMART S.M.A.R.T status
  • WebRTC Vulnerability Shows Local IP Address Even When Using a Proxy or VPN Firefox Fix And Disable Solution
  • chroot in Linux Howto Simple and Easy Guide