Использование VM

1 2345 6
P
На сайте с 08.03.2007
Offline
250
#31
myhand:
Есть. У него куча колонок, которых он не показывает. "Если чо" (с)

Как посмотреть колонку, в которой отображается занимаемое процессом место в свопе?

M
На сайте с 16.09.2009
Offline
278
#32

man top. или нажмите ? - там откроется справка

Только там не отображается swap. Показатель, скорее, близок к тому что могло бы быть в свопе. Как я уже обратил внимание, в smaps он не смотрит (даже под рутом).

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
P
На сайте с 08.03.2007
Offline
250
#33
myhand:
man top. или нажмите ? - там откроется справка

Только там не отображается swap. Показатель, скорее, близок к тому что могло бы быть в свопе. Как я уже обратил внимание, в smaps он не смотрит (даже под рутом).

Вот в том то и дело, что эта колонка к свопу имеет небольшое отношение, точнее реально вообще не имеет. В мане точно определяется - разница между виртуальной и физической памятью. Свопа в системе вообще может не быть, а такая разница будет иногда ненулевой.

S0
На сайте с 24.06.2007
Offline
84
#34

netwind,

ну по идеи кеш акселератора не может быть вытеснен - к нему же постоянно должны идти обращения. Также установлен shm_ttl и shm_prune_period и еще tmpwatch есть, тоже чистит.

Почему решил использовать tmpfs, нашел статьи где рекомендуют все такое (php сессии, временные файлы mysql, кеши php акселератора) засунуть именно туда. Насчет mysql-slow, решил его сюда положить, чтобы уменьшить нагрузку на hdd, хотя думаю его вообще выключить (также в /dev/null отправляю логи exim, с недавнего времени отключил логи httpd).

Почему не сделал через shm - апач не стартует, если вписать shm_size более 1024МБ (1ГБ очень быстро заполнялся и я думал, что надо гораздо больше). Но сейчас стоит 4096МБ, хотя используется где-то до 1,5ГБ.

По поводу кешей, Вы уже советовали уменьшить key_buffer_size, может еще что-то уменьшу в my.cnf - попробовать можно, а там видно будет. Ну это уже ночью или завтра, т.к. бекап еще идет.

myhand,

Из-под рута есть доступ во все эти smaps, и скрипт запускаю также из-под рута.

M
На сайте с 16.09.2009
Offline
278
#35
Pilat:
Вот в том то и дело, что эта колонка к свопу имеет небольшое отношение, точнее реально вообще не имеет.

Имеет, название. Ну, на самом деле - чуть больше чем название, если подумать ;)

А так, да. Видимо остается подождать, когда top научится читать VmSwap из /proc/<pid>/status. Это поле добавили уже в 2.6.34.

stepan007:
myhand,
Из-под рута есть доступ во все эти smaps, и скрипт запускаю также из-под рута.

Странно, этот файлик добавили в 2.6.14. И вроде в Centos 5 я поля Swap: в файлике вижу.

Попробуйте так:

#!/bin/sh

# Get current swap usage for all running processes
OVERALL=0
if ! cat 1>/dev/null 2>&1 < /proc/1/smaps
then
echo "Can't access to /proc/<pid>/smaps, exiting" >&2
exit 1
fi
printf "Swap usage[kB]\tProcess[PID]\n"
printf "============================\n"
for PID in $(find /proc -maxdepth 1 -type d -name '[0-9]*' -printf "%f\n")
do
PROGNAME=`ps -p $PID -o comm --no-headers`
SUM=$(awk '/^Swap/{s=s+$2}END{print s}' /proc/$PID/smaps 2>/dev/null)
if [ "$SUM" != "0" -a -n "$SUM" ]
then
printf "$SUM\t\t$PROGNAME[$PID]\n"
OVERALL=$(($OVERALL + $SUM))
fi
done
printf "============================\n"
echo "Overall swap used: $OVERALL kB"
S0
На сайте с 24.06.2007
Offline
84
#36
myhand:
Попробуйте так:

Swap usage[kB] Process[PID]

============================

find: missing argument to `-printf'

./proc_swap.sh: line 22: fg: no job control

============================

Overall swap used: 0 kB

Что-то я вообще не понял, в той строке выводится только "=======".

Прошу также подсказать по nginx - ссылка. Тестировал siege на разные урлы, все http ответы 200 ok. Возможно, это блокируются плохие айпишники - стоит csf и в нем включено получение и фильтрация IP по feeds.dshield.org/block.txt, spamhaus.org/drop/drop.lasso и cymru.com/Documents/bogon-bn-agg.txt.

И еще такой вопрос есть, у меня временные файлы mysql создаются в tmpfs /dev/shm. Соответственно, строчки max_heap_table_size = 256M и tmp_table_size = 256M можно вообще убрать?

M
На сайте с 16.09.2009
Offline
278
#37
stepan007:

find: missing argument to `-printf'

Что-то вы накопипастили не полностью/не то. Проверьте.

stepan007:
Прошу также подсказать по nginx - ссылка.

Может backlog на бакенде переполнился, потому соединения не происходит. Каков конфиг апача?

P
На сайте с 08.03.2007
Offline
250
#38
myhand:

А так, да. Видимо остается подождать, когда top научится читать VmSwap из /proc/<pid>/status. Это поле добавили уже в 2.6.34.

Время сбора информации по свопу этим скриптом довольно большое, так что в реальной системе с кучей процессов будет вообще неприемлемо долго, так что в top могут и не включить. Разве что в vmtop какой-нибудь.

Raistlin
На сайте с 01.02.2010
Offline
247
#39
stepan007:
к нему же постоянно должны идти обращения.

Нет. Далеко не всегда так. Хотя в вашем случае, скорее всего, он тоже не может быть вытеснен, вместе с таблицами MySQL (вообще БД как правило в кеш влетают за здорово живешь и без всяких ухищрений).

stepan007:
Возможно, это блокируются плохие айпишники - стоит csf

Невозможно. csf блочит на уровне iptables, т.е. в логах вы эти айпишники не увидите после блока.

HostAce - Асы в своем деле (http://hostace.ru)
S0
На сайте с 24.06.2007
Offline
84
#40
myhand:
Что-то вы накопипастили не полностью/не то. Проверьте.

Извиняюсь, теперь работает без ошибок. Но сейчас в свопе ничего нет, перезапустил mysqld.

Выставил key_buffer_size в 4ГБ (-2ГБ, т.к. если и свопило, то до 2ГБ в основном), а также закомментировал max_heap_table_size = 256M и tmp_table_size = 256M (хотя сам не знаю зачем). Отключил лог медленных запросов. Еще уменьшил в httpd maxrequestperchild, было 10240, сейчас 250 - в итоге график в munin стал нормальным, может память именно в связке с eaccelerator утекает непонятно куда, и раньше оно долго держало процесс открытым, а сейчас его быстро закрывает по этому лимиту.

График прикрепил.

myhand:

Может backlog на бакенде переполнился, потому соединения не происходит. Каков конфиг апача?

Конфиг апача тоже прикрепил. Сейчас в среднем больше 200 free slots, а еще idle slots.

Raistlin:
Нет. Далеко не всегда так. Хотя в вашем случае, скорее всего, он тоже не может быть вытеснен, вместе с таблицами MySQL (вообще БД как правило в кеш влетают за здорово живешь и без всяких ухищрений).

Сейчас 19ГБ cached, как раз если будет все держаться в кеше и не будет лезть в swap - будет все нормально. Сейчас la 1-1,5 - давно я такого не видел.

Raistlin:
Невозможно. csf блочит на уровне iptables, т.е. в логах вы эти айпишники не увидите после блока.

Да, тут как-то не подумал. Ну тогда даже не знаю, на что грешить.

txt httpd.txt
png httpdram.png
1 2345 6

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий