Swap: Difference between revisions

From Halfface
Jump to navigation Jump to search
Line 2: Line 2:
Start top and press O then p to sort by swap.
Start top and press O then p to sort by swap.
  top -c
  top -c
Look at what is using swap. si and so is swap in and swap out.
Look to see if any swap is being used. si and so is swap in and swap out.
  vmstat 1
  vmstat 1
To return swap to ram.
To return swap to ram.
Line 12: Line 12:
sort processes on swap usage.
sort processes on swap usage.
  for file in /proc/*/status ; do awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | sort -k2 -n | tail
  for file in /proc/*/status ; do awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | sort -k2 -n | tail
for PROCESS in /proc/*/; do  swapused=$(awk 'BEGIN { total = 0 } /^Swap:[[:blank:]]*[1-9]/ { total = total + $2 } END { print total }' ${PROCESS}/smaps 2>/dev/null || echo 0);  if [ $swapused -gt 0 ]; then    /bin/echo -e "${swapused}k\t$(cat ${PROCESS}/cmdline)";  fi; done | sort -nr

Revision as of 09:53, 11 September 2019

How to handle swappiness

Start top and press O then p to sort by swap.

top -c

Look to see if any swap is being used. si and so is swap in and swap out.

vmstat 1

To return swap to ram.

swapoff -a; swapon -a

See swappiness value.

cat /proc/sys/vm/swappiness

To set swippiness value.

sudo sysctl vm.swappiness=0

sort processes on swap usage.

for file in /proc/*/status ; do awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | sort -k2 -n | tail
for PROCESS in /proc/*/; do   swapused=$(awk 'BEGIN { total = 0 } /^Swap:blank:*[1-9]/ { total = total + $2 } END { print total }' ${PROCESS}/smaps 2>/dev/null || echo 0);   if [ $swapused -gt 0 ]; then     /bin/echo -e "${swapused}k\t$(cat ${PROCESS}/cmdline)";   fi; done | sort -nr