좀전에 zagent가 특정포트를 잡아먹었지만, 실제로는 좀비 프로세스가 된 상태이다. (바로 밑의 글 보기)

 

zagent는 자원 모니터링 프로세스이다.

이 프로세가 defunct 되면서 자원해제를 덜 되어 특정 포트를 사용할 수 없게 되었다.

 

ps -ef |grep defunct

 

를 이용하여 좀비 프로세스를 찾을 수 있다.

 

zagent가 주기적으로 좀비가 되면. 일정주기로 이용하여 다시 restart해야 한다.

 

fork방식으로 프로세스가 생성될 때, 부모프로세스에게 시그날을 송부하여 부모 프로세스가 정상적으로  자식 프로세스의 자원을 해제를 해야 하는데, 자식 프로세스가 계속 시그널을 받을 수 있는 상태가 되어 자식 프로세스는 살아있는 시체 프로세스가 된다.

 

이 수거되어 가지고 있던 자원을 해제해야 하는 자식 프로세스는 메모리와 프로세스 엔트리, 자원을 계속 hold하고 있는 상태가 되어 다른 프로세스가 해당 자원을 사용하지 못해서 피해를 볼 수 있다.

 

 

'unix and linux' 카테고리의 다른 글

Bash에서 숫자 비교  (0) 2007.10.09
Bash 간단한 내용 정리  (0) 2007.10.09
포트 충돌 (zagent)  (0) 2007.10.08
리눅스에서 최대 파일 크기는?  (0) 2007.10.05
파일시스템 타입 보기  (0) 2007.10.05
Posted by '김용환'
,

 

회사에서 아파치 + 톰캣 연결을 하는데. 여러개의 톰캣 인스턴스를 띄우기 위해서 6000번지부터 sequence하게 쭉 번호를 매기고 있다.

그런데, 특정 port에서 문제가 생겼다.

www계정으로 확인해보니. 다음과 같다.

프로세스가 안나타나서.. 당혹했지만..

 

 netstat -anp | grep 6051
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 0.0.0.0:6051                0.0.0.0:*                   LISTEN      -                  
tcp        1      0 127.0.0.1:6051              127.0.0.1:33565             CLOSE_WAIT  -                  
tcp        1      0 127.0.0.1:6051              127.0.0.1:33841             CLOSE_WAIT  -                  
tcp        1      0 127.0.0.1:6051              127.0.0.1:33315             CLOSE_WAIT  -                  
tcp        1      0 127.0.0.1:6051              127.0.0.1:33836             CLOSE_WAIT  -                  
tcp        1      0 127.0.0.1:6051              127.0.0.1:33322             CLOSE_WAIT  -                  
tcp        1      0 127.0.0.1:6051              127.0.0.1:33629             CLOSE_WAIT  -                  
tcp        1      0 127.0.0.1:6051              127.0.0.1:33627             CLOSE_WAIT  -                  
tcp        1      0 127.0.0.1:6051              127.0.0.1:33625             CLOSE_WAIT  -                  
tcp        1      0 127.0.0.1:6051              127.0.0.1:33183             CLOSE_WAIT  -                  
tcp        1      0 127.0.0.1:6051              127.0.0.1:33182             CLOSE_WAIT  -                  
tcp        1      0 127.0.0.1:6051              127.0.0.1:33178             CLOSE_WAIT  -                  
tcp        1      0 127.0.0.1:6051              127.0.0.1:33932             CLOSE_WAIT  -                  
tcp        1      0 127.0.0.1:6051              127.0.0.1:33968             CLOSE_WAIT  -                  
tcp        1      0 127.0.0.1:6051              127.0.0.1:33722             CLOSE_WAIT  -                  
tcp        1      0 127.0.0.1:6051              127.0.0.1:33707             CLOSE_WAIT  -                  
tcp        1      0 127.0.0.1:6051              127.0.0.1:33495             CLOSE_WAIT  -                  
tcp        1      0 127.0.0.1:6051              127.0.0.1:33245             CLOSE_WAIT  -                  
tcp        1      0 127.0.0.1:6051              127.0.0.1:33242             CLOSE_WAIT  -                  
tcp        1      0 127.0.0.1:6051              127.0.0.1:33220             CLOSE_WAIT  -                  
tcp        1      0 127.0.0.1:6051              127.0.0.1:33737             CLOSE_WAIT  -                  
udp        0      0 0.0.0.0:6051                0.0.0.0:*               

 

 

root 계정으로 보니. 다행히 zagent라는 프로세스를 발견하였다.

 netstat -anp | grep 6051
tcp        0      0 0.0.0.0:6051                0.0.0.0:*                   LISTEN      6426/zagent        
tcp        1      0 127.0.0.1:6051              127.0.0.1:33565             CLOSE_WAIT  6426/zagent        
tcp        1      0 127.0.0.1:6051              127.0.0.1:33841             CLOSE_WAIT  6426/zagent        
tcp        1      0 127.0.0.1:6051              127.0.0.1:33315             CLOSE_WAIT  6426/zagent        
tcp        1      0 127.0.0.1:6051              127.0.0.1:33836             CLOSE_WAIT  6426/zagent        
tcp        1      0 127.0.0.1:6051              127.0.0.1:33322             CLOSE_WAIT  6426/zagent        
tcp        1      0 127.0.0.1:6051              127.0.0.1:33629             CLOSE_WAIT  6426/zagent        
tcp        1      0 127.0.0.1:6051              127.0.0.1:33627             CLOSE_WAIT  6426/zagent        
tcp        1      0 127.0.0.1:6051              127.0.0.1:33625             CLOSE_WAIT  6426/zagent        
tcp        1      0 127.0.0.1:6051              127.0.0.1:33183             CLOSE_WAIT  6426/zagent        
tcp        1      0 127.0.0.1:6051              127.0.0.1:33182             CLOSE_WAIT  6426/zagent        
tcp        1      0 127.0.0.1:6051              127.0.0.1:33178             CLOSE_WAIT  6426/zagent        
tcp        1      0 127.0.0.1:6051              127.0.0.1:33932             CLOSE_WAIT  6426/zagent        
tcp        1      0 127.0.0.1:6051              127.0.0.1:33968             CLOSE_WAIT  6426/zagent        
tcp        1      0 127.0.0.1:6051              127.0.0.1:33722             CLOSE_WAIT  6426/zagent        
tcp        1      0 127.0.0.1:6051              127.0.0.1:33707             CLOSE_WAIT  6426/zagent        
tcp        1      0 127.0.0.1:6051              127.0.0.1:33495             CLOSE_WAIT  6426/zagent        
tcp        1      0 127.0.0.1:6051              127.0.0.1:33245             CLOSE_WAIT  6426/zagent        
tcp        1      0 127.0.0.1:6051              127.0.0.1:33242             CLOSE_WAIT  6426/zagent        
tcp        1      0 127.0.0.1:6051              127.0.0.1:33220             CLOSE_WAIT  6426/zagent        
tcp        1      0 127.0.0.1:6051              127.0.0.1:33737             CLOSE_WAIT  6426/zagent        
udp        0      0 0.0.0.0:6051                0.0.0.0:*                               6426/zagent    

 

아니 먼 일을 하길래, CLOSE_WAIT된 상태로 내비둔거얌.. TCP/IP 통신에서 CLOSE_WAIT는 종료하기 전에 종료 시그널을 받고 마지막 오케이만 받으면 해당 포트를 운영체제 맡겨 종료시키도록 하는 것이다.

 

그래서, zagent 환경설정파일을 보았다.

vi /etc/rc.d//init.d/zagent

#!/bin/sh

# chkconfig: 2345 99 10
# probe: true

[ -f /usr/sbin/zagent ] || exit 0

RETVAL=0

start() {
    echo -n "Starting zagent: "
    /usr/sbin/zagent -start >& /dev/null
    echo
}

stop() {
    echo -n "Shutting down zagent: "
    /usr/sbin/zagent -stop
    sleep 1
    /usr/sbin/zagent -kill
    echo
}

kill() {
    /usr/sbin/zagent -kill
}

restart() {
    stop
    sleep 1
    kill
    start
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        restart
        ;;
    *)
                echo "Usage: zagent {start|stop|restart}"
        exit 1
esac

exit $RETVAL

 

환경설정파일은

다음과 같다.

 

 vi /var/zagent/zagent.ini

USE_WATCHDOG = 1
USERID = admin
MANAGERIP1 = 222.122.201.111
MANAGERPORT1 = 6052
MANAGERIP2 = 222.122.201.112
MANAGERPORT2 = 6052
HOSTPORT = 6051
BUFFER_MEM = off
LOCALIP =
MAX_WORK_THREADS = 5
SAVEONOFF = 0
SAVEPERIOD = 0
MANAGERTYPE = 2
HOSTNUM = 0
HOSTID = 35107

 

오호라 포트 번호가 저렇게 되어 있구나..

 

아무도 해당포트를 안쓰는지 확인하고 포트번호는 8051, 8052로 바꿨다.

데몬 재시작한다.

 

 /etc/rc.d/init.d/zagent restart

 

그리고, 문제는 사라졌다.

 

'unix and linux' 카테고리의 다른 글

Bash 간단한 내용 정리  (0) 2007.10.09
zagent 좀비 프로세스.  (0) 2007.10.08
리눅스에서 최대 파일 크기는?  (0) 2007.10.05
파일시스템 타입 보기  (0) 2007.10.05
스카시 디스크 장비 보기  (0) 2007.10.01
Posted by '김용환'
,

 

 

출처 :

http://www.okjsp.pe.kr/seq/104607

 

 

검정수수료 지원 (기사자격증 취득시 10만원 지원금!)

1.  지원 자격조건
   국가기술자격법 시행규칙 별표 5에 나와 있는 자격증을 2개 이상 취득하되, 
   고용보험 피보험상태에서 취득한 최종취득 자격증이 신청서 접수된 날로부터
   3  년이내에 취득했을 경우

2.  지원되는 부분
  - 최종취득한 자격증의 필기, 실기 검정수수료
  - 10만원(교재구입 및 수강에 필요한 비용)

3.  지원횟수
  2회까지 지원받을 수 있으므로 신청서를 2장 작성할수가 있습니다

////////////////////////////////////////////////////////////////////////////////////

이미 알고 계신분들도 계실꺼고 들어본 적 있으신분도 계실거라 생각됩니다.

아는 분이 10만원 받은걸 보고 직접 찾아봤는데 무지 오래걸리네요;;ㅋ

 

참고로 교재구입 및 수강에 필요한 비용 저건

영수증이 따로 필요한걸로 알고있습니다.

 

@ 첨부파일 : (1)검정수수료 신청서, (2)국가기술자격법 시행규칙 별표5

 

@ 참고 사이트

  - 노동부 : http://www.molab.go.kr/

  - 고용지원센터 홈페이지 : http://jobcenter.work.go.kr/

'나의 경제' 카테고리의 다른 글

루프탄자 유럽까지 60만원 / 1인  (0) 2009.04.07
1천원짜리 SD 리더기  (0) 2009.04.07
책 값 절약하기  (0) 2007.10.07
잉글랜드 -ENGLAND ST GEORGE'S CROSS AIR FRESHENER  (0) 2006.08.30
마르쉐에서 싸게 먹기  (0) 2006.08.01
Posted by '김용환'
,

책 값 절약하기

나의 경제 2007. 10. 7. 20:36

요즘 인터넷 서점에서 할인 행사를 하고 있다.

인터넷 서점에 대한 가격 제한 법안이 통과됨에 따라 먼저 고객들에게 어필하는 마케팅을 동원하는 듯 하다.

 

특정 싸이트에 올린 내글...

==========================

 

안녕하세요.

 

책 주문과 관련해서 싸게 살 수 있는 방법이 있어서 알려드리고자 합니다.

 

인터넷 서점 행사가 있습니다.

참고하셔셔 좋은 책 저렴하게 구매하시면 될 듯 합니다.

 

새로운 도서 정가제 시행전에 먼저 고객을 모으려는 마케팅 전략인듯 합니다.

 

1. 반디앤 루이스 (인터넷 서점)

http://www.bandibook.com/ 

인터넷 서점 반디앤루니스에서 1만종의 도서에 대해 50%할인 행사를 진행 중입니다.

출간된 지 1년 이하인 책들은 10% 할인 + 적립금 40%,

그 이상인 책들은 40% 할인 + 10% 적립 형태로 할인해주고 있습니다.

대신 3만원이상 구매해야 배송비가 무료입니다.  

 

2. 모닝 365

기본 10~35% 할인 및 적립에 추가 권당 1천원 쿠폰, 신규가입시 천원 마일리지, 캐쉬백 2% 적립입니다.

캐시백으로 결제시 결제액의 10%를 재적립합니다.

 

배송이 느리다는 게 단점입니다.

 

Posted by '김용환'
,

 

리눅스는 디폴트로 파일 크기 제한이 있다.
2G를 넘어서면 문제가 생긴다. 아파치 로그가 2G가 넘지 않아야 하고, 로그파일이 2G가 넘어가지 않도록 이메일을 통해 alert mail을 보내곤 했었다. 그래서 파일 시스템과 관련된 공부의 필요성을 느꼈다.

 

알고보니.. 꼭 그런 거만 아니더라.

 

커널 2.6은 64비트로 블럭 디바이스를 처리하는 기능이 추가되어 2TB까지의 파일시스템을 지원하게 되었다

컴파일시 다음의 옵션을 쓰면 된다고 하더라..

 
-D_LARGEFILE64_SOURCE
-D_FILE_OFFSET_BITS=64
또는
-D_GNU_SOURCE

참고자료 : /usr/include/features.h

 

ext 파일시스템 자료는 다음의 링크를 참조하시라.

http://linux390.3atec.com/cgi/cvsweb/BiBle/4.1.3.1.txt?rev=1.6


이와 관련해서 재미있는 것을 하나 찾았는데. 바로 LFS라는 것이다.
Large File Support in Linux 라는 것인데, 파일 크기때문에 스트레스를 받는다면 이걸 쓰면 될 것 같다. x86에서도 잘 돌아간다니. 쓸만할 것 같다.
대용량 파일이 필요한 곳이 생기면 써봐야겠다.

http://www.suse.de/~aj/linux_lfs.html

 

의문이 드는 게 왜 2G라는 파일 제한이 있게 된 걸까? 라는 궁금증이 있었다.

자료를 찾던 중 다음의 블로거에서 좋은 정보를 얻었다.

출처 : http://monac.egloos.com/1227726

 리눅스에서는 fopen(), open()을 통해 열 수 있는 최대 파일 크기가 2GB이다.

파일 시스템은 2G 이상의 파일을 지원할 수 있지만 표준 함수들의 제약 때문에 2GB 이상의 파일에 접근하지 못하는 문제가 생기는 것이다.

그리고, 최대 파일 크기는 표준 함수가 아니라 각 운영체제에서 제공하는 확장 함수들이 있다면, 이들 함수를 사용하기 때문에 운영체제마다 최대 파일 크기는 달라진다고 할 수 있다

 

POSIX 표준 인가에 따르면 표준 파일 함수는 최대 2GB까지로 정의되어 있다고 알고 있다 (이 부분은 내가 확인해야 겠다.)

 

 

결국은 운영체제에서 지원하는 시스템을 사용하는 프로그래밍  api의 제한때문에 제대로 활용을 못하고 있었던거 같다...

 

흐흐~~

 

'unix and linux' 카테고리의 다른 글

zagent 좀비 프로세스.  (0) 2007.10.08
포트 충돌 (zagent)  (0) 2007.10.08
파일시스템 타입 보기  (0) 2007.10.05
스카시 디스크 장비 보기  (0) 2007.10.01
csh과 bash 차이. (변환 가이드)  (0) 2007.09.12
Posted by '김용환'
,

파일시스템을 알아보기 위한 명령어 df -T

 

  df -T
Filesystem    Type   1K-blocks      Used Available Use% Mounted on
/dev/sda1     ext3     5162796   2448548   2451992  50% /
/dev/sda3     ext3    10270304   7037752   2710844  73% /env
none         tmpfs      515124         0    515124   0% /dev/shm

Posted by '김용환'
,

 

 

1.     Commons-DBCP1.2.1대신 DBCP 1.2.2 즉시 사용이 가능합니다. (버그들이 수정된 버전)

2. 이를 의존하는 commons-pool 1.3으로 대신 사용하면 됩니다. (backward compatibility)

 

 

commons-dbcp : 1.2.2 사용시

commons-pool : 1.3

commons-collection : 3.1

, DBCP의존->POOL의존 (COLLECTION 의존안함!!) – 순수 자바에 의존

 

commons-dbcp : 1.2.1 사용시

commons-pool : 1.1

commons-collection : 3.1

, DBCP의존->POOL의존->COLLECTION의존

 

DBCP 1.2.2 버전은 순수하게 버그수정판입니다. 그래서 더욱 더 안정적인 버전입니다.

 

 

==== commons-dbcp

http://commons.apache.org/dbcp/changes-report.html

1.2.2  2007-04-04 This is a maintenance release containing bug fixes and enhancements. All API changes are binary compatible with version 1.2.1.

1.2.1  2004-06-12 Maintenance Release to restore JDK 1.3 compatibility

 

 

====  commons-pool

http://commons.apache.org/pool/downloads.html

Commons-pool 1.3 only depends at runtime on a Java 1.3 or better JVM.

Commons-pool 1.2 depends at runtime on commons-collections.

1.1 소스를 까보니, commons-collections 클래스를 참조하고 있었다.

 

'java core' 카테고리의 다른 글

jmx의 첫장  (0) 2007.11.13
자바 메모리와 모하드 디스크와의 관계  (0) 2007.10.19
jconsole 사용하기 (자바)  (0) 2007.10.01
jconsole 사용하기  (0) 2007.10.01
jconsole  (0) 2007.09.28
Posted by '김용환'
,

가로세로 세계사 1

이원복 지음
김영사 2006.04.24
평점

윌슨의 민족 자결주의는... 발칸반도를 위한 것이었다니..

 

너무 마음이 아팠다.

 

이원복 교수님 너무 감사해요...

 

 

이 포스트를.. 파일로 저장

'After reading book' 카테고리의 다른 글

처음부터 똑바로 말하라  (0) 2007.10.27
코칭의 힘  (0) 2007.10.27
첫 인상의 힘  (0) 2007.09.27
2인자 리더쉽  (0) 2007.09.27
용기  (0) 2007.09.27
Posted by '김용환'
,

IPTV의 큰 난관

Digital TV 2007. 10. 3. 03:48

 

방통특위, 기구개편 ‘잠정합의안’ 백지화

http://www.mediatoday.co.kr/news/articleView.html?idxno=61083

 

IPTV를 방송으로 정하면서 이미... 분쟁은 시작되었다고 본다..

끝없는 사업권 전쟁은 계속 되리라 생각된다.

 

 

 

방송 통신 사업자들의 정치적인 힘의 싸움때문에 쉽게 하나로 힘을 모으지 못한다.

지분 싸움과 힘 겨루기..

 

특히 방송 사업자들은 자신의 영역을 빼앗기지 않으려 하고,

통신 사업자들은 점차 방송을 통해 영역을 넓히려 하고 있다.

 

사실 그 안에 중요한 부분이 있다.

 

바로 10년동안 방송 광고시장의 수익 파이는 그대로다. 크게 변동이 없는 상태에서 통신사업자가 방송을 하려고 하니 방송사업자는 자신의 파이를 주기가 어려운 형태다. 여전히 방송 분야에서 주도권을 잡고 싶어하는데.

 

 

정부의 강력한 중재만이.. IPTV산업을 발달 시킬 것이다.

 

'Digital TV' 카테고리의 다른 글

모바일 iptv 기술 및 국내외 표준화 동향  (0) 2008.05.27
xbox 에 iptv  (0) 2008.05.08
LAN 관련 Spec  (0) 2006.04.10
Comparison of the DAB, DMB & DVB-H Systems  (0) 2006.04.01
DOCSIS 1.0 1.1 2.0  (0) 2006.02.11
Posted by '김용환'
,

아시모 (혼다)

Trend 2007. 10. 3. 03:42

 

 

아시모 동영상

 

http://www.youtube.com/watch?v=Q3C5sc8b3xM

 

아시모라는 로봇이 최근에 스페인에서 발표되었다.

 

YouTube - new version amazing robot asimo

Add Video to QuickList. CES 07: Honda Asimo Humanoid Robot ...
8분 -
www.youtube.com/watch?v=Q3C5sc8b3xM

 

asimo

3분 2초 -
video.google.com/

 

 

 

가장 놀랬만한 것은 뛰고 있을 때, 발이 땅에 닿지 않는 거다..

 

즉, 인간과 가장 흡사하게, 중심을 잡는 것.. 상당히 놀랬다.

데모 영상에 보듯이 간단한 정도의 물건 나르는 것은 잘하는 것 같은데

 

땅에 떨어진 것을 줍는 것은 좀 어려운 듯 하다..

 

대단한 혼다의 기술에 박수를 보낸다.

'Trend' 카테고리의 다른 글

소켓에서 읽을 데이터가 없습니다 라고 에러가 날때  (0) 2008.01.14
RewriteRule 만약 Request URI에 %가 있다면, 다음을 사용하자  (0) 2008.01.10
리딩업  (0) 2007.11.30
친절한  (0) 2007.11.27
울프팀 이야기  (0) 2007.10.24
Posted by '김용환'
,