DevOps와 SE를 위한 리눅스 커널 이야기 단단한 서버 구축을 위한 12가지 키워드

DevOps와 SE를 위한 리눅스 커널 이야기 단단한 서버 구축을 위한 12가지 키워드

$25.00
Description
커널은 오랜 세월 기능이 추가되고 개선되어 오면서 완벽하게 이해하기 힘들 정도로 방대해졌다. 하지만 변하지 않는 기본 기능들이 있다. 이런 근간이 되는 기능에 대한 이해를 바탕으로 시스템의 문제를 파악하고 해결하는 것이 시스템 엔지니어링의 기본이라 할 수 있다. 『리눅스 커널 이야기』는 리눅스 서버를 관리할 때 만날 수 있는 문제점들과 이를 해결하는 방법을 제시하고 있다. 저자는 현업에서 경험한 다양한 상황과 문제를 바탕으로 하드웨어 정보를 알아내는 데 유용한 명령어, 정보를 해석하는 방법, 애플리케이션 테스트와 튜닝까지 실무에서 궁금할 법한 내용을 설명한다.

저자

강진우

강진우는글쓰기를좋아하고새로운기술익히는것을좋아하는,아직도갈길이먼시스템엔지니어다.NBP를거쳐현재는카카오에서시스템엔지니어로근무하고있다.브런치를통해서사람들과지식공유하는것을즐긴다.
https://brunch.co.kr/@alden

목차

1장시스템구성정보확인하기
1.1커널정보확인하기
1.2CPU정보확인하기
1.3메모리정보확인하기
1.4디스크정보확인하기
1.5네트워크정보확인하기
1.6요약
2장top을통해살펴보는프로세스정보들
2.1시스템의상태살피기
2.2VIRT,RES,SHR..?
2.3VIRT와RES그리고MemoryCommit의개념
2.4프로세스의상태보기
2.5프로세스의우선순위
2.6요약
3장LoadAverage와시스템부하
3.1LoadAverage의정의
3.2LoadAverage계산과정
3.3CPUBoundvsI/OBound
3.4vmstat으로부하의정체확인하기
3.5LoadAverage가시스템에끼치는영향
3.6CaseStudy-OS버전과LoadAverage
3.7요약
4장free명령이숨기고있는것들
4.1메모리사용량확인하기
4.2buffers와cached영역
4.3/proc/meminfo읽기
4.4slab메모리영역
4.5CaseStudy-Slab메모리누수
4.6요약
5장swap,메모리증설의포인트
5.1swap영역
5.2버디시스템
5.3메모리재할당과정
5.4vm.swappiness와vm.vfs_cache_pressure
5.5메모리증설의포인트
5.6CaseStudy-gdb를이용해서메모리누수잡기
5.7요약
6장NUMA,메모리관리의새로운세계
6.1NUMA아키텍처
6.2리눅스에서의NUMA확인
6.3메모리할당정책별특징
6.4numad를이용한메모리할당관리
6.5vm.zone_reclaim_mode커널파라미터
6.6NUMA아키텍처의메모리할당정책과워크로드
6.7요약
7장TIME_WAIT소켓이서비스에미치는영향
7.1TCP통신과정
7.2TIME_WAIT소켓의문제점
7.3클라이언트에서의TIME_WAIT
7.4net.ipv4.tcp_tw_reuse
7.5ConnectionPool방식사용하기
7.6서버입장에서의TIME_WAIT소켓
7.7net.ipv4.tcp_tw_recycle
7.8keepalive사용하기
7.9TIME_WAIT상태의존재이유
7.10CaseStudy-nginxupstream에서발생하는TIME_WAIT
7.11요약
8장TCPKeepalive를이용한세션유지
8.1TCPKeepalive란
8.2TCPKeepalive의파라미터들
8.3TCPKeepalive와좀비커넥션
8.4TCPKeepalive와HTTPKeepalive
8.5CaseStudy-MQ서버와로드밸런서
8.6요약
9장TCP재전송과타임아웃
9.1TCP재전송과RTO
9.2재전송을결정하는커널파라미터
9.3재전송추적하기
9.4RTO_MIN값변경하기
9.5애플리케이션타임아웃
9.6요약
10장dirtypage가I/O에끼치는영향
10.1dirtypage란
10.2dirtypage관련커널파라미터
10.3백그라운드동기화
10.4dirtypage설정과I/O패턴
10.5요약
11장I/O작업이지나가는관문,I/O스케줄러
11.1I/O스케줄러의필요성
11.2I/O스케줄러설정
11.3cfqI/O스케줄러
11.4deadlineI/O스케줄러
11.5noopI/O스케줄러
11.6cfq와deadline의성능테스트
11.7I/O워크로드살펴보기
11.8요약
12장애플리케이션성능측정과튜닝
12.1애플리케이션만들기
12.2성능테스트시작
12.3CPU성능최적화하기
12.4.네트워크소켓최적화하기
12.5nginx를통해reverseproxy설정하기
12.6.요약
AppendixA커널디버깅을위한커널컴파일
A.1커널소스컴파일하기
A.2printk()함수추가하기
A.3printk()함수로LoadAverage계산과정살펴보기
A.4요약
AppendixBstrace를통한애플리케이션분석
B.1strace의기본사용법
B.2hostname명령분석하기
B.3요약
AppendixCtcpdump와와이어샤크를통한TCP패킷분석
C.1tcpdump의사용법
C.2와이어샤크사용법
C.3요약

출판사 서평

[이책에서다루는내용들]
시스템구성정보확인하기
top명령으로프로세스정보확인하기
LoadAverage로시스템부하확인하기
swap과메모리증설의연관관계
NUMA아키텍처와메모리관리
TCPKeepalive로종단간연결유지하기
TIME_WAIT소켓이서비스에미치는영향
[추천의글]
실무에서궁금해하는내용을쉽게정리한책
실무에서항상궁금했지만찾기어려운정보를쉽게정리해주는책입니다.교과서에나오는내용이아닌실무를하면서찾아낸방법이기때문에더욱마음에...
[이책에서다루는내용들]
시스템구성정보확인하기
top명령으로프로세스정보확인하기
LoadAverage로시스템부하확인하기
swap과메모리증설의연관관계
NUMA아키텍처와메모리관리
TCPKeepalive로종단간연결유지하기
TIME_WAIT소켓이서비스에미치는영향
[추천의글]
실무에서궁금해하는내용을쉽게정리한책
실무에서항상궁금했지만찾기어려운정보를쉽게정리해주는책입니다.교과서에나오는내용이아닌실무를하면서찾아낸방법이기때문에더욱마음에와닿는것같습니다.또한,문제해결방법을같이살펴보기때문에이를통해서독자스스로자신의역량을강화하는데큰도움이될것으로생각합니다.리눅스시스템을운영하는시스템엔지니어나데브옵스(DevOps)라면이정도깊이까지이해하는것을목표로했을때큰도움이될것입니다.
-고우찬(카카오인프라&데이터플랫폼팀팀장)
대규모서비스를시스템엔지니어의시각에서보여주는책
실제로서비스의문제를잘해결하기위해서는두SE의시각이필요합니다.보통서비스를개발하고운영하는소프트웨어엔지니어의시각과,시스템적인부분의운영을다루는시스템엔지니어의시각입니다.문제가발생하면코드의이슈에집중하는소프트웨어엔지니어와달리시스템엔지니어는시스템의설정부터네트워크환경등,코드가아닌해당시스템에대한시각으로문제에접근합니다.실제서비스를운영하게되면두가지중어느하나의시각이덜중요한케이스는없습니다.대규모서비스에서시스템엔지니어는어떻게사고하는지,어떤정보를봐야하는지알고싶으신분들은꼭읽어보시길바랍니다.
-강대명(유데미데이터엔지니어,오픈소스컨트리뷰터)