上周,我们决定在我们正在运行的munin实例中添加一些SunOS( uname -a = SunOS bbs-sam-belair 5.10 Generic_127128-11 i86pc i386 i86pc )机器。 首先,这些机器是预先configuration的设备,所以,我想避免在没有服务提供商的监督的情况下触摸系统太多。
但是通过编写一个小的套接字服务将它添加到munin是相当容易的(如果有人感兴趣,我把它放在github上: https : //github.com/munin-monitoring/contrib/tree/master/tools/pypmmn )
昨天,我执行/改编了我们机器所需的插件。 这里的问题开始:
首先,我还没有find确定详细的内存使用价值的方法。 我通过运行prtconf | grep Memory获得总内存 prtconf | grep Memory ,以及使用vmstat的可用内存。 一起popup一个munin-plugin,给了我下面的图表:

这是非常不明智的。 把这个与linux节点的默认插件相比,这个插件有更多的细节:

最重要的是,这显示了应用程序实际使用了多less内存。
所以,第一个问题:是否有可能获得有关SunOS的默认系统工具 (即不使用top )的详细内存信息?
进入下一个难题:查看图表,我注意到“Paging in / out”图表中的活动, 即使内存图表仍有未使用的内存 :


经过进一步的调查,我发现df报告/tmp被挂载在swap 。 在网上浏览,我明白, df将显示swap ,但实际上,它被挂载为一个tmpfs 。 现在我不知道这是否解释了交换活动。
solaris默认的munin-plugin使用kstat -p -c misc -m cpu_stat来获取这些值。 我觉得这很奇怪,这是使用cpu_stat模块。 所以,也许我只是曲解“分页”图表?
第二个问题:分页图表显示内存部分是否被分页到磁盘? 或者是由/tmp文件操作引起的活动?
第一个问题:是否可以使用默认的系统工具(即不使用top)获取有关SunOS的详细内存信息?
使用Solaris标准工具获取详细的内存统计信息和更多信息是绝对有可能的(SunOS现在只是内核名称)。 除了已经提到的echo ::memstat | mdb -k echo ::memstat | mdb -k ,每个进程和每个用户可以使用prstat -Z和每个区域使用prstat -Z 。
内核还通过kstat接口(munin正在使用它们)提供大量的统计信息。
例如,如果要显示内存总量,内核使用的部分,ZFS高速caching(内核使用内存的一部分)和空闲内存,则可以运行以下命令:
kstat -T d -p :::physmem :::pp_kernel zfs:::size :::pagesfree 1 3
如果您正在查看虚拟内存使用情况,请使用swap -s命令。
第二个问题:分页图表显示内存部分是否被分页到磁盘? 或者是由/ tmp中的文件操作引起的活动?
以上都不是。 有这样的活动并不一定意味着缺乏内存和页面抖动。 相反,你的图表显示的sr值保持在0.这意味着页面扫描器没有活动,因此你有足够的内存安装。 分页活动只是由于内存映射文件被读取和写入。 完全不用担心。 在/ tmp文件只存在于RAM(在你的情况),所以访问它们时不会发生分页。
请注意,Solaris使用交换术语来命名用于存储从RAM中分页的内存页面的磁盘部分,或命名整个虚拟内存空间(即交换区域加上未locking的那部分内存)。
不像你的Linux例子那样详细,但是你可以在mdb中使用:: memstatmacros:
# echo ::memstat | mdb -k Page Summary Pages MB %Tot ------------ ---------------- ---------------- ---- Kernel 178001 1390 69% Anon 52748 412 21% Exec and libs 1905 14 1% Page cache 16115 125 6% Free (cachelist) 6654 51 3% Free (freelist) 1452 11 1% Total 256875 2006 Physical 255662 1997
内核 :用于不可分页内核分配的内存
匿名 :匿名内存(进程堆,堆栈,共享内存映射等)
Exec和libs :用于映射文件(如可执行文件和库)的内存
页面caching :未映射页面caching的数量,包括存储在/ tmp中的数据
空闲(cachelist) :空闲列表上的页面caching量,大部分由文件系统caching使用
免费(freelist) :实际上真正免费的内存量
这两本关于Solaris内核(Solaris内核,第二版和Solaris性能和工具)的书籍由McDougall和Mauro撰写,对于了解Solaris以及如何观察它非常有帮助。