커널 파라미터
-
Linux Dirty page가 I/O에 미치는 영향커널(Kernel) 2022. 12. 19. 00:26
환경 정보 OS: ubuntu18.04 Dirty page 커널은 page cache를 이용해서 디스크의 정보를 메모리에 잠시 저장하고, 필요할 때마다 메모리에 접근하여 속도를 향상시킬 수 있다. 이때 디스크에 쓰기 작업이 필요한 경우, 디스크에 직접 쓰지 않고 만들어놓은 페이지 캐시에 쓰는데 이렇게 write가 일어난 페이지를 dirty page라 한다. dirty page가 최종적으로 저장되기 위해서는 더티 페이지가 발생한 메모리 영역은 디스크에 동기화되어야 한다. 보통은 커널 스레드가 flush를 하여 더티 페이지를 디스크에 동기화하며, I/O가 많이 발생하는 서버는 더티 페이지가 언제 얼마나 동기화되느냐가 성능 튜닝의 중요한 요소가 된다. Dirty page 커널 파라미터 sysctl -a | g..
-
Linux TCP 재전송과 타임 아웃커널(Kernel) 2022. 12. 18. 00:54
환경 정보 OS: ubuntu18.04 TCP 재전송 TCP는 신뢰성 있는 연결이기 때문에 데이터를 확실하게 주고받아야 한다. sender은 receiver에게 요청을 보낸 후 receiver으로부터 ACK를 기다리는데, ACK를 받지 못하게 된다면 패킷이 중간에 손실되었다고 판단하고 요청을 재전송한다. 이렇게 요청을 재전송하는 것을 TCP 재전송이라 한다. RTO(Retransmission timeout) RTO는 재전송을 하기까지 ACK를 얼마나 기다려야 하는지를 나타내는 값이다. sender는 RTO안에 ACK를 받지 못하면 재전송을 한다. 그리고 RTO에는 일반적인 RTO와 Init RTO가 있는데 일반적인 RTO는 RTT(Round Trip Time)를 기준으로 결정된다. 예를 들어, RTT가 ..
-
Linux Swap 영역 정리커널(Kernel) 2022. 12. 4. 20:50
환경 정보 OS: ubuntu18.04 K8S를 사용 중인 환경이지만 swapon 환경이다. Swap 영역 swap 영역은 물리 메모리가 부족할 경우를 대비해서 만들어놓은 비상용 공간이다. 디스크의 일부를 사용하기 때문에 물리 메모리에 비해 접근과 처리속도가 떨어지므로 시스템 성능 저하를 일으킨다. free 커맨드를 통해서 메모리 영역과 swap 영역을 함께 확인할 수 있다. 현재 2GB의 스왑 영역을 확보하고 있으며, 전혀 사용하고 있지 않다. 스왑 영역을 사용하고 있다면 메모리와 관련해서 시스템에 문제가 있을 수 있다는 의미이다. 따라서 스왑 영역을 사용하고 있는 프로세스를 확인해볼 필요가 있다. 서비스 용도가 아닌 관리 용도의 프로세스에서 메모리 누수가 있어, 스왑 영역을 사용하게 되었을 수도 있기..