第三十八章 使用^%SYS.MONLBL检查例程性能

简介: 第三十八章 使用^%SYS.MONLBL检查例程性能

第三十八章 使用^%SYS.MONLBL检查例程性能

例程^%SYS.MONLBL为监视器工具提供用户界面。该实用程序提供了一种方法来诊断在例程中执行选定代码所花费的时间,从而帮助识别特别耗费资源的代码行。它是现有监视器实用程序的扩展,可通过^PerfMon%Monitor系统程序包类访问。由于这些实用程序共享相同的内存分配,因此一次只能在IRIS实例上运行其中一个实用程序。

调用逐行监视例程

如果在调用^%SYS.MONLBL时监视器没有运行,则例程会显示一条警告消息,并提供启动监视器或检查内存要求的选项。例如:


%SYS>Do ^%SYS.MONLBL
  
  
WARNING ! Starting the line-by-line monitor will enable the
  collection of statistics for *every* line of code executed by
  the selected routines and processes. This can have a significant
  impact on the performance of a system, and it is recommended
  that you do this on a 'test' system.
 
  The line-by-line monitor also allocates shared memory to track
  these statistics for each line of each routine selected. This is
  taken from the general shared memory already allocated and
  should be considered if you are using '*' wildcards and trying to
  analyze a large number of routines. If the monitor fails to start due
  to a problem with memory allocation, you may need to increase the
  Generic Memory Heap (gmheap) parameter in the system configuration. You may use
  the 'Memory Requirements' option to see how much memory a collection
  would need (without starting the collection).
 
1.) Start Monitor
2.) Memory Requirements
 
Enter the number of your choice: 
  1. 输入 1 开始对话框,以提供适当的信息以启动监视。
  2. 输入 2 以计算在实际启动监视器之前集合需要多少内存的估计值。

Enter 键退出程序。

估计内存需求

在开始监视过程之前,可以使用此实用程序来估计集合需要多少内存。通常,有足够的共享内存可用于监视一些例程。但是,如果想监控数百个或更多例程,请使用此选项来帮助确定内存需求。

例程和指标提示与 Start Monitor 选择的提示相同。选择要监控的例程和要收集的指标后,该实用程序会显示监控此集合所需的内存页数和可用页数。它还告诉在必要时增加通用内存堆参数的大小。

可以从管理门户的高级内存设置页面(系统管理 > 配置 > 其他设置 > 高级内存)维护 gmheap(通用内存堆)设置。

以下是一个示例,它估算了监视以 JRN 开头的所有例程的八个选定指标的内存需求:

Enter the number of your choice: 2
 
Enter routine names to be monitored on a line by line basis.
Patterns using '*' are allowed.
Enter '?L' to see a list of routines already selected.
Press 'Enter' to terminate input.
 
Routine Name: JRN*                       (22 routines added to selection.)
Routine Name:
 
Select Metrics to monitor
  1) Monitor Minimal Metrics
  2) Monitor Lines (Coverage)
  3) Monitor Global Metrics
  4) Monitor All Metrics
  5) Customize Monitor Metrics
 
Enter the number of your choice: <1> 5
 
Enter metrics item number (press 'Enter' to terminate, ? for list)
 
Metric#: 1 - GloRef
Metric#: 2 - GloSet
Metric#: 3 - GloKill
Metric#: 25 - JrnEntry
Metric#: 34 - RtnLine
Metric#: 35 - RtnLoad
Metric#: 51 - Time
Metric#: 52 - TotalTime
Metric#:
 
9 page(s) of memory required.
82 page(s) of memory available.
 
The GenericHeapSize parameter can be increased if more memory is needed.
Pages are each 64kb of memory.
 
Press RETURN to continue ...

如果选择的集合需要,可以调整您的内存,然后从原始菜单中选择开始监控。

相关文章
|
关系型数据库 MySQL
MySQL对小数进行四舍五入等操作
MySQL对小数进行四舍五入等操作
210 0
|
8月前
|
数据采集 供应链 API
实战指南:通过1688开放平台API获取商品详情数据(附Python代码及避坑指南)
1688作为国内最大的B2B供应链平台,其API为企业提供合法合规的JSON数据源,直接获取批发价、SKU库存等核心数据。相比爬虫方案,官方API避免了反爬严格、数据缺失和法律风险等问题。企业接入1688商品API需完成资质认证、创建应用、签名机制解析及调用接口四步。应用场景包括智能采购系统、供应商评估模型和跨境选品分析。提供高频问题解决方案及安全合规实践,确保数据安全与合法使用。立即访问1688开放平台,解锁B2B数据宝藏!
|
11月前
|
设计模式 API C#
C# 一分钟浅谈:GraphQL 服务器端实现
本文通过C#语言从零开始构建一个简单的GraphQL服务器端实现,介绍了环境准备、项目创建、定义Schema、配置GraphQL等步骤。同时,探讨了常见问题如数据源问题、类型定义不一致、性能问题和权限控制,提供了相应的解决方法。希望帮助读者更好地理解和应用GraphQL。
136 3
|
存储 XML JSON
【TCP】核心机制:延时应答、捎带应答和面向字节流
【TCP】核心机制:延时应答、捎带应答和面向字节流
216 2
|
人工智能 安全 Anolis
Intel 技术总监:同心共行,共建龙蜥 | 2023 龙蜥操作系统大会
Intel 发布新的至强芯片,都会第一时间支持龙蜥,甚至一些芯片特性的支持,在国际上都处于领先地位。
|
搜索推荐
2024微信个人名片在线生成HTML源码
微信个人名片卡片在线生成,这是一款微信个人名片生成网站源码,无第三方接口,本地直接生成可长期使用。 主要用于生成用户个性化的名片页面,包括头像、姓名、联系方式、个人介绍等信息。 在本地浏览器打开即可,源码是html的,也可上传到服务器上。
184 0
2024微信个人名片在线生成HTML源码
|
存储 数据库连接 数据库
如何使用Python上传文件到FTP服务器
如何使用Python上传文件到FTP服务器
318 1
|
Linux Shell 开发工具
linux编辑文件出现write.error.(file.system.full?)
linux编辑文件出现write.error.(file.system.full?)
317 1
|
编解码 缓存 算法
h264编码流程分析
h264编码流程分析
708 0
|
项目管理
软件工程高效学 | 实战案例:TAPD进行需求管理
软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对人员(People)、产品(Product)、过程(Process)和项目(Project)进行分析和管理的活动,其根本目的是让软件项目尤其是大型项目的整个软件生命周期(从分析、设计、编码到测试、维护全过程)都能在管理者的控制之下。本篇通过TAPD进行需求管理。
723 0
软件工程高效学 | 实战案例:TAPD进行需求管理