On 10-07-2012 06:21:19 -0700, Tapomay Dey wrote:
Thats true.
But isn't there a way we could figure out that OS is not gonna give us more RAM before being killed. That way it could deny further queries instead of dying out resulting in failure of all running queries. Just thinking out loud.
Typically, the OS tells the application it's not going to let it have more memory by making malloc calls fail. However, the OS in this case just evicts the application and kills it. There is no prior notice to the application, or anything. So nothing to be done here.
I stretched it further with 4GB Swap along with the 4G RAM. Firing 10 queries from 5 different machines. It ate up all the Swap and the RAM usage was at 95 % for a long time before being killed. Going ahead to set an 8G swap.
It feels to me like you're just overloading your relatively small machine tremendously. The more you get into swap, the more your performance is going down. You might be better off reducing the number of concurrent queries here instead. You could try and see if your application is benefitting from/working with the funnel included in monetdbd. Fabian