CPF4167 - job无故msgw分析及解决办法[as/400]

时间:2016-11-09 ┊ 阅读:5,987 次 ┊ 标签: 经验 , 问题 , 命令

有个监控的job,实时监控作业运行情况出现异常及时报警发送短信到support技术人员手机上。这是通常的as/400上监控job的功能。

最近这个job经常报如下错误:

Message . . . . :   The subsystem xxxxxx is in error. Either the subsystem  
  should be active and is not; the subsystem should not be active and is; the 
  subsystem has a message wait condition. When the problem has been rectified:
  (1) enter G to continue monitoring; (2) type in XXX, take option 1, and     
  10=Close the corresponding Alert..                                          
Cause . . . . . :   This message is used by application programs as a general 
  escape message.

截图:
CPF4167.png

看到这个错误,还以为这个sub system出问题了,一查正常的在跑的。就翻log往上看,这时发现:

Job cannot create any more spooled files.

直译:作业不能创建更多假脱机文件

怎么到创建spool file上面来了呢?
这要从监控job的原理说一下,监控job一般就是submit一个job到一个sub system里一直运行,每隔一定的时间(比如5分钟)就扫描一次所以需要监控的job,查看当时的job status。一个通常的做法就是把所有指定的job打印的spool file里,然后扫描这个file,这时就需要每隔5分钟创建一个spool file。监控job一直在运行,随着时间的推移,所创建的spool file越来越多,400系统为了防止spool file无限制的创建把硬盘爆掉,有一个系统设置QMAXSPLF,这个值可以设置一个job可以创建的最大spool files个数。

赶紧查了一下这个值是多少

dspsysval qmaxsplf

查看系统值就可以看到了

                             Display System Value
                                                 
System value . . . . . :   QMAXSPLF              
Description  . . . . . :   Maximum spooled files 
                                                 
                                                 
Maximum spooled files  :   9999       9999-999999

截图:
QMAXSPLF.png

可以看到当时设置的为9999,最小值,最大值可以设置为999999.
我们看一下这个qmaxsplf的帮助如下:

Help                           QMAXSPLF - Help                          
                                                                        
    Maximum spooled files per job.  The maximum number of spooled files 
    that can be created per job.  Spooled files will not be deleted when
    this value is changed to a lower number.  Therefore, a job can have 
    more than this maximum number of spooled files if the spooled files 
    existed before the system value was set to a lower number.  See the 
    Printer Device Programming book for information on how this system  
    value affects spooling for a job.                                   
                                                                        
    A change to this system value takes effect immediately.  The shipped
    value is 9999.                                                      

问题看到了,现在解决办法就有了:
1,删除多余的spool files,一个命令的事,ok,但不能相对彻底长久解决问题;
2,把这个参数qmaxsplf设置得更大,也ok,不过像这种监控job总有用尽的一天,也不能相对彻底长久解决问题;
3,让job自己边创建边删除之前的已经过时或旧的不用的spool files,这个相对能好一点。我们的监控job用的就是这个方法,不过现在有个问题,随着系统的庞大,监控的job越来越多,生成的spool file也越来越多,删除时有的不彻底,虽然显示已经删除了,但还占有着这个文件数还在增加。这个方法只是让job坚持的长一些;
4,另外开一个job出定时的清理作业无用的spool files,和3方法相似,也ok,但也不行;
5,定时或自己查看当时已经创建的spool file数量后重启监控job,把原来的end掉同时彻底清理其所有spool files,这个最彻底。
我们现在就采用了方法5,重启job,简单

文章评论

添加新评论

温馨提醒:如果您是第一次在本站留言,需要审核后才能显示哦!

相关文章

Mac电脑一直显示有未读信息怎么解决?

Mac电脑一直显示有未读信息怎么解决?

上次还是macOS14,一直没有解决。索性放着不管了,反正把所有没用的信息都清理了,已经确认没有未读信息了。 最近升级了macOS15最新版本,但还是提示有6条未读信息,百思不得其姐! 查了一下网上不少人遇到此问题,有说有bug,有说点掉过滤未知联系人信息啥,都不好用。 最后查到了Apple社...
阅读全文>>
Whatsapp只能查看最近三天的聊天记录了怎么办?

Whatsapp只能查看最近三天的聊天记录了怎么办?

今天突然发现电脑上的WhatsApp只能查看最近3天的聊天记录了,显示要查看3天前的记录请到手机上查看。很是吃惊,以前一直是所有记录都自动同步到电脑版的啊,不论换电脑了还是换手机了,聊天记录从来没丢过。 查询一翻也没有找出来原因,怎么也同步不过去。 电脑版app重新安装了,也不行。 有个方法说...
阅读全文>>
ValueError: Error getting directory

ValueError: Error getting directory

ssl证书过期了 明明自动renew的 然后看log已经好久没更新成功了 查半天是当前server不信任远程连接 只能自己改代码 报错: 21-12-17 13:01:11 Generate CSR...amkevin.csr amkevin.csr generated. /home/www...
阅读全文>>
网页路径中的'.'和'..'还有'./'和'../'区别

网页路径中的'.'和'..'还有'./'和'../'区别

. 表示当前目录 .. 表示当前目录的上一级目录。 ./表示当前目录下的某个文件或文件夹,视后面跟着的名字而定 ../表示当前目录上一级目录的文件或文件夹,视后面跟着的名字而定。 例如: 文件夹 a 下面有 文件夹b c 和文件 d。 文件夹b下面有e.php 和文件f。 则e中的 . 表示...
阅读全文>>
Introduction to ILE RPG Activation Groups

Introduction to ILE RPG Activation Groups

Learn how activation groups can help your ILE RPG programs run more efficiently, how to specify the type of group to use, and closing and reclaimin...
阅读全文>>