LabHub
배우기 러닝패스 코스

연결 하나가 느려지자 나머지가 전부 멈췄다 · 이 방식이 무너지는 자리 · 퀴즈

퀴즈: 이 방식이 무너지는 자리

LabHub 에서 이어서 보기

문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.

  1. RLIMIT_NOFILE 이 뜻하는 값은?

    1. 한 호스트가 열 수 있는 소켓의 총합
    2. 한 프로세스가 만들 수 있는 스레드 수
    3. 열 수 있는 가장 큰 서술자 번호보다 1 큰 값
    4. 커널이 한 번에 통지하는 이벤트 수
  2. 연결 200개를 붙인 서버의 서술자 수가 200보다 큰 이유는?

    1. 커널이 연결마다 예비 서술자를 하나씩 더 만들어서
    2. 표준 입출력과 듣는 소켓, 다중화 객체가 함께 세어져서
    3. 연결 하나가 송신용과 수신용 서술자를 따로 써서
    4. 닫힌 연결의 서술자가 잠시 남아 있어서
  3. 서술자 상한을 크게 올려도 select 로는 넘을 수 없는 것은?

    1. 1024 보다 큰 번호의 서술자를 지켜보는 일
    2. 한 번에 여러 연결을 받아들이는 일
    3. 논블로킹 소켓을 등록하는 일
    4. 읽기와 쓰기를 함께 지켜보는 일
  4. tcp(7) 이 적어 둔 소켓 버퍼 크기의 성질은?

    1. 설정한 값과 조회한 값이 항상 같다
    2. 버퍼 크기는 연결 수와 무관하게 고정된다
    3. TCP 가 요청한 크기의 두 배를 할당해 관리용으로 쓴다
    4. 소켓별 설정은 listen 이후에만 적용된다
  5. 서술자와 메모리는 남았는데 지연만 늘어나는 상황의 원인은?

    1. 이벤트 루프가 코어 하나를 다 썼기 때문
    2. 듣기 큐가 가득 찼기 때문
    3. 유휴 제한이 너무 길기 때문
    4. 준비 통지가 레벨 트리거이기 때문
  6. 연결당 커널 메모리 문제가 늦게 발견되는 이유는?

    1. 연결 수 그래프가 그 값을 대신 보여 주기 때문에
    2. 커널이 부족해지면 미리 경고를 보내기 때문에
    3. 소켓 버퍼는 연결이 끊길 때만 할당되기 때문에
    4. 언어 런타임의 메모리 지표에 잘 나타나지 않아서