使用 sar -k 命令可报告内核内存分配器 (Kernel Memory Allocator, KMA) 的以下活动。
$ sar -k 00:00:00 sml_mem alloc fail lg_mem alloc fail ovsz_alloc fail 01:00:00 2523136 1866512 0 18939904 14762364 0 360448 0 02:00:02 2523136 1861724 0 18939904 14778748 0 360448 0 |
下面是 sar -k 输出的缩写示例。
$ sar -k SunOS balmyday 5.10 s10_51 sun4u 03/18/2004 00:00:04 sml_mem alloc fail lg_mem alloc fail ovsz_alloc fail 01:00:00 6119744 4852865 0 60243968 54334808 156 9666560 0 02:00:01 6119744 4853057 0 60243968 54336088 156 9666560 0 03:00:00 6119744 4853297 0 60243968 54335760 156 9666560 0 04:00:00 6119744 4857673 0 60252160 54375280 156 9666560 0 05:00:00 6119744 4858097 0 60252160 54376240 156 9666560 0 06:00:00 6119744 4858289 0 60252160 54375608 156 9666560 0 07:00:00 6119744 4858793 0 60252160 54442424 156 9666560 0 08:00:00 6119744 4858985 0 60252160 54474552 156 9666560 0 08:20:00 6119744 4858169 0 60252160 54377400 156 9666560 0 08:40:01 6119744 4857345 0 60252160 54376880 156 9666560 0 09:00:00 6119744 4859433 0 60252160 54539752 156 9666560 0 09:20:00 6119744 4858633 0 60252160 54410920 156 9666560 0 09:40:00 6127936 5262064 0 60530688 55619816 156 9666560 0 10:00:00 6545728 5823137 0 62996480 58391136 156 9666560 0 10:20:00 6545728 5758997 0 62996480 57907400 156 9666560 0 10:40:00 6734144 6035759 0 64389120 59743064 156 10493952 0 11:00:00 6996288 6394872 0 65437696 60935936 156 10493952 0 Average 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 |
因请求超大量内存而失败的请求数。 |