CrewCut
@CrewCut
Коплю силы на переезд в тропики

Как понять причину высокой нагрузки на оперативную память на сервере Ubuntu 14?

Есть сервер на Digital Ocean, 2гб оперативки + swap на 8гб. Сайт не особо тяжелый, посетителей не сильно много. Работал спокойно больше полугода, вдруг начались дикие нагрузки на процессор. Через top вижу стабильно картину, что процесс kswapd0 сжирает весь процессор.

Как я понимаю, этот процесс отвечает за то, что если не хватает оперативной памяти чтобы она бралась из физической. Но как понять почему вдруг ни с того, ни с сего выросла нагрузка? Перезагрузка сервера/апача не дает результат, хотя иногда помогает. Проблема длится уже второй день. Иногда перезагрузишь и всё нормально на несколько часов, потом опять тоже самое начинается.

В администрировании серверов толком ничего не понимаю, то что нагуглил не помогает. Как понять какой файл берет на себя всю оперативку, в чем может быть дело, если ничего не менялось, но вдруг появилась такая картина?
  • Вопрос задан
  • 779 просмотров
Решения вопроса 1
CrewCut
@CrewCut Автор вопроса
Коплю силы на переезд в тропики
Спасибо за ответы, особенно pcdesign . Решил проблемы переустановкой всей системы. Так и не понял в чем была причина, но времени разбираться уже не было.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
karabanov
@karabanov Куратор тега Ubuntu
Системный администратор
Я вот так вычисляю, кто сожрал SWAP:
zend@work:work$ cat get_swap.sh 
#!/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

if [ $SUM != 0 ]; then
echo "PID=$PID - Swap used: $SUM - ($PROGNAME )"
let OVERALL=$OVERALL+$SUM
fi

SUM=0

done
echo "Overall swap used: $OVERALL"
zend@work:work$
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы