General Solaris 10 Discussion - vmstat 5 free-list

I have a question on Solaris 10 running on sparc platform. On an roughly idle system (no one is running anything (not even the cron jobs) except me), I have, on the one hand, a script running rsync, and the other "vmstat 5" tracking the free-list column. I noticed that the free-list keeps on dropping as the script is running. After the script ends, the free-list does not go up back to it was before the script was started. The free-list numbers just go up tiny little bit by bit. I don't know if this is normal. Almost an hour has passed after running the script, the number has increased by around 4000 (which is around 4MB). Can someone tell me if that is normal? And also, can someone explain this? The server is running,

Generic_118833-36 sun4u sparc SUNW,Ultra-80

Thanks.

-- Daniel.

[816 byte] By [Supernovaa] at [2007-11-26 23:16:33]
# 1
Are you using ZFS?Does 'swap -s' output appear similar before and after the rsync?How about "echo ::memstat | mdb -k" output before and after? (That can take several seconds to run)-- Darren
Darren_Dunhama at 2007-7-10 14:17:16 > top of Java-index,Solaris Operating System,Solaris 10 Features...
# 2
Please check the following piece of the article 'Solaris 8 Memory Architecture': http://developers.sun.com/solaris/articles/sol8memory.html#whereIt still applies to Solaris 10.
giri04a at 2007-7-10 14:17:16 > top of Java-index,Solaris Operating System,Solaris 10 Features...
# 3

solaris 10 is different to all preceeding solaris releases wrt freelist. The freelist is really pages that are completely free. if you use a page to hold file contents so that its identity( vnode+ offest) are still valid then when you are finished with the page its goes onto a cachelist where it can easily be reused if the vnode+offset are required. Things only move to the freelist when their identiy becomes void ie the file is rm'ed.

when the freelist drops to 0 then pages can be easily taken from the cachelist and have their identity changed.

So the traditional freelist is really the sum on the solaris 10 freelist+cachelist, the freelist on its own will drop over time as files are read and the pages allocated.

This change was made to allow the page management to scale as earlier implementations were limited by the ability of one cpu to clean dirty pages on to the freelist.

This is much better described in the solaris 10 internals books.

tim

tim.uglowa at 2007-7-10 14:17:16 > top of Java-index,Solaris Operating System,Solaris 10 Features...