Go 프로세스 메모리 사용량 분석 (1부)

왜 이 문제를 파헤쳐야 할까? 인프라 제공자로서 우리 서비스가 얼마나 많은 메모리를 사용하는지, 왜 그만큼 사용하는지 명확히 설명할 수 있어야 한다. 클라우드 개발자라면 이 정도 문제는 당연히 이해하고 있어야 한다. § 0x01 범위 실용성을 고려하여 Linux X86 플랫폼만 다룬다. 메모리 페이지 크기는 4KiB이다. 목표: 대규모 Go 프로세스의 메모리 소비 지점을 명 ...

7월 7일 03:10에 게시됨

Go 프로세스 메모리 사용량 분석 (2)

가장 간단한 Go 프로그램 package main import ( "fmt" "time" ) func main() { fmt.Println("hello") for { time.Sleep(1 * time.Second) } } 디버깅 심볼을 제외한 바이너리 크기는 1,229,464 바이트 (약 1.2 MiB) 입니다. 컴파일된 바이너리를 readelf 도구로 확인해보면, Program Header에 3개의 로드 가능한 세그먼트가 있음을 알 수 있습니다. Program Hea ...

6월 4일 02:47에 게시됨

ECU 개발 과정에서의 HEX, A2L, CANape 파일의 관계 및 중요성

1. 배경: HEX, A2L, CANape 세 가지 요소의 상호 관계 먼저 세 가지 요소의 관계를 명확히 하겠습니다: 요소 의미 HEX 컴파일러가 출력하는 실행 가능한 이미지 파일로, 코드 섹션과 데이터 섹션을 포함합니다. ECU에 플래시되는 펌웨어입니다. A2L 캘리브레이션 및 측정 변수(Calibration, Measurement)가 ECU 메모리 내에서 주소, 타입, 스케일링, 범위 등 정보 ...

5월 31일 12:45에 게시됨

안드로이드 So 파일 보호 기법: 섹션 및 해시 기반 암호화

개요 안드로이드 앱의 네이티브 코드 보호를 위한 소 파일(소, .so) 강화 기술에 대해 다룹니다. 주로 두 가지 접근 방식을 탐구합니다: 특정 섹션 내 함수를 암호화하는 방법과 동적 심볼 테이블 기반으로 함수 위치를 찾아 암호화하는 방법입니다. 이러한 기법은 라이브러리 내 핵심 로직을 보호하고 역공학을 어렵게 만듭니다. 섹션 기반 암호화 암호화 원리: 사용 ...

5월 28일 22:46에 게시됨