I have some 'figures' comparing utserver and rtorrent mem and cpu consumption. Please notice the excessive CPU usage from utserver, and the exponatial difference in mem usage (Resident). After 2-3 days of running utserver, I realised that I would prefer higher memory usage, than such a cpu cruncher... USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND t3ngu 14546 99.7 0.0 177316 2020 pts/3 Sl+ Sep18 3661:38 ./utserver t3ngu 16217 0.3 0.7 162632 28976 pts/8 S+ Sep20 4:49 rtorrent Notice please on strace log below, it takes almost a second for futex_wait_private, while in few seconds of tracing, there are so many get time, and get date calls... strace: 0.000000 [ f76f6425] restart_syscall(<... resuming interrupted call ...>) = 0 <0.623719> 0.641303 [ f76f6425] futex(0xf43206ac, FUTEX_WAKE_PRIVATE, 1) = 0 <0.000027> 0.000263 [ f76f6425] futex(0x80f0008, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource temporarily unavailable) <0.000029> 0.000284 [ f76f6425] futex(0x80f0008, FUTEX_WAKE_PRIVATE, 1) = 0 <0.000020> 0.000105 [ f76f6425] stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2917, ...}) = 0 <0.000023> 0.000189 [ f76f6425] stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2917, ...}) = 0 <0.000018> 0.000114 [ f7684e16] clock_gettime(CLOCK_MONOTONIC, {97632, 600539704}) = 0 <0.000017> 0.000101 [ f76f6425] gettimeofday({1284933925, 828857}, NULL) = 0 <0.000018> 0.000087 [ f76f6425] clock_gettime(CLOCK_REALTIME, {1284933925, 828945359}) = 0 <0.000018> 0.000092 [ f76f6425] futex(0xf43206c8, FUTEX_WAIT_PRIVATE, 192101, {59, 999911641}) = 0 <0.998708> 0.999125 [ f76f6425] futex(0xf43206ac, FUTEX_WAKE_PRIVATE, 1) = 0 <0.000044> 0.000277 [ f76f6425] futex(0x80f0008, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource temporarily unavailable) <0.000020> 0.000127 [ f76f6425] futex(0x80f0008, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource temporarily unavailable) <0.000019> 0.000097 [ f76f6425] futex(0x80f0008, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource temporarily unavailable) <0.000018> 0.000092 [ f76f6425] futex(0x80f0008, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource temporarily unavailable) <0.000018> 0.000090 [ f76f6425] futex(0x80f0008, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource temporarily unavailable) <0.000018> 0.000090 [ f76f6425] futex(0x80f0008, FUTEX_WAKE_PRIVATE, 1) = 0 <0.000018> 0.000100 [ f76f6425] stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2917, ...}) = 0 <0.000036> 0.000159 [ f76f6425] stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2917, ...}) = 0 <0.000021> 0.000123 [ f7684e16] clock_gettime(CLOCK_MONOTONIC, {97633, 601100131}) = 0 <0.000018> 0.000097 [ f76f6425] gettimeofday({1284933926, 829414}, NULL) = 0 <0.000018> 0.000099 [ f76f6425] clock_gettime(CLOCK_REALTIME, {1284933926, 829519271}) = 0 <0.000019> 0.000098 [ f76f6425] futex(0xf43206c8, FUTEX_WAIT_PRIVATE, 192103, {59, 999894729}) = 0 <0.998127> 0.998388 [ f76f6425] futex(0xf43206ac, FUTEX_WAKE_PRIVATE, 1) = 0 <0.000033>