diff --git a/mxqd.c b/mxqd.c index f15df63e..05610332 100644 --- a/mxqd.c +++ b/mxqd.c @@ -1394,11 +1394,13 @@ void server_dump(struct mxq_server *server) for (glist = ulist->groups; glist; glist = glist->next) { group = &glist->group; - mx_log_info(" group=%s(%d):%lu %s jobs_in_q=%lu", + mx_log_info(" group=%s(%d):%lu %s jobs_max=%lu slots_per_job=%d jobs_in_q=%lu", group->user_name, group->user_uid, group->group_id, group->group_name, + glist->jobs_max, + glist->slots_per_job, mxq_group_jobs_inq(group)); for (jlist = glist->jobs; jlist; jlist = jlist->next) { job = &jlist->job; diff --git a/mxqd_control.c b/mxqd_control.c index 75497957..73233414 100644 --- a/mxqd_control.c +++ b/mxqd_control.c @@ -52,6 +52,9 @@ static void _group_list_init(struct mxq_group_list *glist) } jobs_max /= group->job_threads; + if (jobs_max > server->slots / slots_per_job) + jobs_max = server->slots / slots_per_job; + /* limit maximum number of jobs on user/group request */ if (group->job_max_per_node && jobs_max > group->job_max_per_node) jobs_max = group->job_max_per_node;