Получите загрузку ЦП всех заданий с JT400 - PullRequest
0 голосов
/ 21 октября 2018

Мне нужно получить% загрузки ЦП всех заданий, использующих JT400.Но мне не удается получить список заданий сразу, так как 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();
    }

Есть ли способ получить% процессора (Job.ELAPSED_CPU_PERCENT_USED) для всех заданий одновременно?

1 Ответ

0 голосов
/ 22 октября 2018

Взгляните на некоторые из систем управления службами DB2 for i .

. Вы должны быть в состоянии извлечь нужную информацию из этих функций.

...