hydro-project / anna

A low-latency, cloud-native KVS
Apache License 2.0
702 stars 106 forks source link

anna-monitor and anna-kvs consistently hover around 100% (+/- 5%) CPU when idle #50

Open WildCryptoFox opened 4 years ago

WildCryptoFox commented 4 years ago

htop extract

 VIRT   RES   SHR S CPU% MEM%   TIME+  Command
95220  9564  6940 R 98.9  0.1  0:07.61 ./build/target/kvs/anna-monitor
96332 10856  7172 R 98.2  0.1  0:07.49 ./build/target/kvs/anna-kvs
96020 10712  7052 S  0.0  0.1  0:00.00 ./build/target/kvs/anna-route

strace output for anna-monitor and anna-kvs respectively. These loop tightly with immediate timeouts despite no clients / no load.

poll([{fd=11, events=POLLIN}, {fd=13, events=POLLIN}, {fd=15, events=POLLIN}], 3, 0) = 0 (Timeout)
poll([{fd=11, events=POLLIN}], 1, 0)    = 0 (Timeout)
poll([{fd=13, events=POLLIN}], 1, 0)    = 0 (Timeout)
poll([{fd=15, events=POLLIN}], 1, 0)    = 0 (Timeout)
poll([{fd=15, events=POLLIN}, {fd=17, events=POLLIN}, {fd=19, events=POLLIN}, {fd=21, events=POLLIN}, {fd=23, events=POLLIN}, {fd=25, events=POLLIN}, {fd=27, events=POLLIN}, {fd=29, events=POLLIN}, {fd=31, events=POLLIN}], 9, 0) = 0 (Timeout)
poll([{fd=15, events=POLLIN}], 1, 0)    = 0 (Timeout)
poll([{fd=17, events=POLLIN}], 1, 0)    = 0 (Timeout)
poll([{fd=19, events=POLLIN}], 1, 0)    = 0 (Timeout)
poll([{fd=21, events=POLLIN}], 1, 0)    = 0 (Timeout)
poll([{fd=23, events=POLLIN}], 1, 0)    = 0 (Timeout)
poll([{fd=25, events=POLLIN}], 1, 0)    = 0 (Timeout)
poll([{fd=27, events=POLLIN}], 1, 0)    = 0 (Timeout)
poll([{fd=29, events=POLLIN}], 1, 0)    = 0 (Timeout)
poll([{fd=31, events=POLLIN}], 1, 0)    = 0 (Timeout)