[리눅스커널] 커널의 특정 함수 어셈 확인하기

리눅스 커널을 컴파일하게되면 System.map이라는 폴더가 나옵니다. 위 파일을 리눅스 커널에 들어 있는 심벌에 대한 정보를 담고있습니다. 한 예로 sys_sigreturn_wrapper라는 함수의 코드를 확인해볼려고합니다. sys_sigreturn_wrapper의 범위는 0x80101834~0x80101840까지입니다. 그러면 다음과 같은 커맨드를 입력해줍니다.

쿠버네티스 싱글 노드 설치

쿠버네티스 마스터 만들기 1.패키지 업데이트 2. 도커 설치 및 활성화 도커가 설치 되어있다면 이 과정 생략가능 3. Kubeadm 설치 3. 스압공간 제거 쿠버네티스는 스압공간을 사용하지못하도록 막아두어 이를 제거해줘야한다. 위 사진처럼 SWAP앞에 #을 적어 재부팅뒤에두 스압공간이 발생안하게 제거할수 있다. 4.Master 초기화 서브넷을 네트워크를 10.96.0.0/12 초기화 클러스터 서브넷을 10.244.0.0/16 초기화 위 커맨트 출력시 아래와 같은 화면이 출력된다. 위는 소개 더보기 쿠버네티스 싱글 노드 설치[…]

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

컴퓨터에는 운영모드에선 다양한 모드들이 존재합니다. 그중에서 리얼모드,보호모드,가상 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초가 걸리는 서비스라는 경우는 거의 없기 때문이다. 사실 1초도 길다고 소개 더보기 Mysql 문제되는 쿼리 찾기[…]

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

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

netdata 시스템 모니터링 툴

회사에서 기존 IDC에서 AWS로 단순히 옮기다 보니 여러이슈가 발생하였고 롤백을 한적이 있습니다. 롤백후 전과 같은 실수를 반복하기 싫어서 IDC에서 어느정도 트래픽이 왔다가는지 어느정도 요청이 들어오는지를 실시간으로 볼 필요가 있었습니다.  기존에는 Nagios로 알람을 munin으로 서비스 상황을 보았으나 툴이 여러개 있다보니 이를 통합할 필요가 있었고 실시간 모니터링이 힘든점,알람서비스를 커스텀마이징 하기힘든점이 있어 netdata라는 모니터링 도구를 발견하였습니다.  관련 사이트는 https://github.com/netdata/netdata입니다. 해당 소개 더보기 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기능을 켜주는 키워드이다. 1 2 Enable-WindowsOptionalFeature -Online -FeatureName 소개 더보기 Windows 10에 WSL을 이용하여 Linux 설치하기[…]

runtime: out of memory 에 대해

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