How would you solve that?
-
Hello all, in our department we are using a software that works as a software repository (a kind of subversion) that is the only one that exists/works for the software that we are using. It seems that the service that runs on our server (the one that handles all the queries from our computers) leaks memory. Even if I stop the service it doesn't frees all the memory that it has occupied. I've tried to speak to the manufacturer of that software without result... My only guess is to set up a virtual machine in order to serve that service and make it to reset each day. Any other idea? this is like killing a fly using a thermonuclear bomb... :~ As always thank you in advance.
Yes, VM or hardware is the only way to solve a leak that even the OS can't reclaim upon process termination. Of cousre, it also means the OS has a bug, so I'd opt for a hardware solution, or at least a VM made by a different vendor. However.. why are you still using this product, anyway? If the product is really all that bad, and they are not planning to have a fix out for a year (don't forget, plans are always optimistic), aren't you staying with a product whose customer base is defecting? Is that really the horse you want to hitch your company's source code to? I've seen companies fold over such fiascos and wouldn't want to risk my company's source code to a company about to fold with such a serious flaw already in their software. Maybe that's just me though.
patbob
-
Go into the services manager and double-click on the services involved. Look at the top of the dialog for Service name:. Now create a batch file with the following:
sc stop *service name goes here*
sleep 30 ; give it some time to shut down
sc start *service name goes here*Now go into control panel and Scheduled Taks > Add Scheduled Task We had to do this for a 3rd party app which kept dropping its database connection (probably during nightly backups) and wouldn't automatcially restore the connection. The only way to fix it was a restart. So we setup a scheduled task to start and stop the services during the night so all would be good in the morning when the service would acutally get used.
Todd Smith
Likely wouldn't work in this situation- he's reporting that the service isn't deallocating memory on shutdown.
-
The Virtual server sounds good but just for argument's sake you could try to write a program that will allocate and then deallocate every single bit of available memory once the service has been stopped. Then restart the service. I would not put my hand in the fire for this method but it may be worth a try - any other non-reboot ideas ?
bob2411 wrote:
for argument's sake you could try to write a program that will allocate and then deallocate every single bit of available memory once the service has been stopped. Then restart the service.
That's the "memory optimizer" X| snakeoil antipattern. All you accomplish is to flush all your system ram into the swapfile thus slowing all your applications down while the swap back in. You end up with 0 bytes more usable ram at the end.
Today's lesson is brought to you by the word "niggardly". Remember kids, don't attribute to racism what can be explained by Scandinavian language roots. -- Robert Royall
-
Yes, VM or hardware is the only way to solve a leak that even the OS can't reclaim upon process termination. Of cousre, it also means the OS has a bug, so I'd opt for a hardware solution, or at least a VM made by a different vendor. However.. why are you still using this product, anyway? If the product is really all that bad, and they are not planning to have a fix out for a year (don't forget, plans are always optimistic), aren't you staying with a product whose customer base is defecting? Is that really the horse you want to hitch your company's source code to? I've seen companies fold over such fiascos and wouldn't want to risk my company's source code to a company about to fold with such a serious flaw already in their software. Maybe that's just me though.
patbob
patbob wrote:
However.. why are you still using this product, anyway?
It is more complicated... the software is created on the company A. That company develops the repository system also. The company B makes great improvements/extensions to the software made in the company A (they are resellers/partners) => those extensions are great for me. The company A has developed the 3rd version of the software. The company B needs more time to port all their extensions to the software. This is why I'm stuck with that... Anyway the software that I'm using is amazing and it allows me to do exactly what I need in my business (www.tamelectromecanica.com[^]). There are only a few companies in the world that make this kind of software and I think that I'm with the best one, at least this is what I believe... Thank you for your feedback anyway.
-
Hello all, in our department we are using a software that works as a software repository (a kind of subversion) that is the only one that exists/works for the software that we are using. It seems that the service that runs on our server (the one that handles all the queries from our computers) leaks memory. Even if I stop the service it doesn't frees all the memory that it has occupied. I've tried to speak to the manufacturer of that software without result... My only guess is to set up a virtual machine in order to serve that service and make it to reset each day. Any other idea? this is like killing a fly using a thermonuclear bomb... :~ As always thank you in advance.
Joan Murt wrote:
Any other idea? this is like killing a fly using a thermonuclear bomb...
It's not a thermonuclear bomb, it's a honeypot, and as such is perfect for flies and other bugs.
-
Hello all, in our department we are using a software that works as a software repository (a kind of subversion) that is the only one that exists/works for the software that we are using. It seems that the service that runs on our server (the one that handles all the queries from our computers) leaks memory. Even if I stop the service it doesn't frees all the memory that it has occupied. I've tried to speak to the manufacturer of that software without result... My only guess is to set up a virtual machine in order to serve that service and make it to reset each day. Any other idea? this is like killing a fly using a thermonuclear bomb... :~ As always thank you in advance.
I vote the VM idea is the best. I wouldn't call it a significant issue, especially not equating it to a thermonuclear bomb. VM's are becoming so common that I think they'll eventually be considered "trivial". I run all sorts of things in VM's, server and workstation, and I love the technology. It's even to the point now that I won't run anything natively on a machine until I've first tested it in a virtual environment. Whether you have a dedicated, physical machine, or you're using a virtual one, you could setup a scheduled task of "shutdown -r" or what have you to make it restart at a convenient interval.
-
patbob wrote:
However.. why are you still using this product, anyway?
It is more complicated... the software is created on the company A. That company develops the repository system also. The company B makes great improvements/extensions to the software made in the company A (they are resellers/partners) => those extensions are great for me. The company A has developed the 3rd version of the software. The company B needs more time to port all their extensions to the software. This is why I'm stuck with that... Anyway the software that I'm using is amazing and it allows me to do exactly what I need in my business (www.tamelectromecanica.com[^]). There are only a few companies in the world that make this kind of software and I think that I'm with the best one, at least this is what I believe... Thank you for your feedback anyway.
-
Hello all, in our department we are using a software that works as a software repository (a kind of subversion) that is the only one that exists/works for the software that we are using. It seems that the service that runs on our server (the one that handles all the queries from our computers) leaks memory. Even if I stop the service it doesn't frees all the memory that it has occupied. I've tried to speak to the manufacturer of that software without result... My only guess is to set up a virtual machine in order to serve that service and make it to reset each day. Any other idea? this is like killing a fly using a thermonuclear bomb... :~ As always thank you in advance.
Joan Murt wrote:
It seems that the service that runs on our server (the one that handles all the queries from our computers) leaks memory. Even if I stop the service it doesn't frees all the memory that it has occupied.
Is it really possible? As i understand once the process dies. The memory is reclaimed by the OS!? Pardon me for the ignorance :) .. just enlightening myself :)
-
Joan Murt wrote:
It seems that the service that runs on our server (the one that handles all the queries from our computers) leaks memory. Even if I stop the service it doesn't frees all the memory that it has occupied.
Is it really possible? As i understand once the process dies. The memory is reclaimed by the OS!? Pardon me for the ignorance :) .. just enlightening myself :)
It should work that way... but for any reason it seems that not all the child processes die...
-
Thanks, makes sense now. When you find only one product that is a perfect solution for your needs, well.. sometimes you just have to put up with stuff :) Good luck with implementing the solution.
patbob
:sigh: Let's hope it will work for us... Thank you for your feedback.