Как понять что использует swap

Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
Ответить
Как понять что использует swap
Как понять что использует swap linux
Код
[root@sho]# free -m
             total       used       free     shared    buffers     cached
Mem:         21480      18725       2755        124        804       3852
-/+ buffers/cache:      14068       7412
Swap:         7847        772       7075



вот собственно вопрос что исполбзует 772 мб ?
Основное решение это утилита top:

Можно запустить top и нажать f - отобразится список параметров, которые он (top) может выводить. Выбери отображение SWAP - и ты увидишь какие процессы сколько данных там держат. А отсортировать по этой колонке можно нажав F.

Но если нужна именно автоматизация(судя по разделу форума):
Код

#!/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"


Использовать так: $ ./getswap.sh | sort -n -k 5

и еще одно решение:
Код
#!/bin/sh
for dir in $(find /proc/ -maxdepth 1 -type d |grep -E "[0-9]+"); do 
  pid=$(echo $dir |cut -d/ -f3)
  cmd=$(ps h -o comm -p $pid)
  swap=$(grep VmSwap $dir/status 2> /dev/null |awk '{print $2}')
  if [ ! -z $swap ] && [ $swap -ne 0 ]; then
    echo "pid: $pid command: $cmd swap: $swap KB"
  fi
done | sort -rnk6 | column -t
Страницы: 1
Ответить
Форма ответов
Текст сообщения*
:) ;) :D 8) :( :| :cry: :evil: :o :oops: :{} :?: :!: :idea:
Защита от автоматических сообщений. Введите символы, изображенные на этой картинке в поле ввода &quote;Код подтверждения&quote;.