Ibm midrange 使用JT400获取所有作业的CPU利用率

Ibm midrange 使用JT400获取所有作业的CPU利用率,ibm-midrange,jt400,Ibm Midrange,Jt400,我需要使用JT400获得所有作业的CPU利用率%。但我无法一次获得作业列表,因为loadStatistics()仅在作业级别可用,不在列表上(更省时) 通过剪掉以下代码,我可以一个接一个地获得每个作业的CPU%,但这需要很长时间: AS400 as400 = new AS400("hostname", "username", "password"); //Reading SystemStatus like CPU usage and hdd usage SystemStatus systemS

我需要使用JT400获得所有作业的CPU利用率%。但我无法一次获得作业列表,因为loadStatistics()仅在作业级别可用,不在列表上(更省时)

通过剪掉以下代码,我可以一个接一个地获得每个作业的CPU%,但这需要很长时间:

AS400 as400 = new AS400("hostname", "username", "password");

//Reading SystemStatus like CPU usage and hdd usage
SystemStatus systemStatus = new SystemStatus(as400);
JobList list = new JobList(as400);
 list.addJobSelectionCriteria(JobList.SELECTION_PRIMARY_JOB_STATUS_ACTIVE, Boolean.TRUE);
 list.addJobSelectionCriteria(JobList.SELECTION_PRIMARY_JOB_STATUS_JOBQ, Boolean.FALSE);
 list.addJobSelectionCriteria(JobList.SELECTION_PRIMARY_JOB_STATUS_OUTQ, Boolean.FALSE);
 list.addJobAttributeToRetrieve(Job.CPU_TIME_USED);
 list.addJobAttributeToRetrieve(Job.SUBSYSTEM);
 list.addJobAttributeToRetrieve(Job.JOB_NAME);
 list.addJobAttributeToRetrieve(Job.JOB_NUMBER);
 list.addJobAttributeToRetrieve(Job.USER_NAME);
 //list.addJobAttributeToRetrieve(Job.ELAPSED_CPU_PERCENT_USED);


 Enumeration jobs = list.getJobs();

while (jobs.hasMoreElements())  {
    Job  j= (Job) jobs.nextElement();
    j.loadStatistics();
    //TimeUnit.SECONDS.sleep(10);
    System.out.println("Name " + j.getName() + " | Job NO : " + j.getNumber() + " | User : " + j.getUser() + " | CPU USED : " + j.getCPUUsed()+ " |  CPU% : " + j.getValue(Job.ELAPSED_CPU_PERCENT_USED));
    j.resetStatistics();
    }

有没有办法一次获得所有作业的CPU%(作业已用CPU百分比)?

看看其中的一些


您应该能够从这些函数中提取所需的信息。

我当时使用com.ibm.jtopenlite.components解决了这个问题

JobInfo [] jobs = lstJobs.getJobs(connection, false);

        List<Point> pointList = new ArrayList<Point>();
        
        for (JobInfo job : jobs) {
            log.debug("getCPUPercent: " + job.getCPUPercent());
            log.debug("getCurrentUser: " + job.getCurrentUser());
            log.debug("getJobName: " + job.getJobName());
            log.debug("getJobType: " + job.getJobType());
            log.debug("getSubsystem: " + job.getSubsystem());
            log.debug("getTotalCPUUsed: " + job.getTotalCPUUsed());
            log.debug("getUserName: " + job.getUserName());
            log.debug("getCPUPercentInTenths: " + job.getCPUPercentInTenths());
                            
        }
JobInfo[]jobs=lstJobs.getJobs(连接,false);
List pointList=new ArrayList();
用于(作业信息作业:作业){
debug(“getcpuperent:+job.getcpuperent());
调试(“getCurrentUser:+job.getCurrentUser());
调试(“getJobName:+job.getJobName());
调试(“getJobType:+job.getJobType());
log.debug(“getSubsystem:+job.getSubsystem());
debug(“getTotalCPUUsed:+job.getTotalCPUUsed());
log.debug(“getUserName:+job.getUserName());
调试(“getcpupercentintents:+job.getcpupercentintents());
}