리얼모드의 메모리 관리방식

컴퓨터에는 운영모드에선 다양한 모드들이 존재합니다. 그중에서 리얼모드,보호모드,가상 8086모드등이 있지만 리얼모드의 메모리 관리방식에 대해서만 이야기 하겠습니다. 해당 모드의 레지스터 크기는 2바이트(2^16) 밖에 사용할수가 없습니다. 하지만 이상하게 느끼겟지만 리얼모드는 세그먼테이션은 1메가를 사용할수 있습니다. 이는 숫치상을 표기하면 2^20입니다. 그러면 리얼모드에서는 어떻게 이를 접근할수 있을까요 ? 바로 세그먼트의 도움을 빌리는거입니다. 자세하게는 세그먼트 레지스터의 값과 더보기…

Mysql 문제되는 쿼리 찾기

이 글은 Mysql의 튜닝과는 무관한 글이고 소프트웨어적으로 느린 포인트를 알기 위해 적는 글이다. DB의 특정쿼리가 느려 소프트웨어가 느려지는 경우가 많다. 이를 slow_query라고 하며 mysql에서는 이를 찾아내주는 여러 방법이 있다. 대표적으로 slow_query_log이고 slow_query의 기준을 정해주는 long_query_time이다. long_query_time 기본값은 10초로 되어있지만 이를 2초로 해주시기 바랍니다. 그 이유는 10초가 걸리는 서비스라는 경우는 거의 더보기…

Nas에 적합한 파일 클라우드 filebrowser

Nas를 구축하다가 파일은 어떤 클라우드로 쓸까 고민을 많이 했습니다. 그 이유는 owncloud,seafile,nextcloud 등 다양한 스토리지 클라우드가 있지만 해당 제품들은 저랑 안맞는다는 느낌을 많이 받았습니다. 그 이유는 해당제품들은 말그대로 클라우드를 이며 저처럼 라이트한 유저인경우 너무 많은 기능이 들어가서 입니다. 그렇게 찾은게 caddy쪽 웹서버에 있던 filebrowser였습니다 DB는 sqllite을 사용해서 별도의 mysql을 설치안하고 더보기…

netdata 시스템 모니터링 툴

회사에서 기존 IDC에서 AWS로 단순히 옮기다 보니 여러이슈가 발생하였고 롤백을 한적이 있습니다. 롤백후 전과 같은 실수를 반복하기 싫어서 IDC에서 어느정도 트래픽이 왔다가는지 어느정도 요청이 들어오는지를 실시간으로 볼 필요가 있었습니다.  기존에는 Nagios로 알람을 munin으로 서비스 상황을 보았으나 툴이 여러개 있다보니 이를 통합할 필요가 있었고 실시간 모니터링이 힘든점,알람서비스를 커스텀마이징 하기힘든점이 있어 netdata라는 모니터링 더보기…

메일의 통신과정과 헤더분석

작년쯤에 저희 사내 메일이 스팸메일로 빠지는 문제가 발생하여 이를 해결할려고 메일 헤더를 분석을 하였다. 메일의 통신과정에는 필요한거는 다음과 같다. (MUA,MDA,MTA)가 있고 전체적인 프로세스는 다음과같다. 앞서 말하기전에 약간의 팁인데 헤더는 뒤에서 앞으로 읽어야한다. 왜냐하면 메일을 다른 서버나 프로그램에 전달할때 마다 앞에 쌓이기때문에 결과적으로 맨처음의 부분을 볼려면 앞에서 부터 봐야한다. MUA는 우리가 더보기…

Windows 10에 WSL을 이용하여 Linux 설치하기

마이크로소프트 덕분에 WIndows 10부터 Linux를 정식 설치할수 있게 되었다. 이를 WSL(windows subsystem for linux)이라고 한다. WSL은 리눅스를 그냥 일반 프로세스처럼 돌아가게 된다. 그래서 vm(가상머신에 비해 매우 빠르다.) 아쉽게도 32비트는 설치가 안되고 64비트에만 설치가 가능하다. 설치 방법은 다음과 같다. 1.PowerShell이나 cmd를 관리자로 키고 다음과 같이 켜준다. 아래 커맨드는 WSL기능을 켜주는 키워드이다. 더보기…

runtime: out of memory 에 대해

최근 오픈카톡방에서 있었던 일이 생각나서 해당글을 올린다.   프로그램을 돌리는데 runtime: out of memory 같은 에러가 출력이 된다는 점이다. 이거를 보고 딱 가상메모리 부족이거나 OS가 32비트문제라고 생각했다. 현대의 OS에서는 프로세스을 메모리를 올릴때 가상메모리 형태로 올린다. 가상메모리의 장점으로는 프로그램마다 논리적으로 독립적인 메모리영역을 가진다는 점이다. 또한 현재 메모리가 4gb여도 프로세스는 총 10기가가 넘어도 더보기…

글쓴이 kudwafter,

올바른 로그 삭제법

최근 서버의 용량이 부족해서 긴급하게 로그를 rm명령어로 삭제하였는데 용량이 삭제한 만큼 확보가 안되고 있었다. 또한 로그파일이 생성이 안된다. 결과적으로 확보도 안되고 로그의 데이터도 쌓이지 않게된다. 원인을 알아보니까 프로세스가 해당 파일의 핸들러를 계속 잡고 있어서 발생하는 문제이다. 시스템 로그인경우 재부팅 말고 없지만 demon 프로세스인경우 아래처럼 lsof 명령어로 해당 demon을 찾고  재시작만 더보기…

리눅스에서 Redis 서버 설치하기

현재 개발하고 있는 게임 프레임워크에 NoSQL 라이브러리를 넣어보고 싶어 여러 NoSQL중 Redis를 선택했다.  설치할 서버는 현재 워드프레스 설치된 이 서버이다. 해당 서버는 아래에 보다싶이 In-memory-Database를 돌리기에는 매우 사양이 나쁘지만 장난감용으로 설치 하는데는 아무런 문제가 없다.   설치하는 방법에는 공식홈페이지에 나와있듯이 make하는 방식도 있는데 이 방법은 추후 관리가 힘들어 패키지 매니저로 설치한다.   더보기…

Nginx 웹서버 http을 https redirect 하기

유저가 Http로 접근시 301에러로 https로 바꾸어줄수 있다. 1 2 3 4 5 6 server {         listen 80 default_server;         listen [::]:80 default_server;         server_name kudwafter.moe;         return 301 https://$server_name$request_uri; } Colored by Color Scripter cs nginx 설정은 위와같이 만들어주고 웹서버를 재시작해준다. 위에 설정파일은 kudwafter.moe로 들어오는 80번 폰트는 301에러를 주어 https로바꾸어주는 작업을 하는것이다. 301에러는 해당 URL은 이미 없어졌고 다른 URL(https)이 생겼다는 거를 더보기…

글쓴이 kudwafter,