LINUX.ORG.RU
ФорумAdmin

автоматически убить процессы, перегружающие процессор


0

0

На выделенном сервере иногда httpd подглючивает и начинает жрать 100% процессорного времени вплоть до бесконечности.

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

Где взять?

Ответ на: комментарий от Valmont

Что ж, попробую... тут проблема может быть в том, что сервер используется под файлшару, то есть на него загружаются файлы и по 500мб, а это длится долго...

Я как раз поставил nginx шлюзом и если получится так, что он примет целиком POST, а потом быстро спроксит его апачу, то все будет ништяк, а вот если он начнет тянуть и выдавать ему по чайной ложке, то через 30 "seconds per process" все загнется...

Aldekein
() автор топика
Ответ на: комментарий от sdio

Ничего. Вообще ничего. Хотя в top висит:

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 32323 apache 25 0 23956 8448 3664 R 100 0.3 1:01.07 httpd

Но по признанию ps aux этот же процесс хавает всего 31.6%... О_о

Aldekein
() автор топика
Ответ на: комментарий от Aldekein

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

Или вобще использовать vsftpd под эту задачу :-)

Valmont ★★★
()
Ответ на: комментарий от Valmont

похоже все таки надо искать, где же битый скрипт уходит в цикл...


PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
555 apache 25 0 23872 8284 3608 R 10 0.3 114:38.43 httpd
561 apache 25 0 23908 8320 3624 R 10 0.3 111:16.16 httpd
808 apache 25 0 23872 8284 3608 R 10 0.3 91:07.64 httpd
2453 apache 25 0 23892 8288 3592 R 10 0.3 15:56.06 httpd
32569 apache 25 0 23896 8316 3620 R 10 0.3 130:36.13 httpd
32654 apache 25 0 23944 8424 3668 R 9 0.3 130:58.39 httpd
1143 apache 25 0 23896 8520 3816 R 7 0.3 70:31.08 httpd
2264 apache 25 0 24296 8840 3720 R 7 0.3 18:55.50 httpd
581 apache 25 0 23900 8324 3624 R 7 0.3 112:01.73 httpd
840 apache 25 0 23972 8492 3712 R 7 0.3 76:40.22 httpd
1272 apache 25 0 23956 8444 3680 R 7 0.3 60:06.83 httpd
32603 apache 25 0 23948 8372 3624 R 7 0.3 140:57.13 httpd
32724 apache 25 0 23884 8388 3672 R 7 0.3 115:54.74 httpd
722 apache 25 0 23936 8452 3688 R 7 0.3 88:48.04 httpd
1102 apache 25 0 23884 8604 3888 R 7 0.3 73:49.27 httpd
1132 apache 25 0 23976 8620 3848 R 7 0.3 70:28.76 httpd
1587 apache 25 0 23976 8452 3680 R 7 0.3 44:39.17 httpd
1589 apache 25 0 23940 8416 3680 R 7 0.3 44:27.56 httpd
2143 apache 25 0 24036 8536 3712 R 7 0.3 26:22.40 httpd
2345 apache 25 0 23880 8308 3624 R 7 0.3 18:53.36 httpd
2537 apache 25 0 23932 8424 3668 R 7 0.3 7:50.24 httpd
2672 apache 25 0 24236 8720 3660 R 7 0.3 7:51.34 httpd
2673 apache 25 0 23912 8372 3664 R 7 0.3 2:52.91 httpd
32417 apache 25 0 23996 8648 3856 R 7 0.3 178:16.91 httpd
817 apache 25 0 24232 8768 3724 R 6 0.3 80:44.94 httpd
32427 apache 25 0 23916 8388 3676 R 6 0.3 136:56.31 httpd
32593 apache 25 0 24208 8756 3720 R 6 0.3 142:01.33 httpd
2952 root 15 0 2088 1052 768 R 0 0.0 0:00.03 top
1 root 15 0 1692 592 508 S 0 0.0 0:01.88 init

это за ночь набежало. при том, что сервер частично закрыт...

Aldekein
() автор топика
Ответ на: комментарий от sdio

в этом случае сервер просто уходит в ступор...
подождал пару минут, потом нажал Ctrl+C...
В табилице top ничего не изменилось =(

Наверное напишу что-то на перл, я его хотя бы знаю. Потому что я пробовал почитать про синтаксис awk, но что-то мне это ничего не дало =(

И опять же надо найти, где все таки вылазит этот баг...

Aldekein
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.