1

我们可以使用SHOW命令 在WFL 或 Cande(Unisys 主机)中显示NAME、CPUTIME、IOTIME、READYQTIME、INITPBITTIME 。有没有办法在Unisys cobol 85程序中使用这个SHOW命令来计算我的程序占用了多少 CPUTIME 或 IOTIME。

显示混合名称、CPUTIME、IOTIME、READYQTIME、INITPBITTIME

MixNo-CPUTime---IOTime---ReadyQTime-InitPBit---Name-----------

8465 14:32 :00 1:17 :00 磁盘上没有任何内容

8411 2:35:04:45:06 系统/测试

8438 1:14:01:24:09 系统/LCF

8441 1:05:00:24:02 *系统/COMS

我的程序:

识别部。...

程序部。...

“我必须在这里使用 Show 命令来显示 CPUTIME 或 IOTIME”

...

4

3 回答 3

0

您可能可以使用

CALL SYSTEM WFL USING literal-1
                      identifier-1

但这是通过 Unisys COBOL-74 手册快速浏览的结果。不确定它是否仍然适用,但我敢打赌,是的。

于 2017-07-19T22:01:59.577 回答
0

如果你想收集关于你自己的程序的信息,你不想使用SHOW你想访问的命令Task Attributes。请参阅 Unisys任务属性编程参考手册 ,例如 pdf以了解所有Task Attributes可检索的可用内容的描述。有些还可以修改。

请参阅 Unisys COBOL ANSI-85 编程参考手册,第 1 卷:基本实现 ,例如 pdf以获取有关操作的信息Task Attributes- 特别是 theMYSELFMYJOB保留字。

我的 COBOL 有点生锈,我没有方便的系统进行测试,但以下内容大多是从手册中抄袭的,所以应该不会太远。

IDENTIFICATION DIVISION. 
ENVIRONMENT DIVISION. 
DATA DIVISION. 
WORKING-STORAGE SECTION.  
01 WS-NAME         PIC X(50).
01 WS-INITPBIT     PIC 9(11) BINARY. 
PROCEDURE DIVISION. 
MAIN SECTION. 
MAIN-PARA.          
    MOVE ATTRIBUTE NAME OF MYSELF TO WS-NAME.     
    DISPLAY WS-NAME.   

    MOVE ATTRIBUTE INITPBITTIME OF MYSELF TO WS-INITPBIT.     
    DISPLAY WS-INITPBIT.  

    MOVE ATTRIBUTE INITPBITTIME OF MYJOB TO WS-INITPBIT.     
    DISPLAY WS-INITPBIT.

    IF MYSELF.OTHERPBITTIME > 100     
       --- etc ---
STOP RUN.
于 2018-05-29T01:25:11.090 回答
0

如果要模拟 CANDE SHOW 命令,可以使用 ASERIES_INFO 来获取 PMIX 信息。这可能会涉及,因此了解您是否想为其他任务或您正在运行的任务获取此信息会有所帮助。

如果要访问自己程序的 CPU 时间,则使用 MYSELF 的 ATTRIBUTE ACCUMPROCTIME。ACCUMIOTIME 也是如此(两者都记录在TASK Attributes Manual中。类似的东西 MOVE ATTRIBUTE ACCUMPROCTIME OF MYSELF TO WS-CPUTIME.会给你程序的 CPUTime。

请注意,属性以刻度(2.4 微秒)为单位给出,但 WFL 中以秒为单位。

于 2017-08-01T03:09:21.943 回答