Dimanych

Рейтинг
155
Регистрация
05.06.2007

top не подменен, писал в самом начале, по умолчанию сортировка по CPU, если даже принудительно сортировать, толку нет, да и что сортирвоать если отдельные процессыкоторые всегда нагружены - по нулям. Тут грубо говоря глюк в том, как top получает информацию о нагрузке по отдельным процессам. Ладно, буду перезагружать все сервера завтра... эх

Romka_Kharkov, да знаю я что они бывают, но яж говорю именно про вариант ТС. А для справления с высокими нагрузками конечно можно сделать круговорот данных из сколько угодно мастеров, главное синхронизировать.

debian 6, писал выше если что,

с UID это мои настройки в toprc,

без toprc, таже история, у всех процессов 0%, irix mode 0.0%

Кернель обновлялся как раз пару раз, но так как перезагрузка в моих сервисах крайне не рекомендуется, обновление кернеля для меня не повод к перезагрузке. И есть ещё десяток серверов копий этого, но с топом там проблем таки нет, вот выделился негодяй ;)

myhand, можно подробнее про тридевять способов? До сих пор ищу, но не один не удовлетворяет так как itk.

madoff Я чесно сказать тоже не понял вопроса, откуда там 5 мастеров, вы слышали про такие слова как proxy/nginx? В идеале мастер от слова главный - всегда 1 )

coolwebsearcher:
Dimanych, при запущенном top нажать 1 - тогда загрузка будет показываться по каждому cpu (если правильно понял что требуется).

Нет, требуется определение нагрузки по процессам. Не сортируется, либо не определяется.

myhand:
Я не знал, что setsid - стандартная утилита.
Это фича. Вы бы хотели, чтобы все что апачи наплодили - по-умолчанию не прибивалось?
Не понял. Колонку что-ли не показывает? Или по значениям в колонке не сортирует?

В любом случае - проверьте ~/.toprc (и /etc/toprc, если создали).

Ман почитать, ы?

Отвечаю по порядку, если практически на голой ОС утилита установлена, для меня она стандартная.

По умолчанию они не должны висеть, на то процесс и родитель, но не думал что так не просто будет найти решение, в инете полно тем от тех кто не может найти решение этой задачки.

Да вот вся фишка в том что столбец CPU для всех процессов ВСЕГДА 0,

.toprc спецом удалил, конфига на него в /etc нет.

И причём тут вообще man, там есть информация о технических проблемах top? Удивили.

top - 02:18:36 up 221 days, 5:12, 1 user, load average: 5.69, 6.35, 6.76
Tasks: 251 total, 2 running, 249 sleeping, 0 stopped, 0 zombie
Cpu(s): 1.9%us, 2.8%sy, 8.2%ni, 76.2%id, 10.5%wa, 0.0%hi, 0.4%si, 0.0%st
Mem: 8190820k total, 7937268k used, 253552k free, 568496k buffers
Swap: 2102456k total, 46652k used, 2055804k free, 5428316k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ UID COMMAND
1 root 20 0 8352 624 592 S 0 0.0 2:24.55 0 init
2 root 20 0 0 0 0 S 0 0.0 0:00.00 0 kthreadd
3 root RT 0 0 0 0 S 0 0.0 0:33.16 0 migration/0
4 root 20 0 0 0 0 S 0 0.0 7:05.88 0 ksoftirqd/0
5 root RT 0 0 0 0 S 0 0.0 0:00.00 0 watchdog/0
6 root RT 0 0 0 0 S 0 0.0 0:14.05 0 migration/1
7 root 20 0 0 0 0 S 0 0.0 3:50.23 0 ksoftirqd/1
8 root RT 0 0 0 0 S 0 0.0 0:00.00 0 watchdog/1
9 root RT 0 0 0 0 S 0 0.0 0:07.58 0 migration/2
10 root 20 0 0 0 0 S 0 0.0 3:29.33 0 ksoftirqd/2
11 root RT 0 0 0 0 S 0 0.0 0:00.00 0 watchdog/2
12 root RT 0 0 0 0 S 0 0.0 0:04.24 0 migration/3
13 root 20 0 0 0 0 S 0 0.0 3:29.05 0 ksoftirqd/3
14 root RT 0 0 0 0 S 0 0.0 0:00.00 0 watchdog/3
15 root RT 0 0 0 0 S 0 0.0 0:13.08 0 migration/4
16 root 20 0 0 0 0 S 0 0.0 3:25.48 0 ksoftirqd/4

А думая что просто сортировка не раюотает, это не так, nginx шпарит как надо, а у него по нулям:

top -u www
top - 02:19:25 up 221 days, 5:13, 1 user, load average: 5.36, 6.18, 6.68
Tasks: 244 total, 6 running, 238 sleeping, 0 stopped, 0 zombie
Cpu(s): 1.9%us, 2.8%sy, 8.2%ni, 76.2%id, 10.5%wa, 0.0%hi, 0.4%si, 0.0%st
Mem: 8190820k total, 7922064k used, 268756k free, 567320k buffers
Swap: 2102456k total, 46652k used, 2055804k free, 5382340k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ UID COMMAND
31486 www 20 0 113m 86m 1688 S 0 1.1 0:00.00 1001 nginx
31487 www 20 0 113m 86m 1668 S 0 1.1 0:00.00 1001 nginx
31488 www 20 0 113m 86m 1668 S 0 1.1 0:00.00 1001 nginx
31489 www 20 0 113m 86m 1684 S 0 1.1 0:00.00 1001 nginx

Предполагаю что нужно просто ребутнуть, но не хочется этого делать. (up 221 days)

blackcats:
round-robin это дословно движение по кругу,
а если он отправит запрос к серверу который недоступен?

так что опять не вариант

Да почему же не вариант, самое безболезненное и дешёвое решение ;)

Распределить нагрузку сразу по всем серверам, а при полной хитрости ещё и по десяткам IP, которые при желании можно будет отключать без проблем даже автоматически, также, в зависимости от доса он либо распределится и будет подавлен, либо пойдёт на 1 сервер(IP), который можно исключить из DNS моментом, и те что там зарезольвились начнут подключаться где-то через 4 часа на новые сервера.

Это будет самое безболезненное решение, так как только часть клиентов (а точнее = посетители/кол-во IP) потеряеют доступ на короткий промежуток времени, и то не факт что полностью ;) Если я в чём то ошибаюсь, поправьте)

Давайте жить дружно)

Вообщем всё работает, ничего ставить лишнего не надо, велосипед хороший получился:

/usr/bin/setsid ./script > /dev/null 2>&1 &

А меня так бесило что апач перезапустить нельзя потому что всё падает, теперь такой проблемы нет.

Чтоб не создавать тему, почему top может не показывать нагрузку CPU по процессам? Т.е. он показывает общую нагрузку, а по процессам не хочет, думал дело в сортировке, нет, не сортирует по CPU при нажатии на "P". А например в atop показывает нагрузку CPU и по проге и по юзеру. Думал может вирь какой с подменой топа, но нет других топов, тот что у меня он идентичен тому что лежит на соседнем сервере где всё работает.

Что может быть с ним такое? Перезагружать сервер лишний раз не хочется. Копаться в исходниках top как-то тоже) Уже даже залез в /proc/<pid>/stat и процессорное время там вроде меняется, что с топом не пойму (

А ещё не факт что днс сервер также не будет отвечать как и www, многож ему не надо, нужно отрубать его в случае если перегрузка канала и идёт плохая отдача www. Система не очень всё таки. Лучше round-robin DNS.

Во блин, чем дальше тем интереснее, тоже должно сработать, вечерком проверю...

и at не надо ставить...

NAME
setsid - run a program in a new session
SYNOPSIS
setsid program [arg...]
Всего: 830