I am testing srt-live-transmit to 4 different destinations and on one of them the other side is not listening for SRT and I have noticed that the CPU utilizations according to top is couple of times higher compared to the other three SRT links which are operational. Actually, the CPU utilization on this link is going up slowly. So normally it is 4 - 5% for my normal SRT links and this link is already at 50%.
It is important to note that this machine has 16 cores and currently the total load it 0.38 only but I think it is not normal the CPU load to be so high on this process only. And while I was writing it, the CPU load went up to 67%.
This is the command I used to start it:
srt-live-transmit udp://225.0.0.0:3000 srt://IP.AD.DR.ESS:2000 &> ../logs/srt/srt_log.txt &
I am running it on Ubuntu 18.10 with kernel 4.18.0-15-generic x86_64 and my SRT version is 1.3.1.
Hi @stoyanovgeorge,
Please try the latest SRT release v.1.3.2 instead of v.1.3.1.
@maxlovic I have updated to v.1.3.2 but this issue is still here. You can try to reproduce the issue by setting srt-live-transmit in caller mode to some closed port or to some host who doesn't listen for SRT incoming connections.
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
31108 user+ 20 0 10.3g 13932 4792 S 23.6 0.1 1:09.90 srt-live-transm
30960 user+ 20 0 394856 7744 4792 S 4.7 0.0 0:26.10 srt-live-transm
Please note that I have started PID: 31108 like 5 minutes ago and the CPU load is already 23.6% vs. 4.7% for the other process.
30960 pts/1 Sl 0:30 srt-live-transmit udp://225.0.0.0:3000 srt://91.92.93.94:2000 -v -r:1000 -s:1000
31108 pts/1 Sl 1:39 srt-live-transmit udp://225.0.0.0:3000 srt://91.92.93.94:4000 -v -r:1000 -s:1000
Port 2000 is open at the firewall at 91.92.93.94 but not port 4000.
@stoyanovgeorge,
This looks similar to #554.
Sorry for asking again, but can you please double check you are using v.1.3.2?
@maxlovic I know, I have re-compiled the application from source, which I have downloaded yesterday. I have tried to uninstall it with make uninstall but it doesn't work. Is there an easy way to uninstall everything and re-install it again from source? Is there a way to check the srt version?
and you are right, I have double checked and in /usl/local/lib the latest version was 1.3.1. I have removed all libsrt.so instances from /usr/local/lib and re-installed and now libsrt.so is pointing to libsrt.so.1.3.2. I have restarted the test and now the CPU load seems normal, even it is a little bit lower from what it was with 1.3.1. It seems this bug is fixed in 1.3.2.
Great, @stoyanovgeorge, thanks for reporting!
As for
I have tried to uninstall it with make uninstall but it doesn't work. Is there an easy way to uninstall everything and re-install it again from source?
We don't have uninstall target implemented. You can do make -n install to list all the dependencies, and then pass the list to rm.
This list should be also in install_manifest.txt file produced by cmake - although this file isn't being installed itself.
https://stackoverflow.com/questions/41471620/cmake-support-make-uninstall
maybe you can also add an option to check the version of the library by executing: srt-live-transmit --version.
srt-live-transmit version info will be added in PR #598.
Closing.
Most helpful comment
maybe you can also add an option to check the version of the library by executing:
srt-live-transmit --version.