codeproject / CodeProject.AI-Server

CodeProject.AI Server is a self contained service that software developers can include in, and distribute with, their applications in order to augment their apps with the power of AI.
Other
605 stars 141 forks source link

not for Linux :-( #17

Closed alexbn71 closed 1 year ago

alexbn71 commented 1 year ago

It seams there are many issues on Linux... the most important is that I suspect a big problem of memory leak, not so rare situation for .NET porting on Linux :(

I hope you will have time to spent to to make it work well on Linux as well.

the only criticism that I allow myself to make ... is that when you declare a multi-platform project you should decide to make it work equally on all of them. I say this because it is not the first .NET project that I see that passes itself off as compatible with Linux when only Linux problems remain unsolved.

I know that you project it's new ... but I put my hands on ;-)

ChrisMaunder commented 1 year ago

Thanks for the warning about the memory leak.

Which version of Linux are you using, and which version of CodeProject.AI Server are you using?

alexbn71 commented 1 year ago

kernel 5.19.7, Docker image of CodeProject.AI Server is 1.6.2

Maybe it's a normal condition for how your project is set up. I noticed that when the server starts it uses .7GB of RAM on idle state. Submitting some image processing the RAM consumptiom rise up to 3/4GB then stay around this value forever.

ChrisMaunder commented 1 year ago

Our system is setup to only load models when they are required. If you make a call to Object detection then the model will be loaded on first call. If you then call a custom model, that model will then be loaded. AI models are huge memory hogs, so if you're seeing a large amount of RAM being used (but then stabilising) as you make calls, then it's all working as expected.

Better to only load up what's needed rather than burdening a system with potentially unnecessary memory load.