On Wed, Jun 6, 2012 at 10:48 AM, Reuti <[email protected]> wrote: > It depends on the actual program, but usually threads are working on the same > memory area. It would be interesting if the applications runs up to a certain > number of threads and then starts to fail.
I remember Shannon & Ron discussed (on the original dev list) about whether the PDC code & procfs parsing code was able to handle multi-threaded programs. As far as I know, Grid Engine does not scan the "task" sub-directory anymore, but we should double check and make sure that the PDC is not the cause. Also, if the job forks, then the shared pages are not handled properly by Grid Engine - but on Linux threads are processes that share the address space, and threads & processes are both created by clone(). So basically, I wanted to find out if Grid Engine killed the job, or Grid Engine set a certain limit that caused the job to fail. Rayson > > -- Reuti > > >>> when job submitted h_vmem value should be set to high value otherwise job be >>> crashed. >> >> Did Grid Engine kill it, or did the program itself crash due to some >> other limits in the system (like the linux kernel OOM killer did it)?? >> >> Can you check the log & qacct record and see who the killer is?? >> >> Note that Grid Engine has online job accounting - you can run qstat -j >> <jobid> and see the resource usage of the job. If Grid Engine is >> reporting more memory usage than the numbers reported by top (check >> both VIRT & RSS), then it can be shared pages that the Grid Engine's >> procfs parser currently does not understand. >> >> Note that with cgroups shared memory pages-related accounting error >> will be gone, as the kernel's memory accounting code is more accurate >> than the user-space interface. >> >> http://blogs.scalablelogic.com/2012/05/grid-engine-cgroups-integration.html >> >> OT: Talking about cgroups, I still need to go back to Mark's email and >> re-read it... >> >> Rayson >> >> >> >>> ________________________________ >>> From: Reuti <[email protected]> >>> To: Nakata Nakata <[email protected]> >>> Cc: "[email protected]" <[email protected]> >>> Sent: Tuesday, 5 June 2012, 16:40 >>> Subject: Re: [gridengine users] guess required memory >>> >>> Hi, >>> >>> Am 05.06.2012 um 13:28 schrieb Nakata Nakata: >>> >>>> Good time all, >>>> I set h_vmem to physical memory 24G. >>>> an executable needs 1.5G memory. >>>> I ran the executable via job and set h_vmem. It seems h_vmem should set >>>> much higher than real e.g 20G! >>>> How can guess h_vmem value for it? >>>> what such high value for h_vmem is needed for? >>> >>> Which version are you using and where are you oberserving the real usage of >>> 20G. I.e. you only request 1.5G, but you would expect the job to crash with >>> such a low limit? Is it a serial or parallel application? >>> >>> -- Reuti >>> >>> >>> >>> _______________________________________________ >>> users mailing list >>> [email protected] >>> https://gridengine.org/mailman/listinfo/users >>> > > > _______________________________________________ > users mailing list > [email protected] > https://gridengine.org/mailman/listinfo/users _______________________________________________ users mailing list [email protected] https://gridengine.org/mailman/listinfo/users
