Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- page
- buddy_system
- vmalloc
- memory
- kafka
- Network
- mm_struct
- allocator
- Linux
- Android
- proc
- Apache
- lruvec
- blk-mq
- slowpath
- Kernel
- multiqueue
- fastpath
- commit
- BLOCK
- devicedriver
- slab
- slub
- 카프카
- vm_area_struct
- NDK
- spinlock
- pmap
- kmalloc
- strex
Archives
- Today
- Total
목록LRU (1)
Art of Pr0gr4m
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/WI58k/btqEcopkT46/4ijPZ3ydE7flQHDfvbmKq0/img.png)
리눅스 커널은 메모리 부족시 reclaim에 LRU(Least Recently Used) 정책을 사용한다. 1. Basis 커널은 리스트를 이용하여 LRU를 구현한다. 커널 2.4엔 하나의 리스트를, 커널 2.6.28 이전엔 active_list와 inactive_list를, 그 이후엔 5개의 리스트를 사용했다. 또한, 커널 4.7까지는 리스트를 구조체 zone에서 관리했는데, 4.8부터는 구조체 pglist_data에서 관리한다. 5개의 리스트는 다음과 같다. pglist_data->__lruvec.lists[LRU_INACTIVE_ANON] pglist_data->__lruvec.lists[LRU_ACTIVE_ANON] pglist_data->__lruvec.lists[LRU_INACTIVE_FILE..
IT/Linux Kernel
2020. 5. 17. 18:58