본문 바로가기

ubuntu

(6)
ftrace 커널 성능 측정도구 사용법[How to ues ftrace] /sys/kernel/debug/tracing 이라는 폴더에 ftrace가 있다. ftrace는 성능에서 실질적으로 오버헤드가 없는 상태에서 추적이 가능하다 ...더보기 라고 문서에 나와있지만 netperf 측정시, ftrace를 키고하니 성능이 30%정도 내려갔다. 일반 프로그램에선 오버헤드가 별로 없지만 커널 컴파일등의 상황에서는 오버헤드를 확인할 필요가 있다. 기본사용법으로 1. 필터할 커널 함수 설정 2. trace되는 결과 설정 3. trace 결과 4. 추가적인 옵션 1. trace filter 함수 설정 set_ftrace_filter 파일에 어떤 함수를 trace하고 싶은지 설정한다. $echo vhost* > set_ftrace_filter $echo handle_rx* >> set_ft..
Linux module comfile kernel 리눅스 모듈 컴파일 커널 함수 실행시간 측정 함수 실행시간 측정 예제 : "Ubuntu 18.04.2 LTS", 5.1.5에서 진행 hello.c /******************************************************** ********함수가 시작되고 종료되기 까지의 시간 측정******** ********************************************************/ #include #include #include //#include #include #include #include //struct timespec start_point, end_point; //int sec; //long nsec; #define MAX_FUNC 20//허용가능한 함수의 개수 int fperf_num=0;//현재..
우분투 프로파일링 perf, top 정확도(ubuntu performance tools) 커널의 병목현상을 확인하기 위해 보통 프로파일링도구를 사용한다. 보통 perf와 top, htop등을 사용한다. perf는 아래의 단계를 진행한다. sampling을 통한 event정보 수집 및 분석 profiling : 병목 구간을 찾아내기 위함 측정중 htop과 top는 비슷한 결과가 나오지만 perf stat을 통한 측정은 다른 결과가 나오는걸 확인했다. top방식은 약 99%으로 측정이 되지만 perf stat는 긴시간에도 불구하고 80%정도의 성능이 측정되었다. 추후 알게된 결과로는 perf 사용시 process 번호를 지정하지 않으면 정확도가 떨어진다. 그래서 cpu 사용량 성능 측정시에는 perf를 사용하지 않고 pidstat 이나 mpstat를 사용하는게 좋은것 같다.
리눅스 커널 컴파일 [ubuntu kernel compile] 커널 컴파일 과정을 요약하면 커널 컴파일은 언제 하나? 커널은 시스템을 운영하기 위한 가장 기본적인 코드가 포함되어 있어야 한다. 즉, 장치 혹은 시스템의 기능과 관련된 변화가 있을 경우 새로운 커널을 생성해야 한다. 현재 시스템은 어떠한 장치가 장착되어 있으며, 어떠한 목적으로 시스템을 운영할 것인가에 따라 커널의 구성요소가 달라질 수 있다는 것을 의미하며, 현재 커널에는 어떠한 것들을 지원하는가에 대한 정보는 커널 소스 디렉토리에 존재하는 Documentation 디렉토리에서 해당 정보를 얻을 수 있다. 만약 현재 시스템을 운영하기 위해 필요로 하는 장치에 대한 정보나 기능에 대한 핵심 코드가 현재 커널에 존재한다면 굳이 커널을 업그레이드 하거나 새로 생성할 필요가 없다. 하지만 간혹 커널 자체에 보..
우분투 커널 5.0업그레이드 및 커널 수정 [How to upgrade linux Kernel 5.0~ on ubuntu 18.04 LTS with kernel compile] 전에 작성한 ukuu를 사용한 방법보다 추천하는 방법이다. 이유는 kernel source를 직접 다룰수 있고 커널에 필요한 모듈이 있으면 source해당 디렉토리에서 make하고 바로 insmod 할 수 있기 때문이다. 커널 소스다운로드 커널 컴파일 커널 설치 1) 커널 소스 다운로드 http://kernel.org [ The Linux Kernel Archives www.kernel.org ](https://www.kernel.org/) 위 사이트에서 커널 소스를 다운로드 할수 있습니다. 저는 stable인 5.1.5를 다운로드 했습니다. 2) 커널 컴파일 커널 컴파일에 앞서 필요한 패키지를 설치해야 합니다. $ sudo apt-get update $ sudo apt-get install build-..
우분투 커널 5.0 업그레이드 [How to upgrade linux Kernel 5.0 on ubuntu 18.04 LTS with ukuu] 해당 kernel upgrade는 간단하고 빠른 설치방법입니다. kernel source를 편집하거나 kernel source에서 모듈을 추가하거나 안정적인 동작을 원하시는 분들은 kernel complie을 통한 kernel upgrade를 추천해드립니다. 2019/05/31 - [프로그래밍/Linux] - How to upgrade linux Kernel 5.0~ on ubuntu 18.04 LTS withkernel compile How to upgrade linux Kernel 5.0~ on ubuntu 18.04 LTS withkernel compile 전에 작성한 ukuu를 사용한 방법보다 추천하는 방법이다. 이유는 kernel source를 직접 다룰수 있고 커널에 필요한 모듈이 있으면 so..