程序一直处于Accept状态,无法调度运行

Posted sheng-sjk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了程序一直处于Accept状态,无法调度运行相关的知识,希望对你有一定的参考价值。

问题描述:在现场或测试环境偶尔会出现用户提交的程序一直处于Accept状态无法调度运行的现象

问题分析:出现这种问题的原因一般有以下两种:

  1、用户程序提交的队列当前是否已达到最大可运行程序数,当达到队列maxRunningApps后,提交的程序会处于等待状态,等有程序运行完才会被调度执行

  解决方案1:等待正在运行的程序运行完或者将队列的maxRunningApps调大

  2、如果用户队列没有达到maxRunningApps,则需要看YARN给用户分配的资源是否足以运行程序,在8088的Scheduler界面,能看到每一个队列的fairshare。

  解决方案2:

  1)调整队列weight值,是队列能分配到更多的资源;

  2)修改程序AM所需要的资源量,重新提交程序;

  3)等待其他队列的程序运行完,释放资源。

 

以上是关于程序一直处于Accept状态,无法调度运行的主要内容,如果未能解决你的问题,请参考以下文章

如何判断 C#程序是不是处于调试状态

java多线程

进程管理

操作系统中如何引发进程调度?

线程的几种状态

线程的状态及sleepwait等方法的区别