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 | 29 | 30 |
Tags
- spinlock
- pmap
- kafka
- slowpath
- devicedriver
- fastpath
- lruvec
- page
- strex
- Kernel
- proc
- multiqueue
- blk-mq
- 카프카
- vm_area_struct
- NDK
- Apache
- allocator
- buddy_system
- BLOCK
- memory
- slub
- slab
- mm_struct
- Linux
- kmalloc
- Network
- commit
- vmalloc
- Android
Archives
- Today
- Total
목록LRU (1)
Art of Pr0gr4m
[Linux Kernel 5] LRU (Memory Reclaim)
리눅스 커널은 메모리 부족시 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