The Solaris kernel operates on the assumption that
"free memory is wasted memory". Pages used for file
I/O will not be added to the free list unless they become
unreferenced (i.e., the file they belong to is both closed
and removed). Such pages are available for re-use but are
kept as a disk cache. After some period of operation,
Solaris will reach a point where all memory has been used
in the past and freemem will be reported as a low number from
that point on.
In Solaris 8 the filesystem cache was changed significantly;
as a result of these changes, cached pages are now reported
as free memory even though they still hold cached file data.