我想了解ZFS ARC的内部工作原理。 不过,我对以下几件事情感到困惑:
实际( zfs:0:arcstats:size )与目标大小( zfs:0:arcstats:c )。 我明白,实际大小分配和存储caching的内容。 但是,目标尺寸是多less呢? 这两者有什么区别?
mru_size( zfs:0:arcstats:p )+ mfu_size( zfs:0:arcstats:c – zfs:0:arcstats:p )vs data_size( zfs:0:arcstats:data_size )。 data_size不应该是mru_size和mfu_size的总和吗? 什么是正确的ARC大小分解? 根据http://lists.freebsd.org/pipermail/freebsd-fs/2012-June/014643.html ,它应该是hdr_size + data_size (mru_size + mfu_size + anon_size) + other_size + l2_hdr_size ,但它不会使任何感觉作为mru_size通常比data_size更大。
什么是弧形记忆油门用于?
感谢任何答案/指针。
我相信ARC的目标规模可以增长到多大,实际上目前使用的是多less。 我在我的服务器上看到了这个,我给了它12个演出,但除非碰到它,否则它不会真的坐在12个演出中。 它通常喜欢坐在10-11演出。
这里有一个链接来解释内存节stream。 看起来ZFS最初不是为了记忆而编程的,这很可能就是为什么它在那里。 ( http://www.zfsbuild.com/2012/04/18/let-zfs-use-all-of-your-ram/ )
关于#2,我不确定。 抱歉。
希望这有助于!