Sas 总处理时间PROC SQL,了解日志
我想更好地理解时间日志以提高性能 我的实时时间通常比cpu时间大得多。这是预期的吗 差异是由于磁盘访问造成的吗?内存中的操作是包含在CPU时间中还是实时中 日志的其他行中是否有关于性能优化的有用信息 例如:Sas 总处理时间PROC SQL,了解日志,sas,proc-sql,Sas,Proc Sql,我想更好地理解时间日志以提高性能 我的实时时间通常比cpu时间大得多。这是预期的吗 差异是由于磁盘访问造成的吗?内存中的操作是包含在CPU时间中还是实时中 日志的其他行中是否有关于性能优化的有用信息 例如: NOTE: PROCEDURE SQL used (Total process time): real time 9:06.00 user cpu time 1:36.79 system cpu time 19.11
NOTE: PROCEDURE SQL used (Total process time):
real time 9:06.00
user cpu time 1:36.79
system cpu time 19.11 seconds
memory 7463.31k
OS Memory 24628.00k
Timestamp 06/07/2018 12:45:31 PM
Page Faults 7
Page Reclaims 1566
Page Swaps 0
Voluntary Context Switches 370694
Involuntary Context Switches 36835
Block Input Operations 0
Block Output Operations 0
CPU时间是指CPU处理进行了多少—使用了多少CPU时钟周期。这是每个核心;如果使用多个内核(虚拟或物理),则它可以大于实时。例如,CPU密集型并行处理的东西在机器上使用4个内核2分钟,实时时间为2分钟,CPU时间可能高达8分钟 实时实际上是作业开始和作业结束之间的时钟时间。在
proc-sql
的情况下,直到到达quit
为止-因此,如果您未退出而保持proc-sql
打开,则实时时间可能会一直持续到下次运行一个proc
很多时候,CPU时间和实时时间之间的差异是磁盘i/o,正如您所说的——如果您正在通过网络或从旋转的磁盘进行读取,那么您的磁盘i/o很可能会花费比CPU时间更长的时间
从内存中读取“文件”不包括在CPU时间内,除非它涉及CPU
其他字段有助于诊断不同级别的性能问题。使用的内存量可能表明代码存在特定问题(如果代码使用了大量内存,则可能是您的工作效率低下)
您可能想阅读一些关于SQL效率和优化的文章,比如-特别是最后的_方法和_树讨论。当然,文章中提到了获取更多信息的各种方法,如刺激和反馈