求助: Job的CPU占用过高 如何控制?

发布于 2022-09-14 04:20:30 字数 278 浏览 17 评论 9

本帖最后由 lhh03seer 于 2011-02-28 17:08 编辑

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

等待ing

非常感谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

夢归不見 2022-09-15 17:10:14

关于控制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作业数。

骄兵必败 2022-09-15 17:09:14

本帖最后由 lhh03seer 于 2011-03-01 16:37 编辑

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

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

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

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

再次感谢!

不可一世的女人 2022-09-15 17:07:10

谢谢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%的值。

So尛奶瓶 2022-09-15 16:28:26

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

终难遇 2022-09-15 15:57:03

楼主的意思是控制单个JOB的CPU,可否另建一子系统(CLASS信息都是通过子 系统来设置),然后按QINGZHOU的命令将这个JOB转到新建的子系统

有木有妳兜一样 2022-09-15 14:05:47

我也说不清楚了,换个角度说,subsystem下的job都是通过ODBC连接的,每次运行占用的CPU特别高,有什么办法控制吗?

谢谢了

猫九 2022-09-15 03:24:22

ODBC/JDBC连接发起在400的作业都是用系统帐户QUSER发起,这个你无法修改。
你可通过导入WRKODBCJOB工具对ODBC/JDBC作业进行管理。

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

相思故 2022-09-15 00:17:37

本帖最后由 lhh03seer 于 2011-02-28 17:02 编辑

谢谢qingzhou

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

谢谢!

我的奇迹 2022-09-14 12:38:38

如果作业处于ACTIVE状态,可通过:

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

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文