Dentry Cache and Inode cache

192 views
Skip to first unread message

Min Lee

unread,
Sep 24, 2011, 9:19:29 PM9/24/11
to osin...@googlegroups.com
Dentry Cache and Inode cache
커널이 slab allocator위에서 구현하고있는 주요한 두개의 캐시가..
dentry cache와 inode 캐시입니다..
추가해봤습니다.. Andi Kleen의 그림이 커널의 메모리 사용 overview를 잘 보여
주네요....

Min Lee

unread,
Sep 25, 2011, 11:02:00 AM9/25/11
to osin...@googlegroups.com
요즘처럼 메모리가 큰 경우엔 램디스크등 다른 방식으로 메모리를 활용하는 사람
들도 늘어나는것같네요..하지만 램디스크는 잘써야 이득이죠...

--

일반적으로 메모리는 많을수록 좋은것은 이처럼 디스크 캐시 용량이 늘어나기 때
문입니다. 과거에는 메모리가 부족한 편이었기때문에 그러했지만, 최근에는 메모
리가 풍족해져서 디스크 캐시가 무작정 많다고만 좋은것은 아닌듯 싶습니다. 이
미 사용자의 워킹셋을 넘어서는 수준이기 때문이죠. 한 16GB정도의 메모리에서
메모리를 무식하게 먹는 workload가 아닌 일반적인 데스크탑 유저들의 경우에 한
12GB정도는 전부 디스크 캐시로 쓰이는것 같습니다. 커널과 프로세스들의 메모리
사용량을 합쳐도 4G미만인것 같군요. 이때 예를들어 5G정도의 디스크 캐시만이
활발히 사용되고 있다면 나머지 7G의 디스크 캐시는 실제로는 낭비되는 셈입니
다. 또 캐시의 한계로 인해 한 11G쯤되는 화일을 sequential하게 쭉 읽어온다면
디스크 캐시가 flush되어버리는 효과가 나타나게 됩니다. 이런때에는 유저는 차
라리 램디스크등으로 남는 램을 활용하는 것이 이득입니다. 물론 일반적으로 디
스크 캐시가 잘 해주기때문에 램디스크는 효용성이 없습니다만 이처럼 워킹셋을
넘기는 경우에는 차라리 유저가 디스크캐시보다 더 효율적으로 램을 활용할수 있
겠습니다. 결론은 이런경우엔 램디스크등 다른 방식으로 램을 활용해라. 단, OS
보다 잘 활용해라. 그럴 자신없으시면 그냥 OS에게 넘기시면 되겠습니다.

Reply all
Reply to author
Forward
0 new messages