如下示例显示 sar -g 命令的输出。node
$ sar -gSunOS balmyday 5.10 s10_51 sun4u 03/18/200400:00:00 pgout/s ppgout/s pgfree/s pgscan/s %ufs_ipf01:00:00 0.00 0.00 0.00 0.00 0.0002:00:00 0.01 0.01 0.01 0.00 0.0003:00:00 0.00 0.00 0.00 0.00 0.0004:00:00 0.00 0.00 0.00 0.00 0.0005:00:00 0.00 0.00 0.00 0.00 0.0006:00:00 0.00 0.00 0.00 0.00 0.0007:00:00 0.00 0.00 0.00 0.00 0.0008:00:00 0.00 0.00 0.00 0.00 0.0008:20:01 0.00 0.00 0.00 0.00 0.0008:40:00 0.00 0.00 0.00 0.00 0.0009:00:00 0.00 0.00 0.00 0.00 0.0009:20:01 0.05 0.52 1.62 10.16 0.0009:40:01 0.03 0.44 1.47 4.77 0.0010:00:02 0.13 2.00 4.38 12.28 0.0010:20:03 0.37 4.68 12.26 33.80 0.00Average 0.02 0.25 0.64 1.97 0.00 |
下表介绍了 -g 选项的输出。oracle
字段名 ide |
说明 spa |
---|---|
pgout/s视频 |
每秒的页出请求数。 教程 |
ppgout/s进程 |
每秒调出的页的实际数量。单个页出请求可能涉及多个页的调出。 事件 |
pgfree/sip |
每秒放置在可用列表中的页数。 内存 |
pgscan/s |
page 守护程序每秒扫描的页数。若是此值很大,则代表 page 守护程序花费大量时间来检查可用内存。此状况暗示,可能须要更多内存。 |
%ufs_ipf |
具备关联的可重用页的 iget 从可用列表中取消的 ufs inode 的百分比。这些页面被刷新,而且不能由进程回收。所以,此字段表示具备页面刷新的 igets 的百分比。若是该值很大,则代表 inode 的可用列表页面密集,而且可能须要增长 ufs inode 的数量。 |
KMA 容许内核子系统根据须要分配和释放内存。
KMA 并非静态分配在峰值载荷下预计所需的最大内存量,而是将内存请求划分为三个类别:
小型(少于 256 字节)
大型(512 字节至 4 千字节)
超大型(大于 4 千字节)
KMA 保留两个内存池,以知足小型和大型请求。超大型请求则经过从系统页面分配器中分配内存来知足。
若是您所检查的系统用来编写使用 KMA 资源的驱动程序或 STREAMS,则 sar -k 命令可能颇有用。不然,您可能不须要它所提供的信息。使用 KMA 资源但不必定在退出前返回资源的全部驱动程序或模块均可能产生内存泄漏。内存泄漏会致使 KMA 分配的内存量随事件而增长。所以,若是 sar -k 命令的 alloc 字段随时间稳定增长,则可能存在内存泄漏。代表存在内存泄漏的另外一种状况是请求失败。若是出现此问题,内存泄漏极可能致使 KMA 没法保留和分配内存。
若是彷佛存在内存泄漏,则应检查可能从 KMA 请求内存但未返回内存的全部驱动程序或 STREAMS。
下面是 sar -k 输出的缩写示例。
$ sar -kSunOS balmyday 5.10 s10_51 sun4u 03/18/200400:00:04 sml_mem alloc fail lg_mem alloc fail ovsz_alloc fail01:00:00 6119744 4852865 0 60243968 54334808 156 9666560 002:00:01 6119744 4853057 0 60243968 54336088 156 9666560 003:00:00 6119744 4853297 0 60243968 54335760 156 9666560 004:00:00 6119744 4857673 0 60252160 54375280 156 9666560 005:00:00 6119744 4858097 0 60252160 54376240 156 9666560 006:00:00 6119744 4858289 0 60252160 54375608 156 9666560 007:00:00 6119744 4858793 0 60252160 54442424 156 9666560 008:00:00 6119744 4858985 0 60252160 54474552 156 9666560 008:20:00 6119744 4858169 0 60252160 54377400 156 9666560 008:40:01 6119744 4857345 0 60252160 54376880 156 9666560 009:00:00 6119744 4859433 0 60252160 54539752 156 9666560 009:20:00 6119744 4858633 0 60252160 54410920 156 9666560 009:40:00 6127936 5262064 0 60530688 55619816 156 9666560 010:00:00 6545728 5823137 0 62996480 58391136 156 9666560 010:20:00 6545728 5758997 0 62996480 57907400 156 9666560 010:40:00 6734144 6035759 0 64389120 59743064 156 10493952 011:00:00 6996288 6394872 0 65437696 60935936 156 10493952 0Average 6258044 5150556 0 61138340 55609004 156 9763900 0 |
下表介绍了 -k 选项的输出。
字段名 |
说明 |
---|---|
sml_mem |
KMA 在小型内存请求池中可用的内存量,以字节为单位。在此池中,小型请求小于 256 字节。 |
alloc |
KMA 已从其小型内存请求池向小型内存请求分配的内存量,以字节为单位。 |
fail |
请求少许内存并失败的请求数。 |
lg_mem |
KMA 在大型内存请求池中可用的内存量,以字节为单位。在此池中,大型请求介于 512 字节到 4 千字节之间。 |
alloc |
KMA 已从其大型内存请求池向大型内存请求分配的内存量,以字节为单位。 |
fail |
请求大量内存并失败的请求数。 |
ovsz_alloc |
为大于 4 千字节的超大型请求分配的内存量。这些请求可经过页面分配器来知足。所以,不存在池。 |
fail |
因请求超大量内存而失败的请求数。 |
oracle视频教程请关注:http://down.51cto.com/4202939/up