본문 바로가기

분류 전체보기10

[Linux] 메모리 재할당 안녕하세요 오늘은 Linux 메모리 재할당과 관련하여 정리한 내용입니다. 해당 부분에 대해 잘 정리가 안되고 있던 분이 계시다면 제가 작성한 내용이 도움이 되었으면 좋겠습니다. 혹시 잘못된 내용이 발견되면 말씀해주세요! 1. 리눅스 커널의 메모리 재할당 커널은 기본적으로 메모리가 아무 데도 쓰이지 않고 노는 것을 싫어합니다. 그래서 프로세스에서 메모리를 사용하지 않는다고 한다면 커널은 메모리를 아래 그림처럼 cache 용도로 사용해 시스템 성능을 향상시킵니다. (보통 이 cache 영역은 page cache, dentry cache, inode cache 등이 사용합니다.) 이렇게 커널은 cache로 메모리를 활용하다가 프로세스가 메모리가 필요하다고 하면, cache 영역(주로 page cache)을 반.. 2022. 1. 10.
[Linux] TCP KeepAlive에 대한 고찰 지난 7월 XXXX 이벤트 때 저희 운영 Web 서버에서 연결 오류가 발생했습니다. Webtob / JEUS로 사용을 하는 서버였기 때문에 TMAX 엔지니어의 점검 후, 권고에 따라 OS Kernel의 TCP KeepAlive 설정 변경을 진행했습니다. 이와 관련해, Linux OS Kernel에는 TCP KeepAlive와 관련한 어떤 parameter가 있고 Web에서 설정하는 KeepAlive와는 어떤 차이점이 있는지 적어보았습니다. 1. KeepAlive를 왜 쓰지? 먼저 keepalive 기능에 대한 사용 목적입니다. 네트워크 통신에서 가장 기본이 되는 것은 TCP 3way-handshake 연결 방식입니다. 위 그림과 같이 Syn > Syn+Ack > Ack 과정을 통해 Client/Serve.. 2021. 12. 13.