본문 바로가기

기술

(32)
리눅스/Ubuntu) Huge page 관련 실험 과정 실험 1 1. FIO 실행 --> free -m 으로 cache 할당량 확인후 메모리가 거의full 될 때 까지 대기 2. XSBench 실행 --> cat /proc/meminfo | grep Anon 으로 Anonymous 메모리 할당량 및 Hugepage 할당량 확인 --> 1초마다 로그 남기기 1. THP 활성화 echo always > /sys/kernel/mm/transparent_hugepage/enabled echo always > /sys/kernel/mm/transparent_hugepage/defrag 2. FIO 설치 $ apt-get install fio 사용법 Random Read : fio --directory=[마운트한 폴더명] --name [파일 이름] --direct=1 ..
리눅스/Linux) Ubuntu THP 활성화 / 비활성화 ~/transparent_hugepage/enabled 리눅스에서 THP 활성화 또는 비활성화 시키기 // THP 활성화 여부 확인 $ cat /sys/kernel/mm/transparent_hugepage/enabled >> always [madvise] never $ sudo su // password 입력 // 활성화 $ echo always > /sys/kernel/mm/transparent_hugepage/enabled $ cat /sys/kernel/mm/transparent_hugepage/enabled >> [always] madvise never // 비활성화 $ echo never > /sys/kernel/mm/transparent_hugepage/enabled $ cat /sys/kernel/mm/transparent_hugepage/en..
Linux address mapping, NUMA, virtual NUMA, SMP, vCPU Preemption, FxMark, memory compaction, THP, Buddy, cgroups, Lock, ftrace, Linux memory protection etc 가상화 환경에서의 NUMA 기반 락 성능 분석 논문 작업을 하면서 백그라운드 공부하면서 간략하게 정리해둔 것들입니다. Notion에 정리해 두어 아래 링크를 참조해주시면 감사하겠습니다. 저도 그냥 개념 공부하면서 이해하기 위해 작성한 글이라 깔끔하지 못한 점 양해 부탁드립니다. Basic Background Knowledge A new tool for teams & individuals that blends everyday work apps into one. www.notion.so
리눅스 커널 심층 분석 개정 3판 : 15장. 프로세스 주소 공간 Linux Kernel Development Third Edition : Chapter 15. The Process Address Space 리눅스 커널 심층 분석 개정 3판 : 15장. 프로세스 주소 공간 Linux Kernel Development Third Edition : Chapter 15. The Process Address Space 리눅스 커널 심층분석 이 책은 리눅스 커널의 핵심을 간결하면서도 심도있게 다루고 있다. 일반적인 운영체제에 대한 이해를 넘어, 여타 유닉스 시스템과 다른 리눅스만의 특징적인 부분에 대한 설계, 구현, 인터페이 book.naver.com Notion에서 보기 The Process Address Space => 이번 챕터에서는 커널이 어떻게 process address space*를 관리하는지 다룸 *Process address space: 시스템 상에서 유저 스페이스 프로세스 각각에 주어진 메모리 / ..
리눅스 커널 심층 분석 개정 3판 : 14장. Block 입출력 계층 Linux Kernel Development Third Edition : Chapter 14. The Block IO Layer 리눅스 커널 심층 분석 개정 3판 : 14장. Block 입출력 계층 Linux Kernel Development Third Edition : Chapter 14. The Block IO Layer 리눅스 커널 심층분석 이 책은 리눅스 커널의 핵심을 간결하면서도 심도있게 다루고 있다. 일반적인 운영체제에 대한 이해를 넘어, 여타 유닉스 시스템과 다른 리눅스만의 특징적인 부분에 대한 설계, 구현, 인터페이 book.naver.com Notion에서 보기 Linux Kernel Development The Block I/O Layer => 이번 챕터에서 커널이 어떻게 블록 디바이스와 블록 디바이스 요청을 관리하는지에 대해 배움 ( = block I/O layer) Anatomy of a Block Devic..
리눅스 커널 심층 분석 개정 3판 : 13장. 가상 파일시스템 Linux Kernel Development Third Edition : Chapter 13. The virtual filesystem 리눅스 커널 심층 분석 개정 3판 : 13장. 가상 파일시스템 Linux Kernel Development Third Edition : Chapter 13. The virtual filesystem 리눅스 커널 심층분석 이 책은 리눅스 커널의 핵심을 간결하면서도 심도있게 다루고 있다. 일반적인 운영체제에 대한 이해를 넘어, 여타 유닉스 시스템과 다른 리눅스만의 특징적인 부분에 대한 설계, 구현, 인터페이 book.naver.com Notion에서 보기 virtual filesystem = virtual switch = VFS 유저 스페이스 프로그램에 제공되는 파일시스템 인터페이스 커널의 서브시스템 VFS는 파일시스템이 공존하고 상호운용될 수 있도록 지원한다. 프로그램이 다른 파일 시스템, 다른 미디어에 ..
리눅스 커널 심층 분석 개정 3판 : 12장. 메모리 관리 Linux Kernel Development Third Edition : Chapter 12. Memory management 리눅스 커널 심층 분석 개정 3판 : 12장. 메모리 관리 Linux Kernel Development Third Edition : Chapter 12. Memory management 리눅스 커널 심층분석 이 책은 리눅스 커널의 핵심을 간결하면서도 심도있게 다루고 있다. 일반적인 운영체제에 대한 이해를 넘어, 여타 유닉스 시스템과 다른 리눅스만의 특징적인 부분에 대한 설계, 구현, 인터페이 book.naver.com Notion에서 보기 1. Page page: 가상 메모리 관점에서 메모리 관리의 기본/최소 단위 커널은 struct page 구조체로 모든 물리적 페이지를 표현한다 struct page{ unsigned long flags; /* 페이지 상태 저장 */ atomic_t_count; /* ..
리눅스 커널 심층 분석 개정 3판 Linux Kernel Development Third Edition) Chapter 3. 프로세스 관리 Process Management 정리 리눅스 커널 심층 분석 개정 3판 : 3장. 프로세스 관리 Linux Kernel Development Third Edition : Chapter 3. Process management 리눅스 커널 심층분석 이 책은 리눅스 커널의 핵심을 간결하면서도 심도있게 다루고 있다. 일반적인 운영체제에 대한 이해를 넘어, 여타 유닉스 시스템과 다른 리눅스만의 특징적인 부분에 대한 설계, 구현, 인터페이 book.naver.com Notion에서 보기 Process (=task) : 실행 중인 프로그램 사용 중인 파일, 대기중인 시그널, 커널 내부 데이터, 프로세서 상태, 실행 중인 스레드 등 모든 자원 포함 리눅스에서 fork()로 프로세스 생성 : 존재하는 프로세스를 duplicate / 부모 프로세스를 호출 -..