서버를 만들고, 여러 테스트하는 것 중에 영구 접속이 끊어지는 상황을 재현하는 것은 쉽지 않을 수 있다. 디버거를 이용하여 간단히 종료시켜 보는 법을 알아 본다. python으로 돌고 있는 데몬(pid 11688)이 있다고 하고, 데몬의 DB 접속은 영구 접속에 해당하는데, 이 접속을 강제로 종료시키는 것을 가정한다. $ lsof -n -p 11688 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME python 11688 pynoos cwd DIR 202,3 80 1636949 /misc/django_projects/app/broadcast python 11688 pynoos rtd DIR 202,3 4096 128 / python 11688 pynoos txt..
django로 만든 웹 서버가 메모리 릭이 있는 것 같아서, 임시로 클라이언트 요청 수에 제한을 걸고 새로 실행되도록 설정했다. 임시가 길어져 1년이 돼가는 동안 잊고 있다가 개발자의 자존심을 건드는 설정인지라 다시 봐야했다. 이 글은 메모리 릭을 잡았다는 것이 아니다. 서버들 중 적당히 스왑을 사용하고 있는 녀석을 골라서 들어갔다. gunicorn 들 중에 제일 pid가 큰 것을 골라낸 후, 해당 PID 에 strace 를 걸어서 GET/POST와 URL PATH에 해당하는 것만 출력하도록 awk 파이프 질을 했다. 동시에 "ps -efl" 로 해당 PID만 골라낸 다음 awk로 적당히 메모리 사용량 부분만 출력한다. 대략 512 개의 요청만 하면 사라지는 gunicorn의 PID이므로, 위 두 작업을..
늪, 사람은 뭔가에 빠지기 마련이다. 하다 못해 게으름에 빠지기도 한다. 그 순간조차 그 상태를 유지하고 싶다. 너무 오래 머물면 안될 것을 알면서도 계속 유지하다가 적응하게 된다. 늪을 나오기 위해, 용기란 것이 가끔 필요한 것임에도, 그 생각이 드는 순간조차 그 속에서 뭔가 더 할 수 있을 것 같은 생각이 동시에 든다. 이것은 늪 속에서 주기적으로 엄습하는 목소리와의 결말 없는 전쟁같은 것이다. 늪, 이 점성 고형물이 꿀인지 진흙인지는 상관이 없다. 결국엔 그것외엔 할 수 없는 것이 그 안에서 사는 모습이다. 새로운 것을 추구하자, 죽기 전에 꼭 해야할 일을 시작하자, 돈을 많이 벌어야지 하고 싶은 것만 할 수 없지 않느냐. 이런 고민은 30대에 끝날 줄 알았지만, 지금보니 늙어서 죽는다고 해도 계속..
상민과 나의 밥집 평가에 대한 CORRELATION 이 -0.8527이 나온다. -1에 가까우므로 반대 방향의 데이터가 예상된다, 즉 취향이 반대라는 얘기인데, 점수 메긴 숫자로 보면 취향이 반대 같아 보이진 않는다. 내가 평가안한 것(빈칸)에 대해서는 CORREL 함수가 제외하고 계산하는 것은 분명하다. 그리고 내가 평가한 것이 6개 이므로 자유도 5로 계산했을 때 수작업으로 계산해도 같은 값이 나온다.(당연하지 컴퓨터인데) 뭔가, 상관계수로 취향을 분석하는 것은 저렇게만하면 안될것 같다. 당연하지..모두 식당평가를 같은 4점, 3.9점을 주었고 나머지 둘이 달랐으니, 이 들을 관통하는그래프가 예상 밖이 되는데.. 아.. 이런 멍청한.
Network Card의 PPS를 측정하는 아주 간단한 스크립트 linux, NIC eth0 의 PPS를 1초마다 측정한다고 가정하면, #!/bin/bash while true do echo $(cat /sys/class/net/eth0/statistics/tx_packets) $(cat /sys/class/net/eth0/statistics/rx_packets) sleep 1 done | awk '{DT=$1-TPREV; DR=$2-RPREV; if(TPREV) print strftime("%Y-%m-%d %H:%M:%S", systime()), "TX:", DT, "RX:", DR; TPREV=$1; RPREV=$2; }'
HHI 지수를 조금 체감하기 위해 숫자놀이를 해보자면, 일단, HHI 란 퍼센트로 표현한 점유율의 제곱 합 이다. 1개의 회사가 전 시장을 다 장악하는 경우 100% 이므로, 제곱합은 그저 100의 제곱인 100000 이다. 이값이 HHI의 최대값을 나타낸다. 2개의 회사가 시장을 반씩 양분하고 있는경우 50%의 제곱합이므로 2500 * 2 = 5000 5개의 회사가 시장을 5등분하고 있는 경우 20%의 제곱합이므로 400 * 5 = 2000 10개의 회사가 시장을 10등분하고 있는 경우 10%의 제곱합이므로 100 * 10 = 1000 어떤 산업이 1000~2000 정도의 HHI 지수를 가지고 있다는 것의 예는 이렇다. 어떤 회사의 최대 점유율이 20% 인 산업군을 하나 만든다면, 20%, 20%, 2..
이 GS(링크)를 끌어다가 즐겨찾기에 떨어 뜨려 저장 후, 구글 검색 결과 창에서 누르면 주소를 정리해주는 북마클릿이다. 해당 내용은 아래와 같다. 만약 링크가 나오지 않는다면, 아무 북마크나 만들고 아래 내용으로 주소를 복사/붙여넣기를 하여 만든다. javascript:location.href=location.href.split('?').map(x=>x.split('&').filter(a=>a.startsWith('http')||(['q','hl','tbm','start'].indexOf(a.split('=')[0])!=-1))).map(b=>b.join('&')).filter( a => a).join('?') 구글 검색을 한 다음 나오는 페이지를 공유하고 싶으나, 그 URL에는 불필요한 정보가 실려 ..
지극히 사소한 개인 로그라서, 읽지 마시기를 권함. 집안 청소를 대략 두 달에 걸쳐 했다. 지난 8월 15일 전후로 아내의 휴가에 맞춰서, 여행 갈 일도 없는 코로나 시국에서 집 방 바꾸기나 해보자고 시작한 것이, 얼추 끝나는 것은 한 달이 걸렸으며, 그 한 달 이후로 꾸준히 뭔가를 바꾸고 있다. 첫째가 쓰던 방을 내가 쓰고, 둘째가 쓰던 방을 아내가 쓰고, 큰 방은 둘째에게 줬다. 그리고 학교앞에서 자취하는 첫째는 가끔 오면 적당히 잔다. 10수 년 전 동네 도서 대여점이 문을 닫을 때 우연히 지나가다가 책장을 헐값에 수거해 왔고(17개), 집안 곳곳에 배치를 해뒀으나, 집정리가 끝난 지금 7개를 대형폐기물 업체에 넘겼다. 수거해 온 이후 몇 년 전 2개는 버렸기 때문에, 집에는 8개가 남아 있다. 첫..
- Total
- Today
- Yesterday
- Linux
- 수선화
- 대화
- 클레로덴드럼
- SSO
- writely
- 벤자민
- 식물
- perl
- 덴드롱
- OpenID
- 오픈소스
- Subversion
- Tattertools plugin
- BlogAPI
- MySQL
- VIM
- 킹벤자민
- nodejs
- TCP/IP
- JavaScript
- tattertools
- url
- 퀴즈
- 커피
- macosx
- 디버깅
- SVN
- 구근
- ssh
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |