Swap: Difference between revisions

From Halfface
Jump to navigation Jump to search
No edit summary
Line 11: Line 11:
  sudo sysctl vm.swappiness=0
  sudo sysctl vm.swappiness=0
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 PROCESS in /proc/*/; do   
  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
  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:57, 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 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