Кто жрет своп?!

bash, perl, python и прочие интерпретируемые скрипты

Модератор: Gen1us2k

Ответить
Аватара пользователя
Raven
Бородатый сис
Бородатый сис
Сообщения: 2800
Зарегистрирован: 03 мар 2010, 15:12
ОС: RHEL 8
Откуда: Из серверной

Кто жрет своп?!

Сообщение Raven » 14 мар 2013, 22:17

Порой случается так, что нужно отследить кто конкретно начал свопить и обычными менеджерами типа top/htop/atop дела не решить. Рассекая просторы интернета наткнулся как-то на интересный скриптец, позволяющий детально увидеть что же на самом деле происходит - кто и сколько положил в своп.

Код: Выделить всё

#!/bin/bash
# Get current swap usage for all running processes
# Erik Ljungstrom 27/05/2011
# Modified by Mikko Rantalainen 2012-08-09
# Pipe the output to "sort -nk3" to get sorted output
SUM=0
OVERALL=0
for DIR in `find /proc/ -maxdepth 1 -type d -regex "^/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
    if (( $SUM > 0 )); then
        echo "PID=$PID swapped $SUM KB ($PROGNAME)"
    fi
    let OVERALL=$OVERALL+$SUM
    SUM=0
done
echo "Overall swap used: $OVERALL KB"
В выводе получается так:

Код: Выделить всё

# ./swapusage                                                                           
PID=1 swapped 92 KB (init)                                                                          
PID=573 swapped 312 KB (udevd)                                                                      
PID=2422 swapped 124 KB (auditd)                                                                    
PID=2496 swapped 324 KB (rsyslogd)                                                                  
PID=2508 swapped 92 KB (irqbalance)                                                                 
PID=2561 swapped 124 KB (dbus-daemon)                                                               
PID=2590 swapped 104 KB (acpid)                                                                     
PID=2599 swapped 308 KB (hald)                                                                      
PID=2600 swapped 180 KB (hald-runner)                                                               
PID=2628 swapped 152 KB (hald-addon-inpu)                                                           
PID=2634 swapped 268 KB (crond)                                                                     
PID=2637 swapped 140 KB (hald-addon-acpi)
PID=2655 swapped 572 KB (sshd)
PID=2663 swapped 316 KB (ntpd)
PID=3331 swapped 56 KB (abrtd)
PID=3339 swapped 92 KB (abrt-dump-oops)
PID=3386 swapped 552 KB (pure-ftpd)
PID=3388 swapped 400 KB (pure-authd)
PID=3407 swapped 124 KB (atd)
PID=3432 swapped 36 KB (sys-snap.sh)
PID=3707 swapped 1336 KB (cphulkd)
PID=3730 swapped 13284 KB (cpdavd)
PID=3749 swapped 1780 KB (queueprocd)
PID=3788 swapped 900 KB (cpanellogd)
PID=4284 swapped 4248 KB (python)
PID=4321 swapped 68 KB (mingetty)
PID=4323 swapped 68 KB (mingetty)
PID=4325 swapped 64 KB (mingetty)
PID=4327 swapped 64 KB (mingetty)
PID=4329 swapped 68 KB (mingetty)
PID=4331 swapped 68 KB (mingetty)
PID=4336 swapped 272 KB (udevd)
PID=17411 swapped 156 KB (crond)
PID=24577 swapped 20 KB (screen)
PID=28021 swapped 268 KB (udevd)
Overall swap used: 27032 KB
надеюсь будет полезен))
Я не злопамятный, я просто часто ковыряю логи
Аватара пользователя
Infernal Flame
Злой Модер
Сообщения: 1796
Зарегистрирован: 03 мар 2010, 11:25
ОС: Centos 7
Контактная информация:

Re: Кто жрет своп?!

Сообщение Infernal Flame » 15 мар 2013, 11:41

Шикааааарно! Теперь точно можно будет "вредителя" вычислить
Изображение
Изображение
Work: Centos 7 х 'all Servers'
Аватара пользователя
Raven
Бородатый сис
Бородатый сис
Сообщения: 2800
Зарегистрирован: 03 мар 2010, 15:12
ОС: RHEL 8
Откуда: Из серверной

Re: Кто жрет своп?!

Сообщение Raven » 15 мар 2013, 22:44

Кстати сильно выручает при тюнинге apache и mysql.
Я не злопамятный, я просто часто ковыряю логи
Аватара пользователя
Gen1us2k
Модератор
Модератор
Сообщения: 771
Зарегистрирован: 02 мар 2010, 16:13

Re: Кто жрет своп?!

Сообщение Gen1us2k » 19 мар 2013, 08:01

в топе же можно посмотреть.
Изображение
Home: Windows Heaven
Home: Debian 6
For Servers: Debian || RHEL Based || Gentoo || FreeBSD
Аватара пользователя
Raven
Бородатый сис
Бородатый сис
Сообщения: 2800
Зарегистрирован: 03 мар 2010, 15:12
ОС: RHEL 8
Откуда: Из серверной

Re: Кто жрет своп?!

Сообщение Raven » 19 мар 2013, 09:31

Gen1us2k писал(а):в топе же можно посмотреть.
бывает так, что и топ не запустишь. На кастрированных по самое не хочу ВПС-ках особенно. Ну и вывод top не настолько информативен в этой части.
Я не злопамятный, я просто часто ковыряю логи
Ответить

Вернуться в «Скрипты»