본문 바로가기

programming

(31)
라즈베리파이사용해서 식물 자체배양시스템 및 센서 데이터 저장하기(Python3)[1]-라즈베리파이에 라즈비안 설치 보호되어 있는 글입니다.
전북대학교 컴퓨터공학부 졸업후기 보호되어 있는 글입니다.
리눅스 용량 부족할때 커널로그 삭제 우분투를 사용하던중 사용하던 kvm이 동작을 안하고 tab키를 눌러 자동완성을 하는것도 잘안되는 상황이 나타났다. -bash: cannot create temp file for here-document : No space left on device df -h 로 디스크 공간을 확인해보니 100%으로 꽉차있었다.. 휴지통을 비워도 그대로였다.. 도대체 뭐가 이렇게 쌓여있는걸까.. /var/log로 들어가 보니 엄청나게 많은 log파일이 존재하고 있었다...! cat /dev/null > /var/log/kern.log 를 사용하면 파일 자체와 모든 퍼미션은 그대로 가지고 내용만 지울수 있다! 파일의 크기가 '0'이된다. 하지만 rm -r * 으로 모든 로그파일을 삭제해버렸다. 모두 삭제하니 무려 22G이나..
목적과 세이렌 (Siren) 사이렌의 어원은 세이렌입니다. 세이렌은 그리스로마에 나오는 상체는 여자고 몸은 새인 님프입니다. 더보기 고대 그리스어로 세이렌(Seirên), 라틴어로 시렌(Siren, 사이렌)이라 불리는데, ‘휘감는 자, 옴짝달싹 못하게 얽어매는 자, 묶는 자’라는 뜻의 옛 그리스어에서 비롯된 명칭이라고 한다. 스타벅스의 로고에도 세이렌이 있는데 그 의미는 사람들을 이 세이렌처럼 홀려서 스타벅스를 자주 찾게 하겠다는 뜻이 담겨 있습니다. 세이렌은 신비로운 노래소리로 뱃사람들을 매혹하여 잡아먹거나 배를 난파시킵니다. 그리스 로마신화에서 오디세우스는 고향으로 가는 여정에서 세이렌의 유혹을 막기위해 부하들의 귀를 밀랍으로 막으라고 지시했다고 합니다. 이러한 세이렌이 우리들 주변에 많이 있다. 어떠한 목적을 이루려고 하는데 ..
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 설명 및 간단 사용법 (Performance Counter for Linux) 1. perf란? 2. perf설치 3. perf 종류 및 사용법 1. perf란? 리눅스 시스템 성능 프로 파일링하는 도구이다. 더보기 프로파일링 (profiling, 프로그램 프로파일링/소프트웨어 프로파일링) 또는 성능 분석은 프로그램의 시간 복잡도 및 공간(메모리), 특정 명령어 이용, 함수 호출의 주기와 빈도 등을 측정하는 동적 프로그램 분석의 한 형태이다. 프로파일링 정보는 대개가 프로그램 최적화를 보조하기 위해 사용된다. 프로파일링은 프로파일러(profiler)라는 도구를 사용하여 프로그램 소스 코드나 이진 실행 파일을 계측 분석함으로써 수행한다. linux kernel에 포함된 systeml 영역부터 user-level까지 한번에 성능(프로세스 및 코어별 사용량, 캐시 미스 등)에 대한 tr..
우분투 프로파일링 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를 사용하는게 좋은것 같다.