I'm trying to to use virtual_free to limit the number of large memory jobs running each grid node in my cluster. This seems to be working as expected.
After I modified my code to submit jobs with the memory instances, qstat -f -q $queueName no longer shows a list of jobs waiting for a slot.
The jobs are submitted with a specific queue (-q $queueName).
I'm guessing this is happening due to the magic of SGE queue selection. Is there a way to make my jobs show up as before?
Thanks!
UPDATE
I'm using:
qstat -f -u * -q $queueName
to view the queue. If I drop the queue argument, I can see the jobs. If I examine a specific job, I can see that it has the correct hard_queue_list value set.
I'm also using Sun Grid Engine 6.1u4
The jobs are requesting a queue. They're not actually in the queue until they have started running on a host which has an instance of that queue. You'll only see them in the queue-specific output if and when they actually start running in the requested queue. This makes perfect sense if you consider the fact that you can use wildcards in your queue requests.
If they do not show up in
qstat
then they are not submitted or are crashed already, the SGE magic for queue selection kicks in after they are submitted. Also check that qstat is reporting on the user which submitted that job!If you have jobs with unmet constraints then SGE will simply queue until they are available.