LINUX
Posts
477 posts[리눅스커널] 워크큐: struct worker 구조체 파악하기
워커를 관리하고 저장하는 자료구조는 worker 구조체입니다. 이번 절에서는 worker 구조체의 세부 필드를 분석하겠습니다. worker 구조체 분석 다음은 worker 구조체의 선언부입니다. struct worker {2 union {3 struct list_head entry; 4 struct hlist_node hentry; 5 };6 struct work_struct *current_work; 7 work_func_t current_func; 8 struct pool_workqueue *current_pwq; 9 bool desc_valid;10 struct list_head scheduled; 1112 struct task_struct *task; 13 struct worker_p
리눅스 bash 스크립트에서 변수/배열/연관배열 삭제/초기화
리눅스 bash 스크립트에서 변수 또는 배열을 삭제하는 명령은 unset이다. 우선 변수에 대해서 아래의 예시를 보자. # 문자열 "abc"를 변수 var에 할당 var="abc" # 변수 var에 할당된 내용 출력 echo "$var" abc # 변수 var 삭제 unset var # 변수 var에 할당된 내용 출력 echo "$var" unset에서 지정하는 변수명 앞에 "$" 표시가 붙지 않는다는 점에 유의. 만약 "$"를 붙이면 해당 변수명이 아니라 변수에 할당된 값이 unset의 인자(argument)로 지정되기 때문이다. 배열에 대한 삭제/초기화 작업도 같은 요령이다. 우선, 리눅스 bash 스크립트에서 배열(array)을 활용하는 기본적인 방법은 이
[bash:awk] awk를 이용한 분산/표준편차 계산
awk를 이용해서 파일에 저장된 값들의 분산(variance)과 표준편차(standard deviation)를 계산하는 방법이다. 표준편차를 계산하려면 우선 평균을 알아야 한다. awk를 이용한 평균값 계산은 이전 게시물을 참고하자. 여기로 전에 사용한 것과 동일한 예시를 사용해서 표준편차를 계산해 보자. data.txt 파일에 저장된 자료는 아래와 같다. # data.txt 내용 확인 cat data.txt john 12.35 jane -34.5 thomas 3.9 우선 평균을 계산하여 변수 mean에 할당한다. # 평균값을 계산하여 변수 mean에 할당 mean=`awk '{ sum += $2; cnt++ } END { print sum/cnt }' data.txt`
Percona mysql에 Haproxy check 연동
Tocu 엔진을 사용하려 퍼코나 mysql을 설치하고 haproxy에 연결하려고 하니 각 DB 서버에 Load balance는 정상적으로 작동을 하는데, db health check가 되지 않는다.그래서 찾아보니 기존 mysql에서는 haproxy에서 DB 서버로 haproxy 계정으로 로그인하여 DB가 살아있는지 체크를 했었는데, percona mysql에서는 xinetd 에 mysqlchk 서비스를 추가하여 9200번 포트를 통해 DB서버로 통신하고, DB서버에서 mysqlchk 스크립트를 통해 체크를 수행하는것 같다.아래는 테스트 진행 내용을 정리해 보았다. 구성 환경각 OS : Centos 7.7DB 서버 3대 : Percona mysql 8.0 설치.Haproxy 서버 2대 : Ha


