Linux
-
Linux I/O 스케줄러(cfq, deadline, noop)커널(Kernel) 2022. 12. 26. 21:14
환경 정보 OS: ubuntu18.04 I/O 발생 흐름 1. 사용자는 읽기나 쓰기를 통해서 I/O를 발생시킨다. 2. 발생한 I/O는 가상 파일 시스템이나 로컬 파일시스템 경로를 거친다. 3. 파일 시스템을 거친 I/O는 I/O 스케줄러를 통해 가공되고(병합, 정렬) 언제 블록 디바이스에 접근할지 정해진다. 4. 블록 디바이스에 접근해서 데이터를 읽거나 쓴다. I/O 스케줄러가 필요한 이유 우리가 사용하는 디스크는 크게 HDD와 SSD가 있다. HDD의 경우, 디스크 헤더를 움직여 데이터가 저장되어 있는 섹션에서 데이터를 읽거나 쓴다. 여러 데이터를 읽거나 쓰기 위해 헤더를 이리저리 움직이는 것은 시간을 많이 사용하게 되고, 결국은 성능 저하를 만든다. 마찬가지로 SSD 또한 한 번에 읽을 수 있는 데..
-
Linux 메모리 정리(buffer, cache, Active/Inactive, slab)커널(Kernel) 2022. 11. 28. 00:16
환경 정보 OS: ubuntu18.04 swap: off 메모리 사용량 확인하기 free -m 사용시 MB 단위로 메모리 사용량을 확인할 수 있다 . total : 시스템의 전체 메모리 양 used : 사용하고 있는 메모리 양 free : 아무도 사용하고 있지 않는 시스템 메모리 양 shared : 프로세스 사이에서 공유하고 있는 메모리 양. ex) glibc buff : 버퍼를 사용하고 있는 메모리양으로 프로세스가 사용하는 메모리 영역은 아니다. 시스템 성능 향상을 위해서 커널에서 사용하는 메모리 양 cache : 페이지 캐시. I/O 관련 작업을 빠르게 진행하기 위해서 커널에서 사용하는 메모리 양 swap : swap 영역에 대한 정보 buffer와 cache 디스크는 커널에 비해 매우 느리기 때문에..
-
Linux 시스템 정보 확인하기(BIOS/CPU/Memory/DISK/NIC)커널(Kernel) 2022. 11. 21. 00:52
환경 정보 OS: ubuntu18.04 Bios 정보 확인하기 dmidecode 커맨드를 사용하면 시스템 컴포넌트의 정보를 쉽게 확인할 수 있다. 다음은 -t bios 인자를 주어 이 시스템의 BIOS를 확인한 것이다. 이 시스템은 American Megatrends Inc 에서 만든 서버이며, bios의 버전이 2019/08/13에 발표된 F2임을 알 수 있다. 시스템 정보 확인하기 주로 이 커맨드를 가장 많이 사용한다고 한다. 이 장비는 Gigabyte Technology Co.에서 만든 B365M D3H 모델이라는 것을 확인할 수 있다. CPU 정보 확인하기 -t processor를 인자로 주면 CPU 정보 확인이 가능하다. 여기서 소켓이라는 말이 나오는데, 소켓은 물리적인 CPU를 의미하며 소켓은..