Я использую сервер Ubuntu 14.04 (8 ядер, 16 ГБ ОЗУ) для размещения веб-сайта PHP, MySQL и Redis. PHP и MySQL имеют очень низкий трафик (MySQL: количество запросов в секунду: 0,825). Redis обрабатывает 8011 команд в секунду.Ubuntu 14.04 nc 100% загрузка процессора
Сегодня я заметил, что н.д. остается в верхней части top
:
8348 root 20 0 11224 764 624 R 100.0 0.0 2277:01 nc
8319 root 20 0 11224 760 624 R 100.0 0.0 2277:59 nc
8324 root 20 0 11224 764 624 R 100.0 0.0 2278:09 nc
8344 root 20 0 11224 760 624 R 100.0 0.0 2277:07 nc
Stracing н.д. дает:
[email protected]:/home/user# strace -p 8348
Process 8348 attached
poll([{fd=3, events=POLLIN}, {fd=-1}], 2, 1000) = 1 ([{fd=3, revents=POLLERR}])
poll([{fd=3, events=POLLIN}, {fd=-1}], 2, 1000) = 1 ([{fd=3, revents=POLLERR}])
poll([{fd=3, events=POLLIN}, {fd=-1}], 2, 1000) = 1 ([{fd=3, revents=POLLERR}])
intentionally cutted N lines from output
Быстрый поиск по man poll
дает мне информацию, что poll waits for one of a set of file descriptors to become ready to perform I/O.
Как я узнаю, что происходит с файловыми дескрипторами (это проблема с файловыми дескрипторами?) и исправить nc, дойдя до 100% процессора?
Спасибо, что я использую ваш случай точно так же. Это полностью отвечает на то, как исправить nc, используя 100% CPU. – Aivaras