개념 사전 · 프로그램

Linux

리눅스 · GNU/Linux

는 CPU·메모리·장치와 를 관리하는 운영체제 커널이며, 일상적으로는 이 커널을 포함한 도 라고 부른다. 셸·서비스 관리자·패키지 도구는 커널 위에서 실행되는 별도 프로그램이다.

밑줄 용어에 마우스를 올리거나, 키보드로 선택하거나, 터치하면 설명을 볼 수 있습니다.

01무엇이고, 어떤 일을 하나

  • 여러 에 CPU 시간과 를 나누어 제공한다.
  • 파일·소켓·장치 접근을 시스템 호출과 권한 판정으로 중재한다.
  • 은 커널과 도구를 ·패키지 정책으로 묶어 배포한다.

02어떤 순서로 동작하나

  1. 프로그램 시작

    셸이나 서비스 관리자가 실행 파일과 환경을 정하고 를 시작한다.

  2. 사용자 코드 실행

    는 자신의 가상 주소 공간에서 명령을 수행하고 필요한 자원 작업을 요청한다.

  3. 커널 진입

    파일 읽기나 소켓 통신은 시스템 호출을 거쳐 권한·파일 시스템·네트워크 계층에서 처리된다.

  4. 결과 전달

    커널이 자료 또는 오류를 돌려주면 프로그램이 다음 동작을 결정하며, 종료 뒤 부모가 종료 상태를 회수한다.

03먼저 알아둘 용어와 구성요소

라는 커널을 공통으로 사용해도 패키지 형식, 기본 경로, 서비스 이름, , 보안 정책은 배포판마다 다르다.
/etc/os-release의 ID는 식별자, ID_LIKE는 호환 계열, VERSION_ID는 릴리스를 뜻한다.
컨테이너에서는 이 여도 커널은 호스트의 것을 공유하므로 두 출력이 서로 다른 계열을 가리킬 수 있다.
와 는 메타데이터를 조회하고 의존 관계를 해결하여 여러 패키지를 하나의 설치 계획으로 묶는다.
실행할 외부 명령을 찾는 디렉터리 목록을 담은 환경 변수이다. 셸은 alias·함수·내장 명령·명령 캐시 등의 규칙도 적용하므로 만으로 모든 명령 해석을 설명하지 않는다.
동적 실행 파일은 가 필요한 를 찾은 뒤 실행을 이어 간다.
LEARN THROUGH PRACTICE

inxi의 메모리·Swap 요약을 커널 통계와 연결하기

설치 용량·커널이 이용할 용량·현재 사용량을 구별하고, Swap 사용량 0이 의미하는 범위를 확인한다.

실습 구성과 전제

  • 화면은 게스트의 이며 inxi 3.3.33 출력을 보여 준다.
  • inxi 요약 두 장은 서로 다른 시점이다. 작은 사용량 차이를 곧바로 누수나 성능 문제로 판정하지 않는다.
  1. 도구의 필드 정의부터 맞춘다

    • inxi의 total은 설치된 RAM 규모, available은 예약 영역 등을 뺀 커널 사용 가능 총량이다. free의 available이나 /proc/meminfo의 MemAvailable과 같은 뜻이 아니다.
    • 화면의 사용률은 inxi available을 기준으로 한다. 설치 용량 4 GiB를 분모로 임의 계산하면 표시값과 다를 수 있다.
    5/26 - php, mariaDB · 실습·개념 참고 화면 2원본 크기로 보기 ↗
    • Info Memory 행은 total 4 GiB, available 3.54 GiB, used 627.8 MiB (17.3%)다.
    • Swap 행에는 type partition, size 3.91 GiB, used 0 KiB와 /dev/dm-1이 보인다.
    확인 기준

    RAM 용량과 Swap 파티션 크기를 서로 다른 자원으로 기록한다.

  2. 한 시점의 사용량과 시간에 따른 압력을 분리한다

    • 다른 요약은 629.8 MiB/3.54 GiB와 17.4%를 보여 준다. ·캐시·관측 시각이 바뀌면 사용량도 변할 수 있다.
    • 누수나 압력 여부는 시간에 따른 추세, 점유, 회수·입출력 지표와 함께 판단한다. 단일 전체 사용률만으로 특정 가 원인이라고 할 수 없다.
    bash
    free -h
    vmstat 1 5
    cat /proc/meminfo

    현 환경에서 메모리 가용 추정치와 시간 구간별 활동을 비교하는 조회 예시다.

    5/26 - php, mariaDB · 실습·개념 참고 화면 1원본 크기로 보기 ↗
    • 간략 출력은 Mem 629.8 MiB/3.54 GiB (17.4%)로 표기된다.
    • Uptime과 프로세스 수가 상세 화면과 달라 같은 순간의 완전한 반복 측정으로 볼 수 없다.
    확인 기준

    vmstat 첫 줄과 후속 구간의 의미를 구분하고 si·so 및 실행 대기·I/O 지표를 함께 읽는다.

  3. Swap 0과 Swap 비활성을 구별한다

    • 사용량 0은 그때 Swap에 사용 중인 양이 없다는 뜻이다. 구성·활성화 여부는 활성 Swap 목록으로 별도 확인한다.
    • Swap 사용량이 존재하는 것만으로 현재 심한 스와핑이라고 할 수도 없다. 실제 swap-in/out 활동과 메모리 압력의 동시 관측이 필요하다.
    bash
    swapon --show
    cat /proc/swaps
    cat /proc/pressure/memory

    활성 Swap과 지원되는 커널의 메모리 압력을 읽는다. PSI 경로는 커널 설정에 따라 없을 수 있다.

    확인 기준

    활성 목록, 사용량, 구간별 입출력을 서로 다른 항목으로 기록한다. 캡처에는 Swap 변경·비활성화 결과가 없다.

실습에서 확인한 동작 원리

  • 같은 available이라는 이름도 도구에 따라 정의가 다르므로 필드의 분모와 단위를 확인한다.
  • ·현재 RAM 점유·Swap 구성·현재 은 구별해서 관측한다.
관련 개념·전체 실습 화면 이어서 읽기 →
동작·명령 참고 문서

04예제로 따라가기

  • 의 /etc/os-release는 을, uname -r은 현재 실행 중인 커널을 설명하므로 두 버전 숫자가 같을 필요가 없다.
  • 컨테이너 안의 파일이 여도 실제 시스템 호출을 처리하는 커널은 호스트의 커널이다.
  • 같은 명령 이름이 /usr/local/bin과 /usr/bin에 있으면 순서에 따라 실행 대상이 달라져 설치 패키지 버전과 출력 버전이 다를 수 있다.

05혼동하기 쉬운 점과 확인 기준

  • 디스크 파일이 교체돼도 장기 실행 가 이전 실행 파일·라이브러리 매핑을 보유할 수 있다. 새 셸에서 --version을 한 번 실행한 결과로 기존 서비스를 대표하지 않는다.
  • 은 수정 사항을 이전 upstream 버전에 backport할 수 있다. 버전 숫자만 비교하기보다 패키지 release·보안 공지와 적용 거래를 대조한다.

06상세 노트 · 실습 자료

헤더 구조, 설정 예시, 수치 계산과 수업 캡처는 아래 노트에서 이어집니다.

공식 문서 · 표준

기초 개념과 동작 설명을 대조한 자료입니다. 제품 버전과 실제 설정에 따른 차이는 본문 및 원문에서 확인하세요.