免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 11201 | 回复: 14

求助: Job的CPU占用过高 如何控制? [复制链接]

论坛徽章:
0
发表于 2011-02-28 10:50 |显示全部楼层
本帖最后由 lhh03seer 于 2011-02-28 17:08 编辑

求助:
wrkactjob 下的job的1. Display job status attributes  中的Current user profile  . . . . . . . . . . . :能否用什么命令设置一下?
不知道描述的是否清楚?


等待ing

非常感谢!

论坛徽章:
0
发表于 2011-02-28 11:54 |显示全部楼层
如果作业处于ACTIVE状态,可通过:

RRTJOB RTGDTA()从一个存储池切换到另一个存储池;
TFRJOB JOBQ() RTGDTA() RQSDTA()从一个子系统切换到另一个子系统。

只有等待该作业结束,你才能重新用新的帐户提交新作业。

论坛徽章:
0
发表于 2011-02-28 14:31 |显示全部楼层
本帖最后由 lhh03seer 于 2011-02-28 17:02 编辑

谢谢qingzhou

进一步的问题:我是希望这个subsystem下的job一直保存我更改后的值:因为这个subsystem下的job都是通过ODBC连接的job-----

谢谢!

论坛徽章:
0
发表于 2011-02-28 14:53 |显示全部楼层
ODBC/JDBC连接发起在400的作业都是用系统帐户QUSER发起,这个你无法修改。
你可通过导入WRKODBCJOB工具对ODBC/JDBC作业进行管理。

建议你拷贝个屏幕上来看看。

论坛徽章:
0
发表于 2011-02-28 17:07 |显示全部楼层
我也说不清楚了,换个角度说,subsystem下的job都是通过ODBC连接的,每次运行占用的CPU特别高,有什么办法控制吗?

谢谢了

论坛徽章:
0
发表于 2011-02-28 17:31 |显示全部楼层
楼主的意思是控制单个JOB的CPU,可否另建一子系统(CLASS信息都是通过子 系统来设置),然后按QINGZHOU的命令将这个JOB转到新建的子系统

论坛徽章:
0
发表于 2011-03-01 09:06 |显示全部楼层
只有等待该作业结束,你才能重新用新的帐户提交新作业。

论坛徽章:
0
发表于 2011-03-01 10:27 |显示全部楼层
谢谢qingzhou

进一步的问题:我是希望这个subsystem下的job一直保存我更改后的值:因为这个subsystem下的 ...
lhh03seer 发表于 2011-02-28 14:31



    这个‘subsystem’是自己设置的应用子系统吗?还有其它应用子系统与之并存吗?

   如果只有这个应用子系统,可以把这个子系统的ASP空间分配一个较大的空间,最好不要让系统自动分配。因为,odbc,或jdbc连接的应用,os会在这个子系统中运行os下sql环境,一个连接会占用一定asp空间,随着odbc的连接数加大,asp占用的空间加大。

   现在我们再来探讨cup%的问题。cup处理odbc的应用,分为三种类型的处理:1)有效处理,即对pf表的有效处理;2)os调度的页进页出;3)磁盘I/O操作占用的cpu处理。
   对第一种类型的处理,我们不能想法降低cpu%,要的话,只能优化应用程序代码。第二种类型的处理,如果程序代码数据量,或表记录数据较大,表的关联数较多复杂,且经常更换处理模式,os对这类操作的系统调度,即页进页出,就会处在频繁状态,会占用较多的系统cpu%资源。同样,对第三类操作,如果应用在一个处理单元内频繁访问一个pf或多个pf表,会使得os对这个应用的I/O数始终处在一个较高的次数值,会耗费一定cpu%。
   对这类odbc,或jdbc的应用优化办法,除了应用代码的改进,就只能从系统上进行管理。首先,通过前端测试软件,测试odbc或jdbc对pf表就一个应用单元的访问次数,(以前我们做个这方面的测试,不好的应用架构,一个应用处理单元对一个pf表的访问次数最高达到好几万次。)如果这些应用程序短时间不能更新的话,在os系统方面的处理,最好把这些应用频繁访问的表放到物流内存中去。这样的措施,起码起到了降低上述第二、三类的cpu%的值。

论坛徽章:
0
发表于 2011-03-01 16:35 |显示全部楼层
本帖最后由 lhh03seer 于 2011-03-01 16:37 编辑

谢谢passthru分析的这么透彻,深度....

我觉得两个方面好像都可以尝试一下:

这个subsystem是自己设置的应用子系统, 如何为该子系统分配空间呢?分配空间应该把握什么样的原则呢?

应用程序无法改进的话,系统方面该怎么管理呢?能不能细说一下,我对这方面绝对属初级的

再次感谢!

论坛徽章:
0
发表于 2011-03-01 20:34 |显示全部楼层
关于控制ODBC/JDBC作业访问DB2/400资源问题,以前帖子也多次讨论过。以下分2部分来分析,一是从应用优化角度分析,passthru也做了比较详细的分类分析,这边需要提醒的是,非OS400端的客户端程序优化需要根据实际编写语言来优化,比如需要加入基本的打开和关闭访问数据库语句等,否则容易造成ODBC/JDBC作业连接常常发生异常而一直占用CPU%资源,DISK I/O资源,甚至吃掉高达200GB的临时空间!

另外一方面,从SBS角度控制:
1)如果内存宽裕,ODBC/JDBC作业对应用来说也很重要,你可将SBS定义的存储池分配足够的内存空间,注意:需要指定为私有存储池,否则分配该SBS的内存资源还是会动态变动!

2)由于ODBC/JDBC发作时,吃CPU%还不致于把机器拖跨,如果占用过高的DISK I/O,那真的把机器弄死了。这个也需要优化应用来解决问题。

3)我再谈谈如何控制ODBC/JDBC作业,我们可通过CLASS来限制MAX STORAGE SPACE最大临时空间,以免波及APS%>95%引起宕机事故发生。
WRKSBS找到QUSRWRK子系统,在前面选择"5=Display subsystem description"进入,在"Display Subsystem Description"菜单里选择"10. Prestart job entries",进入找到QZDASOINIT,在前面选择"5=Display details",回车进入,会看到参数"Maximum number of jobs"就是表示可以并行的QZDASOINIT作业的数量,可以设置数量来限制并行ODBC/JDBC作业数。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP