Ich benutze Ubuntu 14.04 Server (8 Kerne, 16 GB RAM) zum Hosten einer PHP-Website, MySQL und Redis. PHP Web und MySQL hat sehr wenig Verkehr (MySQL: Abfragen pro Sekunde Durchschnitt: 0,825). Redis verarbeitet 8011 Befehle pro Sekunde.Ubuntu 14.04 nc 100% CPU-Auslastung
Heute habe ich bemerkt, dass nc in der Spitze top
bleibt:
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 nc gibt:
[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
Eine schnelle Suche auf man poll
gibt mir Informationen, dass poll waits for one of a set of file descriptors to become ready to perform I/O.
Wie finde ich heraus, was mit Dateideskriptoren passiert (ist es ein Problem mit Dateideskriptoren?) und fixiere nc, das 100% CPU verbraucht?
Vielen Dank mein Anwendungsfall ist genau das gleiche. Dies beantwortet vollständig, wie man nc mit 100% CPU reparieren kann. – Aivaras