리눅스 및 DB 10

vi 명령어

vi 명령어 command line 명령어 내 용 vi file vi를 시작하여 지정한 파일 편집 vi -r file 읽기 전용(read- only) 편집기로서 vi를 시작하여 지정한 파일 편집 view file 읽기 전용(read- only) 편집기로서 vi를 시작하여 지정한 파일 편집 vi -r 되살릴 수 있는 모든 파일 이름 보여주기 vi -r file vi를 시작하여 지정한 파일 되살리기 편 집 명 령 내 용 i 입력 모드로 전환, 커서 위치 앞에서 삽입 a 입력 모드로 전환, 커서 위치 뒤에서 삽입 I 입력 모드로 전환, 현재 줄의 앞에 삽입 A 입력 모드로 전환, 현재 줄의 끝에 삽입 o 입력 모드로 전환, 현재 줄의 아래에 전개 O 입력 모드로 전환, 현재 줄의 위에 전개 :e file 지정..

리눅스 및 DB 2009.06.10

makefile 에 대한 정리

가끔 makefile을 쓰면서도 기존에 쓰던걸 편집해서 명령어 단축키용도로만 써왔던거 같다. 책을 보다가 makefile이 의존성을 나타내는 기능이 있다는 걸 알고 정리겸 포스팅을 한다. 1. makefile의 기본형식 타켓(목표이름): 대상(조건파일) 명령어 2. 의존성 - 오른쪽 대상에 변경사항(파일의 변경시간 기준)이 있을 경우 왼쪽 타켓을 다시 실행 3. 생략형 $@ 목표 이름 $* 목표 이름에서 확장자가 없는 이름 $

리눅스 및 DB 2008.07.17

[리눅스] 시그널에 대하여

GNU 소프트웨어로 프로그래밍하기 라는 책을 보고 있다. make file의 각종 옵션이나 gdb같은 디버그 툴에 대해 평소 잘 몰랐던 의문들이 많이 풀리는 느낌이다. 그 와중에 시그널에 대한 내용이 있어, 평소 인증 소스상에 있던 sigset(SIGINT, SIG_IGN) 등의 문구가 기억나서 해당 내용을 조금 찾아봤다. 네트워크 프로그램 개발시에 알아두면 좋은 내용들.. 기본적인 시그널 정도는 기억하고 있자. 우리는 흔히 kill -9 pid로 9를 주면서도 9가 의미하는게 먼지 모르고 할 경우가 많다. 9가 SIGKILL 로 정의되있기 때문에 9를 주면 SIGKILL 시그널을 프로세스에 전달해 준다. 시그널 이름 설명 SIGHUP 터미널을 읽어버렸을때 발생한다. SIGABRT 프로그램의 비정상종료시..

리눅스 및 DB 2008.07.15

[리눅스] %iowait 에 대한 이해

운영하고 있는 MySQL 서버중에 트래픽 통계를 집계해서 보여주는 DB가 있는데, 매시간 배치작업이나 데이터 양으로 속도개선이 필요하다. 다음주에 Mysql 버전을 5.1.25로 올리면서 partitiong과 replication을 구현해서 올릴 예정이다. 대체 예정 서버에서 배치프로그램과 쿼리들을 실행시키면서 테스트를 하고 있다. 그런데, sar 명령등에서 %iowait이 배치작업 도중 25% 정도까지 올라가는 현상이 있었다. 기존 운영서버에서는 거의 0%인데, 대체서버에서 왜 올라가는 것일까? 혹시 추가로 꽂은 디스크쪽에 io가 문제가 있는게 아닐까 하는 생각이 들었다. 그러나, %iowait에 대해 좀더 확인해 보니, %iowait 의 의미는 CPU 가 idle 이지만 I/O 가 끝나기를 기다리는 ..

리눅스 및 DB 2008.06.26

[리눅스] vmstat 과 sar 명령

리눅스의 메모리, CPU, IO 등을 확인할 수 있는 유용한 명령어로 vmstat과 sar가 있다. 1. vmstat 5 와 같이 하면 5초 간격으로 모니터링 정보를 갱신하며 보여준다. 해당 항목들의 의미와 점검점은 다음과 같다. 구분 설명 proc r CPU에서 대기 중인 프로세스의 수를 의미한다. 이 값이 증가하거나 r 개수/cpu 개수의 값이 항상 2 이상 나온다면 CPU의 성능을 높여주어야 한다. b 동작하는 블럭 프로세스의 수 이 값이 높다면 블럭 디바이스의 속도를 높여야 한다. w swap out되는 프로세서의 수이다.w에 값이 증가하면 메모리가 매우 부족하다는 의미이므로 메모리를 늘려야 한다. memory(KB) swapd 현대 메모리가 부족해 swap을 사용하고 있는 양을 의미한다. 평소에..

리눅스 및 DB 2008.06.26

Mysql(Out of resources when opening file)

Mysql partitiong 테스트로 구축해서 배치작업등을 돌려보고 있다. 오늘은 배치작업들이 다음과 같은 에러를 내면서 실패했다. Statement failed: error 23 (Out of resources when opening file './weblink/wl_img_ht_tbl_R#P#p22.MYD' (Errcode: 24)) 즉, 파일을 열 수 있는 제한에 다다랐다는 말이다. partitiong을 구현하면서 파일의 개수가 많아져서 에러가 발생한 것으로 보인다. 현재 5.1 버전에서의 파티셔닝에서 테이블 조회시 해당 파티셔닝에 해당하는 파일만 접근하는 것이 아니라, 해당 테이블의 모든 파일을 읽어들인다고 한다. open_files_limit 값을 증가시켜주기 위해 my.cnf에 open-fi..

리눅스 및 DB 2008.06.24

mysql bug(This could be because you hit a bug)

개발장비에 mysql 5.1.24를 깔아서 partitioning 등 기능을 테스트하고 있다. 오늘은 mysqldump를 받는데 장비가 hang이 걸려서 리붓이 됐다; 테이블사이즈가 커서 dump파일이 2G가 넘는게 몇개 있긴 했지만, 5.0버전에서 잘 돌고 있던 거라 dump를 다시 실행시켰다. out of memory 라는 메시지가 나와서 dump받던 프로세스를 kill 로 죽이고, my.cnf에서 mysqldump 실행시 max_allowed_packet 값을 좀 키운다음 mysql을 내렸다가 다시 올리려고 하는데.. 아래와 같은 에러가 나면서 mysqld이 안 올라간다;; my.cnf바꾼거 때문인가 해서 원복해도 안되고... 몇번의 삽질과 검색끝에.. mysql의 버그라고 한다; 최근에 5.1.2..

리눅스 및 DB 2008.06.18

MySQL 인덱스 관련참고

요즘 MySQL DB replication을 구현하려고 개발장비에서 테스트를 하고 있다. 그런데, 개발 DB를 보다 보니 몇 개의 table의 index가 disable상태였다. 운영DB내용 dump받은 걸 넣은건데 몇몇 테이블만 인덱스가 disable이라니..이상하다; 어쨌든, MySQL의 인덱스는 아래 명령어로 disable, enable시킬수 있었다. ALTER TABLE foo DISABLE KEYS; ALTER TABLE foo ENABLE KEYS; 찾다보니 대용량 데이터를 insert할때 index를 disable해두면 속도가 빠르다고 한다. MySQL은 인덱스 생성시 별도 테이블로 카피해서 rename하는 구조이기 때문에, 인덱스를 삭제 후 생성하는 것 보다, disable해두었다가 ena..

리눅스 및 DB 2007.05.22

로케일 설정

로케일(Locale)에 관하여... 로케일(Locale)의 의미 세계 여러 나라들은 각자 다른 문화(언어, 날짜, 시간 등)을 갖고 있다. 프로그램의 국제화(Internationalization, 줄여서 i18n)는 사용자로 하여금 프로그램 수행시 로케일이란 것에 의해 입맛에 맞는 환경을 선택할 수 있도록 만든 것을 말한다. 예를 들어 어떤 프로그램의 메시지가 여러가지 언어로 주어져 있는 경우 이중에 어떤 언어의 것을 출력할 것인가를 사용자가 결정할 수 있는 것이다. 그것을 가능하게 해 주는 수단이 바로 로케일이다. 이것은 단순히 메시지 뿐만이 아니고 숫자표현법, 날짜 또는 시간표현법 등 여러가지에 사용될 수 있다. 그것 각각을 우리는 카테고리(category)라고 부른다. 카테고리에는 LC_COLLAT..

리눅스 및 DB 2007.04.26

리눅스 관련 여러가지 셋팅법

리눅스 관련 여러가지 셋팅법 및 팁 2007.02.19 15:03 http://tong.nate.com/desnlife/34031388 ▶▷ 계정 만들기 ◁◀ ◎ vi add,id ==> ./ad ▶▷ MySQL 계정 만들기 ◁◀ ◎ mysqladmin -u아이디 -p비밀번호 create ID 로드 데이타 삽입 mysql -u user -p***** --local-infile DB ▶▷ MySQL 계정 유저 연결 하기 ◁◀ ◎ my ◎ GRANT ALL PRIVILEGES ON 아이디.* TO 아이디@localhost IDENTIFIED by '비밀번호'; ◎ myrelod ▶▷ - 가 있는 MySQL 계정 만들기 ◁◀ ◎ my ◎ use mysql ◎ insert into user (host,user,..

리눅스 및 DB 2007.04.20
반응형