r****t 发帖数: 10904 | 1 slabtop 里面 1G 的 cache, 在 top / free 下面都算成了"used", not in "cached"/
"buffers"了,这合理么? | S*A 发帖数: 7142 | 2 这个是我猜的,不对欢迎指正。
icache 里面的东西在 worse case 是不能被 shrink 的。
因为 inode 不是在 page boundary 里面的。而且你正在 open 的 file
都是算在 inode cache 里面的。最坏情况下每个 page 有一个 inode
正在使用, 调用 struct shrinker->shrink = shrink_icache_memory
以后什么都释放不出来。要精确表示可以有多少 memory 可以被 free
出来需要走完整个 icache 才能确定。所以统计的时候用了最坏情况。
这个和 page cache 不一样。只要不是 dirty 的 page cache 马上
可以释放。用的时候再读进来好了。
而且这个明显不是 page cache, 当然不应该算在 page cache 里面。
"/
【在 r****t 的大作中提到】 : slabtop 里面 1G 的 cache, 在 top / free 下面都算成了"used", not in "cached"/ : "buffers"了,这合理么?
| v*****r 发帖数: 1119 | 3 不知道你怎么算的,"cached" column 是包括 inode cache 和 page cache 的。
“Used" column 包括 了 "cached" column + user space memory.
"/
【在 r****t 的大作中提到】 : slabtop 里面 1G 的 cache, 在 top / free 下面都算成了"used", not in "cached"/ : "buffers"了,这合理么?
|
|